使用 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 Factory 和 Synapse 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 驗證 |
重要
若您的租用戶和使用者在 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 的服務。
前往 Azure Data Factory 或 Synapse 工作區的 [管理] 索引標籤,選取 [連結服務],然後按一下 [新增]:
搜尋 Dynamics 或 Dataverse,然後選取 Dynamics 365 (Microsoft Dataverse) 或 Dynamics CRM 連接器。
設定服務詳細資料,測試連線,然後建立新的連結服務。
連接器設定詳細資料
下列各節提供用來定義 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 線上版,額外屬性為 hostName 和 port。
屬性 | 描述 | 必要 |
---|---|---|
type | 類型屬性必須設定為"Dynamics"、"DynamicsCrm" 或 "CommonDataServiceForApps"。 | Yes |
deploymentType | Dynamics 執行個體的部署類型。 如果是搭配 IFD 的 Dynamics 內部部署,值必須為 "OnPremisesWithIfd"。 | Yes |
hostName | 內部部署 Dynamics 伺服器的主機名稱。 | Yes |
port | 內部部署 Dynamics 伺服器的連接埠。 | 否。 預設值為 443。 |
organizationName | Dynamics 執行個體的組織名稱。 | Yes |
authenticationType | 連線到 Dynamics 伺服器時所使用的驗證類型。 使用 IFD 為 Dynamics 內部部署指定 「ActiveDirectoryAuthentication」。 | Yes |
網域 | 將驗證用戶認證的 Active Directory 網域。 | Yes |
username | 用來連線至 Dynamics 的使用者名稱。 | Yes |
password | 您指定為使用者名稱的使用者帳戶的密碼。。 將此欄位標記為 "SecureString" 以將其安全地儲存。 您也可以將密碼儲存在 Azure Key Vault,讓複製活動在執行資料複製時從此處提取。 請參閱在金鑰保存庫中儲存認證深入了解。 | Yes |
connectVia | 用來連線到資料存放區的整合執行階段。 如果未指定值,此屬性會使用預設的 Azure 整合執行階段。 | No |
注意
由於 Ifd 驗證類型將於 2024 年 8 月 31 日 停止使用,如果您目前正在使用 Idf 驗證類型,請在此日期之前升級至 Active Directory 驗證類型。
範例:使用 Active Directory 驗證搭配 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": "ActiveDirectoryAuthentication",
"domain": "< Active Directory domain >",
"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 值。 有效值為 TRUE 和 FALSE:
|
否。 預設值為 FALSE。 |
maxConcurrentConnections | 在活動執行期間建立至資料存放區的同時連線上限。 僅在想要限制並行連線時,才需要指定值。 | No |
注意
接收的 writeBatchSize 以及 Dynamics 接收的複製活動 parallelCopies 預設值皆為 10。 因此,依預設同時會有 100 筆記錄提交至 Dynamics。
Dynamics 365 線上版限制每個組織只能有 52 個同時批次呼叫。 如果超出這個限制,系統會在執行第一個要求前,擲回「伺服器忙碌」的例外狀況。 將 writeBatchSize 保持在 10 或更小,以避免這種同時呼叫的節流。
writeBatchSize 和 parallelCopies 的最佳組合取決於實體的結構描述。 結構描述元素包括資料行數目、資料列大小和連結至這些呼叫的外掛程式、工作流程或工作流程數目。 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" 取代為 savedquery
或 userquery
。 每個實體類型都有更多可用的屬性,您可以根據需求新增至查詢。 深入了解 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.CalendarRules、AttributeType.MultiSelectPicklist 和 AttributeType.PartyList。
將資料寫入查閱欄位
如果要將資料寫入具有多個目標的查閱欄位中,例如「客戶」和「擁有者」,請遵循下列指導和範例:
讓來源同時包含欄位值和對應的目標實體名稱。
- 如果所有記錄都對應至相同的目標實體,請確定具備下列條件之一:
- 您的來源資料具有儲存目標實體名稱的資料行。
- 您已在複製活動來源中新增其他資料行,以定義目標實體。
- 如果不同的記錄對應至不同的目標實體,請確定您的來源資料具有儲存對應目標實體名稱的資料行。
- 如果所有記錄都對應至相同的目標實體,請確定具備下列條件之一:
將值和實體參考資料行從來源對應至接收。 實體參考資料行必須對應至具有特殊命名模式
{lookup_field_name}@EntityReference
的虛擬資料行。 資料行實際上不存在於 Dynamics 中。 這是用來表示此資料行為指定的多目標查閱欄位的中繼資料資料行。
例如,假設來源有下列兩個資料行:
- CustomerField 資料行的類型為 GUID,為 Dynamics 中目標實體的主索引鍵值。
- 目標資料行類型為字串,為目標實體的邏輯名稱。
此外,假設您想要將這類資料複製到接收端 Dynamics 實體欄位 CustomerField,其類型為 Customer。
在複製活動資料行對應中,對應這兩個資料行,如下所示:
- CustomerField 對應至 CustomerField。 此對應為一般欄位的對應。
- 目標對應至 CustomerField@EntityReference。 接收資料行是代表實體參考的虛擬資料行。 在對應中輸入這類功能變數名稱,因為它們不會透過匯入結構描述來顯示。
如果所有來源記錄都對應至相同的目標實體,而且您的來源資料不包含目標實體名稱,以下是捷徑:在複製活動來源中,新增其他資料行。 使用模式 {lookup_field_name}@EntityReference
為新資料行命名,將值設定為目標實體名稱,然後以一般的方式繼續進行資料行對應。 如果來源和接收資料行名稱相同,您也可以略過明確的資料行對應,因為複製活動預設會依名稱來對應資料行。
透過替代索引鍵將資料寫入查閱欄位
若要使用替代索引鍵資料行將資料寫入查閱欄位,請遵循下列指導和範例:
請確定您的來源包含所有查閱索引鍵資料行。
替代索引鍵資料行必須對應至具有特殊命名模式
{lookup_field_name}@{alternate_key_column_name}
的資料行。 資料行不存在於 Dynamics 中。 其用來指出此資料行是用來查閱目標實體中的記錄。移至對應資料流程之接收器轉換中的 [對應] 索引標籤。 選取替代索引鍵作為 [查閱] 欄位下的輸出資料行。 之後的值會指出這個替代索引鍵的索引鍵資料行。
選取之後,替代索引鍵資料行會自動顯示在下方。
將左側的輸入資料行與輸出資料行對應。
注意
目前只有在您於對應資料流程的接收器轉換中使用內嵌模式時,才支援此功能。
對應資料流程屬性
在對應資料流中轉換資料時,您可以從 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 | true 或 false |
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
查閱活動屬性
若要了解屬性的詳細資料,請參閱查閱活動。
相關內容
如需複製活動支援作為來源和接收的資料存放區清單,請參閱支援的資料存放區。