使用 Azure Data Factory 或 Azure Synapse Analytics,在 Dynamics 365 (Microsoft Dataverse) 或 Dynamics CRM 中複製和轉換資料

適用於:Azure Data Factory Azure Synapse Analytics

提示

試用 Microsoft Fabric 中的 Data Factory,這是適用於企業的全方位分析解決方案。 Microsoft Fabric 涵蓋從資料移動到資料科學、即時分析、商業智慧和報告的所有項目。 了解如何免費開始新的試用

本文概述如何使用 Azure Data Factory 或 Synapse 管線中的複製活動,從 Dynamics 365 (Microsoft Dataverse) 或 Dynamics CRM 複製資料,並使用資料流程來轉換 Dynamics 365 (Microsoft Dataverse) 或 Dynamics CRM 中的資料。 如需深入了解,請閱讀 Azure Data FactorySynapse Analytics 的介紹文章。

支援的功能

下列活動支援此連接器:

支援的功能 IR
複製活動 (來源/接收) ① ②
對應資料流 (來源/接收)
查閱活動 ① ②

① Azure 整合執行階段 ② 自我裝載整合執行階段

如需複製活動支援作為來源和接收端的資料存放區清單,請參閱支援的資料存放區資料表。

注意

自 2020 年 11 月起,Common Data Service 已重新命名為 Microsoft Dataverse。 本文已更新以反映最新的術語。

此 Dynamics 連接器支援線上和內部部署的 Dynamics 版本 7 到 9。 更明確地說:

  • 版本 7 對應至 Dynamics CRM 2015。
  • 版本 8 對應至 Dynamics CRM 2016 和舊版 Dynamics 365。
  • 版本 9 對應至更新版本的 Dynamics 365。

請參閱下列 Dynamics 版本和產品的支援驗證類型和設定表格。

Dynamics 版本 驗證類型 已連結的服務範例
Dataverse

Dynamics 365 線上版

Dynamics CRM Online
Microsoft Entra 服務主體

Office 365

使用者指派的受控識別
Dynamics 線上版和 Microsoft Entra 服務主體或 Office 365 驗證
Dynamics 365 內部部署與網際網路對向部署 (IFD)

搭配 IFD 的 Dynamics CRM 2016 內部部署版

搭配 IFD 的 Dynamics CRM 2015 內部部署版
IFD Dynamics 內部部署版搭配 IFD 與 IFD 驗證

注意

隨著區域探索服務的淘汰,服務已升級可有效率的調控全域探索服務,同時使用 Office 365 驗證。

重要

若您的租用戶和使用者在 Microsoft Entra ID 中設為條件式存取和/或需要多重要素驗證,便無法使用 Office 365 驗證類型。 在這些情況下,您必須使用 Microsoft Entra 服務主體驗證。

特別針對 Dynamics 365 而言,支援下列應用程式類型:

  • Dynamics 365 for Sales
  • Dynamics 365 for Customer Service
  • Dynamics 365 for Field Service
  • Dynamics 365 for Project Service Automation
  • Dynamics 365 for Marketing

此連接器不支援其他應用程式類型,例如 Finance、Operations 和 Talent。

提示

如果要從 Dynamics 365 Finance and Operations 複製資料,您可以使用 Dynamics AX 連接器

此 Dynamics 連接器是建置在 Dynamics XRM 工具之上。

必要條件

如果要搭配 Microsoft Entra 服務主體驗證使用此連接器,您必須在 Dataverse 或 Dynamics 中設定伺服器對伺服器 (S2S) 驗證。 請先在 Microsoft Entra ID 中註冊應用程式使用者 (服務主體)。 您將了解如何在此處執行。 在應用程式註冊期間,您必須在 Dataverse 或 Dynamics 中建立該使用者,並授與許可權。 您可以將應用程式使用者新增至 Dataverse 或 Dynamics 中已授與許可權的小組,以直接或間接的方式授與這些許可權。 您可以在此處找到如何設定應用程式使用者以向 Dataverse 進行驗證的詳細資訊。

