Set up Microsoft Azure

The following section details the steps required to deploy resources to Azure using Windows PowerShell 7 and the Azure CLI. To view supported platforms, see Azure Command-Line Interface (CLI) - Overview.

When you deploy the connector to your Azure resource group, the following resources are created:

  • App Service plan

  • Application Insights

  • Function app

  • Logic apps

  • CDN profile with endpoints

  • Storage accounts

Note

You can modify the translation mapping file to support a custom key value map.

Register Microsoft.Cdn in the Azure subscription

Microsoft.Cdn needs to be a registered application in the Azure subscription where the resources are going to be provisioned and deployed.

To register Microsoft.Cdn in the Azure Subscription:

  1. Log into the Azure Portal.

  2. Open the Azure subscription.

  3. In the left pane, click Resource providers.

  4. In the search bar on the right, search for and select Microsoft.Cdn and then click Register.

Note

If you do not have the required permissions, contact Microsoft Support.

Deploy the connector to Azure

To deploy the connector to Azure:

  1. If you have not done so already, download and extract Sitecore Connect for Microsoft Dynamics 365 Commerce.

  2. Navigate to the configs folder and open the azure.productsyn.stage.config.json file.

  3. Update the placeholders with your Azure tenant, resource group, and resource details.

  4. Open the the azure.imageproxy.stage.config.json file found in the same configs folder and then update the placeholders with your Azure tenant, resource group, Content Hub base URL, GraphQL endpoint URL, GraphQL token, and so on.

    Important

    The stageName property is used to generate the required connector resources. This property is currently limited to four alphanumeric characters. Resource names can be further configured in /templates/logic.apps.productsync.arm.json’ and ‘/templates/productsync.stage.arm.json’, ‘/templates/imageproxy.stage.arm.json.

  5. Save your changes.

  6. Run PowerShell 7.

  7. In PowerShell, change directories to the extracted zip location and run .\deploy.ps1. The Azure resource group is updated as shown in the following example.

    Updated Azure resource group
Note

The CDN endpoint (func-imageproxy-endpoint-int-001) contains the CDN endpoint URL, which serves as the URL mapping endpoint.

Update the entity mapping definitions

Before the connector can begin synchronizing products from Dataverse, you must update the entity mapping configuration files that are provided with the connector. These mapping files contain the following sample data. You must replace the values prepended cr15a_ with your dual-write table map values.

The following table describes the attributes in the product entity map configuration file that you must update to map with the incoming sync request.

Attribute

Description

dataSource

This property is used to retrieve the OData entity from Dataverse. Update this property with your Dataverse entity naming conventions.

operations

There are three types of operations supported on each entity map: create, update, and delete.

entity.sourceIdentifier

The dataSource property that represents the internal Id of the entity in Dataverse.

entity.targetIdentifier

The target Content Hub entity identifier. This is the internal id of the entity in Sitecore Content Hub™.

entity.targetType

The target Content Hub entity definition name.

entity.localization

This property contains localization mapping settings for Content Hub entities.

entity.localization.source

The source property for localization on the OData entity dataSource from Dataverse.

entity.localization.mapping

A key value map of source D365 language codes mapped with target Content Hub language codes.

entity.properties

The entity.properties array provides the ability to map the source attribute in Dataverse to the target attribute on the Content Hub entity.

entity.properties.source

The source property on the OData entity dataSource from Dataverse.

entity.properties.target

The target entity member in Content Hub that stores the source data.

entity.properties.localized

Boolean setting that informs the mapping function that the property has localized values.

entity.properties.isRequired

Boolean setting that informs the mapping function that the property is required in order to sync with Content Hub.

entity.properties.readOnly

Boolean setting that informs the mapping function that the attribute should be read-only by default in Content Hub.

entity.properties.sourceTemplate

A key value map of D365/Dataverse values mapped with Content Hub values.

entity.properties.strategy

Required when using sourceTemplate. Supported types are AddKeyValue and RemoveByKey

relations

List of mapped relationship members defined for a Content Hub entity definition. Content Hub taxonomy and entity relationships are managed here.

relations.relationType

The target Content Hub entity relation member. The Content Hub relationship type is used for linking existing Content Hub entities.

relations.relationRole

The role of the entity created or updated in Content Hub.

relations.sourceIdentifier

The source identifier attribute on the OData entity dataSource from Dataverse.

relations.sourceIdentifierTemplate

The template used to map the sourceIdentifier with the target entity in Content Hub.

relations.sourceIdentifierDefault

The default value set in Content Hub when there is no provided sourceIdentifier.

relations.targetType

The target Content Hub entity definition.

relations.targetIdentifier

The target Content Hub entity identifier attribute.

relations.mapping

A key value map of D365/Dataverse values mapped with Content Hub values.

Note

Back up the mapping files prior to making any updates.

To update the entity mapping definitions:

  1. Log into your Microsoft Azure portal page.

  2. Locate the Resource Group created during the installation of the connector.

  3. Open the storage account with the stmapconfig prefix and click Containers in the left panel.

  4. Click the mappings container. The mappings container contains the available mapping JSON files:

    • product-mapping-config.json

    • productmaster-mapping-config.json

    • productvariant-mapping-config.json

    • producttranslations-mapping-config.json

    • color-mapping-config.json

    • size-mapping-config.json

    • style-mapping-config.json

    Important

    Do not update these mapping files while the connector is enabled. Disable the connector’s logic app resources before making any changes to configuration files.

  5. Click the product-mapping-config.json file.

  6. In the right pane, click Download to download the file.

  7. Open the file to review and edit the current mapping configuration.

  8. Save your changes to the product-mapping-config.json file.

  9. On the mappings overview page, click Upload.

  10. In the right pane, click Select a file and select your updated product-mapping-config.json file.

  11. Click the check box next to Overwrite if files already exist.

  12. Click Upload. Your updated mapping file should now be uploaded to the mappings container.

  13. Repeat steps 5-12 for the remaining mapping configuration files that need updates.

Do you have some feedback for us?

If you have suggestions for improving this article,