Write batch size, data integration unit, and degree of copy parallelism in Azure Data Factory for Dynamics CRM / 365 Dataset


Let us take a simple example where we are moving contact records (.CSV) stored in Azure File Share to Dataverse or Dynamics 365 (UPSERT).

CSV file has 50000 sample contact records (generated using https://extendsclass.com/csv-generator.html) stored in Azure File Storage.

Another option of generating sample data

https://nishantrana.me/2020/05/26/using-data-spawner-component-ssis-to-generate-sample-data-in-dynamics-365/

The Source in our Data Factory pipeline.

The Sink is our Dynamics 365 / Dataverse sandbox environment, here we are using the Upsert write behavior.

For the Sink, the default Write batch size is 10.

Max concurrent connections specify the upper limit of concurrent connections that can be specified.

Below is our Mapping configuration

The Settings tab for the pipeline, allows us to specify,

Data Integration Unit specifies is the powerfulness of the copy execution.

Degree of copy parallelism specifies the parallel thread to be used.

Let us run the pipeline with the default values.

  • Write Batch Size (Sink) – 10
  • Degree of copy parallelism – 10
  • Data integration unit – Auto (4)

The results à It took around 58 minutes to create 50K contact records.

We then ran the pipeline few more times by specifying the different batch sizes and degree of copy parallelism.

We kept Max concurrent connections as blank and Data Integration Unit as Auto. (during our testing even if we are setting it to higher values, the used DIUs value as always 4)

Below are the results we got à

Write Batch Size Degree of copy parallelism Data Integration Unit (Auto) Total Time (Minutes)
100 8 4 35
100 16 4 29
1000 32 4 35
       
250 8 4 35
250 16 4 25
250 32 4 55
       
500 8 4 38
500 16 4 29
500 32 4 28
       
750 8 4 37
750 16 4 25
750 32 4 17
       
999 8 4 36
999 16 4 30
999 32 4 20

The results show that increasing the batch size and degree of copy parallelism improves the performance in our scenario.

Ideally, we should run a few tests with different combinations before settling for a specific configuration as it could vary.

On trying to set the batch size to more than 1000,

We would get the below error à
ExecuteMultiple Request batch size exeeds the maximum batch size allowed.

Also refer –

Optimizing Data Migrationhttps://community.dynamics.com/crm/b/crminthefield/posts/optimizing-data-migration-integration-with-power-platform

Using Data Factory with Dynamics 365https://nishantrana.me/2020/10/21/posts-on-azure-data-factory/

Optimum batch size with SSIShttps://nishantrana.me/2018/06/04/optimum-batch-size-while-using-ssis-integration-toolkit-for-microsoft-dynamics-365/

Hope it helps..

Advertisements

Now Maximum of 10 alternate keys can be defined for an entity/table – 2021 Release Wave 1 – Dynamics 365


Previously, a maximum of 5 alternate keys could be defined for an entity.

https://docs.microsoft.com/en-us/dynamics365/customerengagement/on-premises/developer/define-alternate-keys-entity#create-alternate-keys

With 2021 Release Wave 1, the limit has been increased to 10.

https://docs.microsoft.com/en-us/power-platform-release-plan/2021wave1/data-platform/increased-alternate-key-limits

While trying to create the 11th key we will get the below error message as shown below

The table could not be updated: Maximum 10 EntityKeys are supported per Entity.

Check other posts on 2021 Release Wave 1  –

Blog posts on 2021 Release Wave 1 – Dynamics 365

Hope it helps..

Advertisements
Advertisements

How to – Show/ Hide header and ribbon menu dynamically on Dynamics 365/ Model Driven App forms


by Debajit Dutta (MVP – Business Solutions) https://debajmecrm.com/

Advertisements

In-app or Push notification – Model-driven App – 2021 Release Wave 1 Power Apps / Dynamics 365


With 2021 Release Wave 1, the in-app notifications feature has been added to the Model-driven app, earlier it was only available for Canvas Apps.

To see it in action à

Login to Power Automate

https://us.flow.microsoft.com/en-us/

Create a new flow, select start from blank – Automated cloud flow, make sure the appropriate environment is selected.

Specify the flow name along with the trigger

Here for the trigger, we have specified the condition as contact creation.

For the action, select Send Push Notification V2 (preview)

For Mobile App, we can select either Power Apps or Field Service app to send the notifications to.

Here we have selected Power Apps mobile app.

Your app field will list down all the Model-driven apps available for the environment.

In recipients specify the email address and define the message.

In the Open App option, we can specify whether to open the app or not, on tap of the notification.

Finally, we can specify the entity, form for that entity (or view) to be opened.

We are setting the record id (of the contact record created) that should be opened in the form.

Save the flow.

Creating a contact record will trigger the flow and will send the notification to the mobile as shown below.

We can click on the notification, which takes us to the record as shown below.

Get all details here

https://powerapps.microsoft.com/es-es/blog/now-available-model-driven-app-push-notifications/

Blog posts on 2021 Release Wave 1 – Dynamics 365

Hope it helps..

Advertisements

How to – Extract attachments from Notes in Dynamics 365 / Dataverse


There are different ways we can extract attachments from notes.

  • We can write an SSIS Package using the Premium Derived Column component of KingswaySoft

https://nishantrana.me/2020/11/09/extract-attachment-from-notes-in-dynamics-365-ce-cds-ssis-kingswaysoft/

  • XrmToolBox has a wonderful plugin – Bulk Attachment Manager

https://www.livingintech.com/2018/02/xrmtoolbox-bulk-attachment-manager.html

The tool can download attachments from both Note and Email, using note’s GUID as the folder name.

  • We can use SDK and write console app or tool.

https://github.com/microsoft/PowerApps-Samples/blob/master/cds/orgsvc/C%23/URDAttachment/URDAttachment/SampleProgram.cs

https://www.c-sharpcorner.com/article/downloading-notes-attachments-using-paginghis-artcile/

Or use the CRM SDK within the script component of SSIS if we are not using KingswaySoft’s CDS Component.

https://nishantrana.me/2020/10/19/connect-to-dynamics-365-through-script-component-ssis/

  • Attachment Downloader Tool

https://vishalgrade.com/2018/01/22/ms-crm-attachment-downloader/

https://github.com/vgrade/MSCRMAttachmentDownloader

We can update the tool as per our requirement.

  • Use LINQPad for extracting attachment

https://dreamingincrm.com/2018/01/18/export-all-attachments-using-linqpad/

Hope it helps..

Advertisements

Improved search experience now adds Quick Actions – 2021 Release Wave 1 – Dynamics 365


Improved search experience added features like easy access of search from within the header

https://nishantrana.me/2021/01/12/improved-search-experience-in-dynamics-365-powerapps/

More details and filters option

Incremental search or real time suggestions while performing the search

Now the 2021 Release Wave 1 adds Quick actions to the search results as shown below.

The quick actions available for accounts, contacts, etc. are

  • Assign
  • Share
  • Email

For the Phone call or activity entity, the options available are

  • Mark Complete
  • Cancel
  • Set Regarding
  • Assign
  • Email a Link.

The quick action are also available within the search results

Search

Read more about 2021 Release Wave 1

https://docs.microsoft.com/en-gb/power-platform-release-plan/2021wave1/

For Posts on

  • 2020 Release Wave 2

https://nishantrana.me/2020/08/14/posts-on-2020-release-wave-2-dynamics-365/

  • 2020 Release Wave 1

https://nishantrana.me/2020-release-wave-1/

Blog posts on 2021 Release Wave 1 – Dynamics 365

Hope it helps

Advertisements