開始使用

若要透過管線執行複製活動,您可以使用下列其中一個工具或 SDK:

使用 UI 建立 Dynamics 365 (Microsoft Dataverse) 或 Dynamics CRM 的連結服務

使用下列步驟,在 Azure 入口網站 UI 中建立連結至 Dynamics 365 的服務。

  1. 前往 Azure Data Factory 或 Synapse 工作區的 [管理] 索引標籤,選取 [連結服務],然後按一下 [新增]:

  2. 搜尋 Dynamics 或 Dataverse,然後選取 Dynamics 365 (Microsoft Dataverse) 或 Dynamics CRM 連接器。

    Screenshot of the Dynamics 365 connector.

    Screenshot of the Dataverse connector.

  3. 設定服務詳細資料,測試連線,然後建立新的連結服務。

    Screenshot of linked service configuration for Dynamics 365.

連接器設定詳細資料

下列各節提供用來定義 Dynamics 專屬實體屬性的詳細資料。

連結服務屬性

以下是針對 Dynamics 連結服務所支援的屬性。

Dynamics 365 和 Dynamics CRM 線上版

屬性 描述 必要
type 類型屬性必須設定為"Dynamics"、"DynamicsCrm" 或 "CommonDataServiceForApps"。 Yes
deploymentType Dynamics 執行個體的部署類型。 如果是 Dynamics 線上版,則值必須為 "Online"。 Yes
serviceUri Dynamics 執行個體的服務 URL,與您從瀏覽器所存取的服務 URL 相同。 例如 "https://<organization-name>.crm[x].dynamics.com"。 Yes
authenticationType 連線到 Dynamics 伺服器時所使用的驗證類型。 有效值為 "AADServicePrincipal"、"Office365" 和 "ManagedIdentity"。 Yes
servicePrincipalId Microsoft Entra 應用程式的用戶端識別碼。 驗證為 "AADServicePrincipal" 時則為「是」
servicePrincipalCredentialType 用於服務主體驗證的認證類型。 有效值為 "ServicePrincipalKey" 和 "ServicePrincipalCert"。

注意:建議使用 ServicePrincipalKey。 ServicePrincipalCert 認證類型有已知的限制,亦即服務可能會遇到無法從金鑰保存庫擷取秘密的暫時性問題。
驗證為 "AADServicePrincipal" 時則為「是」
servicePrincipalCredential 服務主體認證。

當您使用"ServicePrincipalKey" 作為認證類型時,servicePrincipalCredential 可以是在連結服務部署時加密的字串。 或者,它可以是 Azure Key Vault 中秘密的參考。

當您使用 "ServicePrincipalCert" 作為認證時,servicePrincipalCredential 必須是對 Azure Key Vault 中所含憑證的參考,並確定憑證內容類型為 PKCS #12
驗證為 "AADServicePrincipal" 時則為「是」
username 用來連線至 Dynamics 的使用者名稱。 驗證為 "Office365" 時則為「是」
password 您指定為使用者名稱的使用者帳戶的密碼。 將此欄位標記為 "SecureString" 以將其安全地儲存,或參考 Azure Key Vault 中儲存的祕密 驗證為 "Office365" 時則為「是」
credentials 將使用者指派的受控身分識別指定為認證物件。

建立一或多個使用者指派的受控身分識別,並將其指派給您的資料處理站,並為每個使用者指派的受控身分識別建立認證
驗證為 "ManagedIdentity" 時則為「是」
connectVia 用來連線到資料存放區的整合執行階段。 如果未指定值,此屬性會使用預設的 Azure 整合執行階段。 No

注意

Dynamics 連接器先前使用選擇性 organizationName 屬性來識別您的 Dynamics CRM/365 線上版執行個體。 雖然該屬性仍可運作,但建議您改為指定新的 serviceUri 屬性,以取得更佳的執行個體探索效能。

