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
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:
-
Log into the Azure Portal.
-
Open the Azure subscription.
-
In the left pane, click Resource providers.
-
In the search bar on the right, search for and select Microsoft.Cdn and then click Register.
If you do not have the required permissions, contact Microsoft Support.
Deploy the connector to Azure
To deploy the connector to Azure:
-
If you have not done so already, download and extract Sitecore Connect for Microsoft Dynamics 365 Commerce.
-
Navigate to the configs folder and open the azure.productsyn.stage.config.json file.
-
Update the placeholders with your Azure tenant, resource group, and resource details.
-
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.
ImportantThe 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.
-
Save your changes.
-
Run PowerShell 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.
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. |
Back up the mapping files prior to making any updates.
To update the entity mapping definitions:
-
Log into your Microsoft Azure portal page.
-
Locate the Resource Group created during the installation of the connector.
-
Open the storage account with the stmapconfig prefix and click Containers in the left panel.
-
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
ImportantDo not update these mapping files while the connector is enabled. Disable the connector’s logic app resources before making any changes to configuration files.
-
-
Click the product-mapping-config.json file.
-
In the right pane, click Download to download the file.
-
Open the file to review and edit the current mapping configuration.
-
Save your changes to the product-mapping-config.json file.
-
On the mappings overview page, click Upload.
-
In the right pane, click Select a file and select your updated product-mapping-config.json file.
-
Click the check box next to Overwrite if files already exist.
-
Click Upload. Your updated mapping file should now be uploaded to the mappings container.
-
Repeat steps 5-12 for the remaining mapping configuration files that need updates.