Tip #1404: App secrets that last longer than 2 years

Pyramids Gardens, Al Haram, Egypt

Using service principals is the great way to ensure that Dataverse connections in your Power Automate flows are not user-dependent and nothing is going to break when the original creator’s account gets disabled. These are good step-by-step instructions: How to setup a Common Data Service Application User (and why) (I’ll give Nick Doelman a separate […]

Tip #1170: Turn on soft delete in Azure Blob

Soft feathers

If you extract your Dynamics 365 attachments to Azure Blob, you need to plan for disaster recovery. What if something happens and your attachments are accidentally deleted? Azure Blob now supports Soft Delete. When enabled, deleted data can be retained and restored for up to 365 days.This feature is off by default. Without soft delete, […]

Tip #1145: Tracing in Azure Functions MkIII

Tracing

This never ends. Shortly after I finished writing about tracing in Azure Functions, I found Daryl “Always Raising” LaBar explaining how to use ExtendedOrganizationService wrapper to easily capture everything in your plugin: Wouldn’t it be nice for debugging if your plugins automatically traced every IOrganzationService Request, along with the parameters and the time that it […]

Tip #1142: Tracing in Azure Functions MkII

Trace the numbers

When describing tracing  in Azure Functions previously, I dropped almost in passing that to capture .NET traces in Azure Functions is easy – just create your own TraceListener. I also added that the code takes a shortcut with log.Info and requires a bit of tuning like mapping logging levels from Connector to TraceWriter but those […]