範例:使用 Microsoft Entra 服務主體和金鑰驗證的 Dynamics 線上版

{  
    "name": "DynamicsLinkedService",  
    "properties": {  
        "type": "Dynamics",  
        "typeProperties": {  
            "deploymentType": "Online",  
            "serviceUri": "https://<organization-name>.crm[x].dynamics.com",  
            "authenticationType": "AADServicePrincipal",  
            "servicePrincipalId": "<service principal id>",  
            "servicePrincipalCredentialType": "ServicePrincipalKey",  
            "servicePrincipalCredential": "<service principal key>"
        },  
        "connectVia": {  
            "referenceName": "<name of Integration Runtime>",  
            "type": "IntegrationRuntimeReference"  
        }  
    }  
}  

範例:使用 Microsoft Entra 服務主體和憑證驗證的 Dynamics 線上版

{ 
    "name": "DynamicsLinkedService", 
    "properties": { 
        "type": "Dynamics", 
        "typeProperties": { 
            "deploymentType": "Online", 
            "serviceUri": "https://<organization-name>.crm[x].dynamics.com", 
            "authenticationType": "AADServicePrincipal", 
            "servicePrincipalId": "<service principal id>", 
            "servicePrincipalCredentialType": "ServicePrincipalCert", 
            "servicePrincipalCredential": { 
                "type": "AzureKeyVaultSecret", 
                "store": { 
                    "referenceName": "<AKV reference>", 
                    "type": "LinkedServiceReference" 
                }, 
                "secretName": "<certificate name in AKV>" 
            } 
        }, 
        "connectVia": { 
            "referenceName": "<name of Integration Runtime>", 
            "type": "IntegrationRuntimeReference" 
        } 
    } 
} 

範例:使用 Office 365 驗證的 Dynamics 線上版

{
    "name": "DynamicsLinkedService",
    "properties": {
        "type": "Dynamics",
        "typeProperties": {
            "deploymentType": "Online",
            "serviceUri": "https://<organization-name>.crm[x].dynamics.com",
            "authenticationType": "Office365",
            "username": "test@contoso.onmicrosoft.com",
            "password": {
                "type": "SecureString",
                "value": "<password>"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

範例:使用使用者指派的受控識別驗證進行 Dynamics 線上版

{
    "name": "DynamicsLinkedService",
    "properties": {
        "type": "Dynamics",
        "typeProperties": {
            "deploymentType": "Online",
            "serviceUri": "https://<organization-name>.crm[x].dynamics.com",
            "authenticationType": "ManagedIdentity",
            "credential": {
                "referenceName": "credential1",
                "type": "CredentialReference"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

搭配 IFD 的 Dynamics 365 和 Dynamics CRM 內部部署版

相較於 Dyanmics 線上版,額外屬性為 hostNameport

屬性 描述 必要
type 類型屬性必須設定為"Dynamics"、"DynamicsCrm" 或 "CommonDataServiceForApps"。 是。
deploymentType Dynamics 執行個體的部署類型。 如果是搭配 IFD 的 Dynamics 內部部署,值必須為 "OnPremisesWithIfd"。 是。
hostName 內部部署 Dynamics 伺服器的主機名稱。 是。
port 內部部署 Dynamics 伺服器的連接埠。 否。 預設值為 443。
organizationName Dynamics 執行個體的組織名稱。 是。
authenticationType 連線到 Dynamics 伺服器時所使用的驗證類型。 如果是搭配 IFD 的 Dynamics 內部部署版,請指定 "Ifd"。 是。
username 用來連線至 Dynamics 的使用者名稱。 是。
password 您指定為使用者名稱的使用者帳戶的密碼。。 將此欄位標記為 "SecureString" 以將其安全地儲存。 您也可以將密碼儲存在 Azure Key Vault,讓複製活動在執行資料複製時從此處提取。 請參閱在金鑰保存庫中儲存認證深入了解。 是。
connectVia 用來連線到資料存放區的整合執行階段。 如果未指定值,此屬性會使用預設的 Azure 整合執行階段。 No

範例:使用 IFD 驗證之搭配 IFD 的 Dynamics 內部部署版

{
    "name": "DynamicsLinkedService",
    "properties": {
        "type": "Dynamics",
        "description": "Dynamics on-premises with IFD linked service using IFD authentication",
        "typeProperties": {
            "deploymentType": "OnPremisesWithIFD",
            "hostName": "contosodynamicsserver.contoso.com",
            "port": 443,
            "organizationName": "admsDynamicsTest",
            "authenticationType": "Ifd",
            "username": "test@contoso.onmicrosoft.com",
            "password": {
                "type": "SecureString",
                "value": "<password>"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

資料集屬性

如需可用來定義資料集的區段和屬性完整清單,請參閱資料集一文。 本節提供 Dynamics 資料集所支援的屬性清單。

若要從 Dynamics 複製資料,下列為支援的屬性:

屬性 描述 必要
type 資料集的類型屬性必須設為 "DynamicsEntity"、"DynamicsCrmEntity" 或 "CommonDataServiceForAppsEntity"。 Yes
entityName 要擷取之實體的邏輯名稱。 如果活動來源已指定為「查詢」則來源為「否」;接收器則為「是」

範例

{
    "name": "DynamicsDataset",
    "properties": {
        "type": "DynamicsEntity",
        "schema": [],
        "typeProperties": {
            "entityName": "account"
        },
        "linkedServiceName": {
            "referenceName": "<Dynamics linked service name>",
            "type": "linkedservicereference"
        }
    }
}

複製活動屬性

如需可用來定義活動的區段和屬性完整清單,請參閱管線一文。 本節提供 Dynamics 來源和接收類型所支援的屬性清單。

Dynamics 作為來源類型

如要從 Dynamics 複製資料,複製活動的 [來源] 區段支援下列屬性:

屬性 描述 必要
type 複製活動來源的類型屬性必須設定為 "DynamicsSource"、"DynamicsCrmSource" 或 "CommonDataServiceForAppsSource"。 Yes
query FetchXML 為在 Dynamics 線上版和內部部署中所使用的專屬查詢語言。 請參閱下列範例。 如需深入了解,請參閱使用 FetchXML 組建查詢 如果在資料集中已指定 entityName 則為「否」

注意

即使您在 FetchXML 查詢中設定的資料行投影未包含 PK 資料行,還是一律會複製 PK 資料行。

重要

  • 當您從 Dynamics 複製資料時,從 Dynamics 到接收的明確資料行對應是選擇性的。 但強烈建議使用對應,以確保具確定性的複製結果。
  • 當服務在製作 UI 中匯入結構描述時,會對其進行推斷。 其做法是從 Dynamics 查詢結果取樣前幾個資料列,以初始化來源資料行清單。 在此情況下,會省略頂端資料列中沒有值的資料行。 如果沒有明確對應,則相同的行為也會套用至資料預覽與複製執行。 您可以檢閱和新增更多資料行至對應中,這些資料行會在複製執行階段期間被接受。

範例

"activities":[
    {
        "name": "CopyFromDynamics",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<Dynamics input dataset>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "DynamicsSource",
                "query": "<FetchXML Query>"
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

範例 FetchXML 查詢

<fetch>
  <entity name="account">
    <attribute name="accountid" />
    <attribute name="name" />
    <attribute name="marketingonly" />
    <attribute name="modifiedon" />
    <order attribute="modifiedon" descending="false" />
    <filter type="and">
      <condition attribute ="modifiedon" operator="between">
        <value>2017-03-10 18:40:00z</value>
        <value>2017-03-12 20:40:00z</value>
      </condition>
    </filter>
  </entity>
</fetch>

Dynamics 作為接收類型

如要從 Dynamics 複製資料,複製活動的 [接收] 區段支援下列屬性:

屬性 描述 必要
type 複製活動接收器的類型屬性必須設定為 "DynamicsSink"、"DynamicsCrmSink” 或 "CommonDataServiceForAppsSink"。 是。
writeBehavior 作業的寫入行為。 該值必須為 "Upsert"。 Yes
alternateKeyName 在實體上定義的替代索引鍵名稱,以執行 upsert。 否。
writeBatchSize 每個批次中寫入 Dynamics 的資料列計數。 否。 預設值為 10。
ignoreNullValues 在寫入作業期間是否要忽略輸入資料中的索引鍵欄位以外的 Null 值。

有效值為 TRUEFALSE
  • TRUE:執行 upsert 或更新作業時,讓目的地物件中的資料保持不變。 執行插入作業時,插入已定義的預設值。
  • FALSE:執行 upsert 或更新作業時,將目的地物件中的資料更新為 NULL 值。 在您執行插入作業時插入 NULL 值。
否。 預設值為 FALSE
maxConcurrentConnections 在活動執行期間建立至資料存放區的同時連線上限。 僅在想要限制並行連線時,才需要指定值。 No

注意

接收的 writeBatchSize 以及 Dynamics 接收的複製活動 parallelCopies 預設值皆為 10。 因此,依預設同時會有 100 筆記錄提交至 Dynamics。

Dynamics 365 線上版限制每個組織只能有 52 個同時批次呼叫。 如果超出這個限制,系統會在執行第一個要求前,擲回「伺服器忙碌」的例外狀況。 將 writeBatchSize 保持在 10 或更小,以避免這種同時呼叫的節流。

writeBatchSizeparallelCopies 的最佳組合取決於實體的結構描述。 結構描述元素包括資料行數目、資料列大小和連結至這些呼叫的外掛程式、工作流程或工作流程數目。 writeBatchSize (10) × parallelCopies (10) 的預設設定是根據 Dynamics 服務的建議。 此值適用於大部分 Dynamics 實體,但可能無法提供最佳效能。 您可以藉由調整複製活動設定中的組合來微調效能。

範例

"activities":[
    {
        "name": "CopyToDynamics",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<input dataset>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<Dynamics output dataset>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "<source type>"
            },
            "sink": {
                "type": "DynamicsSink",
                "writeBehavior": "Upsert",
                "writeBatchSize": 10,
                "ignoreNullValues": true
            }
        }
    }
]

從檢視擷取資料

如果要從 Dynamics 檢視擷取資料,您需要取得檢視的已儲存查詢,並使用查詢來取得資料。

有兩個實體會儲存不同類型的檢視:「已儲存的查詢」會儲存系統檢視,而「使用者查詢」則會儲存使用者檢視。 如果要取得所檢視的資訊,請參閱下列 FetchXML 查詢,並將 "TARGETENTITY" 取代為 savedqueryuserquery。 每個實體類型都有更多可用的屬性,您可以根據需求新增至查詢。 深入了解 savedquery 實體userquery 實體

<fetch top="5000" >
  <entity name="<TARGETENTITY>">
    <attribute name="name" />
    <attribute name="fetchxml" />
    <attribute name="returnedtypecode" />
    <attribute name="querytype" />
  </entity>
</fetch>

您也可以新增篩選條件來篩選檢視。 例如,新增下列篩選,以取得帳戶實體中名為「我的活動帳戶」的檢視。

<filter type="and" >
    <condition attribute="returnedtypecode" operator="eq" value="1" />
    <condition attribute="name" operator="eq" value="My Active Accounts" />
</filter>

Dynamics 的資料類型對應

下列資料表顯示您從 Dynamics 複製資料時,Dynamics 資料類型與服務內過渡資料類型的對應。 若要了解複製活動如何對應至來源結構描述,及資料類型如何對應至接收端,請參閱結構描述和資料類型對應

請參考以下的對應資料表,根據您的來源 Dynamics 資料類型,在資料集結構中設定對應的過渡資料類型:

Dynamics 資料類型 服務過渡資料類型 支援作為來源 支援作為接收
AttributeTypeCode.BigInt Long
AttributeTypeCode.Boolean 布林值
AttributeType.Customer GUID ✓ (請參閱指導)
AttributeType.DateTime Datetime
AttributeType.Decimal Decimal
AttributeType.Double Double
AttributeType.EntityName String
AttributeType.Integer Int32
AttributeType.Lookup GUID ✓ (請參閱指導)
AttributeType.ManagedProperty 布林值
AttributeType.Memo String
AttributeType.Money Decimal
AttributeType.Owner GUID ✓ (請參閱指導)
AttributeType.Picklist Int32
AttributeType.Uniqueidentifier GUID
AttributeType.String String
AttributeType.State Int32
AttributeType.Status Int32

注意

不支援 Dynamics 資料類型 AttributeType.CalendarRulesAttributeType.MultiSelectPicklistAttributeType.PartyList

將資料寫入查閱欄位

如果要將資料寫入具有多個目標的查閱欄位中,例如「客戶」和「擁有者」,請遵循下列指導和範例:

  1. 讓來源同時包含欄位值和對應的目標實體名稱。

    • 如果所有記錄都對應至相同的目標實體,請確定具備下列條件之一:
      • 您的來源資料具有儲存目標實體名稱的資料行。
      • 您已在複製活動來源中新增其他資料行,以定義目標實體。
    • 如果不同的記錄對應至不同的目標實體,請確定您的來源資料具有儲存對應目標實體名稱的資料行。
  2. 將值和實體參考資料行從來源對應至接收。 實體參考資料行必須對應至具有特殊命名模式 {lookup_field_name}@EntityReference 的虛擬資料行。 資料行實際上不存在於 Dynamics 中。 這是用來表示此資料行為指定的多目標查閱欄位的中繼資料資料行。

例如,假設來源有下列兩個資料行:

  • CustomerField 資料行的類型為 GUID,為 Dynamics 中目標實體的主索引鍵值。
  • 目標資料行類型為字串,為目標實體的邏輯名稱。

此外,假設您想要將這類資料複製到接收端 Dynamics 實體欄位 CustomerField,其類型為 Customer

在複製活動資料行對應中,對應這兩個資料行,如下所示:

  • CustomerField 對應至 CustomerField。 此對應為一般欄位的對應。
  • 目標對應至 CustomerField@EntityReference。 接收資料行是代表實體參考的虛擬資料行。 在對應中輸入這類功能變數名稱,因為它們不會透過匯入結構描述來顯示。

Dynamics lookup-field column mapping

如果所有來源記錄都對應至相同的目標實體,而且您的來源資料不包含目標實體名稱,以下是捷徑:在複製活動來源中,新增其他資料行。 使用模式 {lookup_field_name}@EntityReference 為新資料行命名,將值設定為目標實體名稱,然後以一般的方式繼續進行資料行對應。 如果來源和接收資料行名稱相同,您也可以略過明確的資料行對應,因為複製活動預設會依名稱來對應資料行。

Dynamics lookup-field adding an entity-reference column

透過替代索引鍵將資料寫入查閱欄位

若要使用替代索引鍵資料行將資料寫入查閱欄位,請遵循下列指導和範例:

  1. 請確定您的來源包含所有查閱索引鍵資料行。

  2. 替代索引鍵資料行必須對應至具有特殊命名模式 {lookup_field_name}@{alternate_key_column_name} 的資料行。 資料行不存在於 Dynamics 中。 其用來指出此資料行是用來查閱目標實體中的記錄。

  3. 移至對應資料流程之接收器轉換中的 [對應] 索引標籤。 選取替代索引鍵作為 [查閱] 欄位下的輸出資料行。 之後的值會指出這個替代索引鍵的索引鍵資料行。

    Screenshot shows selecting alternate key columns.

  4. 選取之後,替代索引鍵資料行會自動顯示在下方。

    Screenshot shows mapping columns to lookup fields via alternate keys step 1.

  5. 將左側的輸入資料行與輸出資料行對應。

    Screenshot shows mapping columns to lookup fields via alternate keys step 2.

注意

目前只有在您於對應資料流程的接收器轉換中使用內嵌模式時,才支援此功能。

對應資料流程屬性

在對應資料流中轉換資料時,您可以從 Dynamics 資料表中讀取並寫入資料。 如需詳細資訊,請參閱對應資料流程中的來源轉換接收轉換。 您可以選擇使用 Dynamics 資料集或內嵌資料集作為來源和接收的類型。

來源轉換

下表列出 Dynamics 支援的屬性清單。 您可以在 [來源選項] 索引標籤中編輯這些屬性。

名稱 描述 必要 允許的值 資料流程指令碼屬性
實體名稱 要擷取之實體的邏輯名稱。 使用內嵌資料集時,是 - (僅限內嵌資料集)
實體
查詢 FetchXML 為在 Dynamics 線上版和內部部署中所使用的專屬查詢語言。 請參閱下列範例。 如需深入了解,請參閱使用 FetchXML 組建查詢 No String query

注意

如果您選取 [查詢] 作為輸入類型,就無法擷取資料表中的資料行類型。 預設會將其視為字串。

Dynamics 來源指令碼範例

當您使用 Dynamics 資料集作為來源類型時,相關聯的資料流程指令碼為:

source(allowSchemaDrift: true,
	validateSchema: false,
	query: '<fetch mapping='logical' count='3 paging-cookie=''><entity name='new_dataflow_crud_test'><attribute name='new_name'/><attribute name='new_releasedate'/></entity></fetch>') ~> DynamicsSource

如果您使用內嵌資料集,相關聯的資料流程指令碼為:

source(allowSchemaDrift: true,
	validateSchema: false,
	store: 'dynamics',
	format: 'dynamicsformat',
	entity: 'Entity1',
	query: '<fetch mapping='logical' count='3 paging-cookie=''><entity name='new_dataflow_crud_test'><attribute name='new_name'/><attribute name='new_releasedate'/></entity></fetch>') ~> DynamicsSource

接收轉換

下表列出 Dynamics 接收支援的屬性清單。 您可以在 [接收器選項] 索引標籤中編輯這些屬性。

名稱 描述 必要 允許的值 資料流程指令碼屬性
替代索引鍵名稱 在實體上定義的替代索引鍵名稱,以執行更新、upsert 或刪除。 No - alternateKeyName
更新方法 指定您的資料庫目的地所允許的作業。 預設僅允許插入。
若要更新、upsert 或刪除資料列,必須使用 [變更資料列轉換] 來標記這些動作的資料列。
Yes truefalse insertable
updateable
upsertable
deletable
實體名稱 要寫入實體的邏輯名稱。 使用內嵌資料集時,是 - (僅限內嵌資料集)
實體

Dynamics 接收指令碼範例

當您使用 Dynamics 資料集作為接收類型時,相關聯的資料流程指令碼為:

IncomingStream sink(allowSchemaDrift: true,
    validateSchema: false,
    deletable:true,
    insertable:true,
    updateable:true,
    upsertable:true,
    skipDuplicateMapInputs: true,
    skipDuplicateMapOutputs: true) ~> DynamicsSink

如果您使用內嵌資料集,相關聯的資料流程指令碼為:

IncomingStream sink(allowSchemaDrift: true,
    validateSchema: false,
    store: 'dynamics',
    format: 'dynamicsformat',
    entity: 'Entity1',
    deletable: true,
    insertable: true,
    updateable: true,
    upsertable: true,
    skipDuplicateMapInputs: true,
    skipDuplicateMapOutputs: true) ~> DynamicsSink

查閱活動屬性

若要了解屬性的詳細資料,請參閱查閱活動

如需複製活動支援作為來源和接收的資料存放區清單,請參閱支援的資料存放區