Dynamics 365 Business Central
Dynamics 365 Business Central 連接器可讓您針對 Dynamics 365 Business Central 資料執行插入、刪除、更新和讀取作業。
支援的版本
這個連接器支援下列版本:
事前準備
使用 Dynamics 365 連接器前,請先完成下列工作:
- 在 Google Cloud 專案中:
- 確認已設定網路連線。如要瞭解網路模式,請參閱「網路連線」。
- 啟用下列服務:
secretmanager.googleapis.com
(Secret Manager API)connectors.googleapis.com
(連接器 API)
如要瞭解如何啟用服務,請參閱「啟用服務」。
如果先前未為專案啟用這些服務或權限,系統會在設定連接器時提示您啟用。
設定連接器
連線是特定資料來源的連線,也就是說,如果您有多個資料來源,則必須為每個資料來源建立個別的連線。如要建立連線,請按照下列步驟操作:
- 在 Cloud 控制台中,前往「Integration Connectors」 >「Connections」頁面,然後選取或建立 Google Cloud 專案。
- 按一下「+ 建立新連線」,開啟「建立連線」頁面。
- 在「位置」部分,選擇連線的位置。
- 區域:從下拉式清單中選取位置。
支援的連接器地區包括:
如需所有支援地區的清單,請參閱「位置」一節。
- 點按「Next」。
- 區域:從下拉式清單中選取位置。
- 在「連線詳細資料」部分中,完成下列操作:
- 連接器:從可用連接器的下拉式清單中選取「Dynamics 365 Business Central」。
- 連接器版本:從可用版本的下拉式清單中選取連接器版本。
- 在「Connection Name」欄位中,輸入連線例項的名稱。
連線名稱必須符合下列條件:
- 連線名稱可以包含英文字母、數字或連字號。
- 字母必須為小寫。
- 連線名稱的開頭必須為英文字母,結尾則須為英文字母或數字。
- 連結名稱不得超過 49 個半形字元。
- 視需要輸入連線例項的「Description」(說明)。
- 您可以選擇啟用 Cloud Logging,然後選取記錄層級。根據預設,記錄層級會設為
Error
。 - 服務帳戶:選取具備必要角色的服務帳戶。
- (選用) 設定連線節點設定。
- 節點數量下限:輸入連線節點數量下限。
- 節點數量上限:輸入連線節點數量上限。
- Azure 用戶群:指定用於存取資料的 Microsoft Online 用戶群。如未指定,系統會使用您的預設租用戶。
- 公司:指定您在 Dynamics 365 中設定的公司名稱。您可以在 Dynamics 365 Business Central 的「公司資訊」頁面中找到這項資訊。
- 端點類型:指定 OrganizationUrl 必須解析至哪種端點。
- Include Navigation Properties:指定資料欄清單是否必須包含導覽屬性。導覽屬性可讓您瀏覽兩個實體類型之間的關聯。
- 使用沙箱:指定是否要使用沙箱。
- 使用者定義的檢視畫面:指定 JSON 設定檔的路徑,以便定義自訂檢視畫面。
- 按一下「+ 新增標籤」,以鍵/值組合的形式將標籤新增至連線。
- (選用) 如果要使用 SSL,請選取「Enable SSL」。系統隨即顯示安全資料傳輸層 (SSL) 設定詳細資料。
- 選取信任存放區類型。可以是「公開」、「私人」或「不安全的連線」。
- 根據所選信任存放區,選取畫面上顯示的憑證。
- 如果您使用 mTLS,請在「Key Store」部分選取金鑰庫憑證。
- 點按「Next」。
節點是用來處理交易的連線單位 (或備用資源)。處理的交易量越多,就需要越多節點;反之,處理的交易量越少,就需要越少節點。如要瞭解節點對連接器定價的影響,請參閱「 連線節點的定價」。如果您未輸入任何值,系統會預設將最小節點設為 2 (以提高可用性),並將最大節點設為 50。
- 選取「驗證類型」並輸入相關詳細資料。
Dynamics 365 Business Central 連線支援下列驗證類型:
- 存取金鑰
- OAuth 2.0 - 用戶端憑證
- Azure AD
- 點按「Next」。
如要瞭解如何設定這些驗證類型,請參閱「設定驗證」。
設定驗證機制
根據要使用的驗證方法輸入詳細資料。
-
存取金鑰
- 使用者名稱:指定 Dynamics 365 On-Premise 帳戶的使用者名稱,用於向 Microsoft Dynamics 365 Business Central 伺服器進行驗證。
- 密碼:選取包含 Dynamics 365 On-Premise 帳戶密碼的密鑰。
- 密鑰版本:選取密鑰的版本。
- 存取金鑰:指定用於驗證 Microsoft Dynamics 365 Business Central 的存取金鑰。
-
OAuth 2.0 用戶端憑證
- 用戶端 ID:指定您建立的應用程式用戶端 ID。
- 用戶端密鑰:指定 Secret Manager 密鑰,其中包含您建立的已連結應用程式的用戶端密鑰。
- 密鑰版本:選取用戶端密鑰的版本。
-
Azure AD
- 用戶端 ID:指定用於要求存取權存證的用戶端 ID。您可以在 Azure 入口網站中建立的已連結應用程式總覽中找到這項資訊。
- 範圍:指定所需範圍的逗號分隔清單。
- 用戶端密鑰:指定含有帳戶存取金鑰的 Secret Manager 密鑰。
- 授權網址:請輸入您在建立 OAuth 用戶端時產生的授權網址。
請使用下列格式輸入網址:
https://login.microsoftonline.com/TENANT_IDENTIFIER/oauth2/v2.0/authorize?prompt=consent
。 例如https://login.microsoftonline.com/9bxxxxxxxxx8112/oauth2/v2.0/authorize?prompt=consent
。
連線設定範例
本節列出您在建立連線時設定的各種欄位範例值。
OAuth 2.0 - 用戶端憑證連線類型
欄位名稱 | 詳細資料 |
---|---|
位置 | europe-west1 |
連接器 | Dynamics365BusinessCentral |
連接器版本 | 1 |
連線名稱 | dynamics-businesscentral-conn |
啟用 Cloud Logging | 是 |
服務帳戶 | SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com |
Azure 用戶群 | c9f472d9-7d8a-44cf-8ee0-458d32e26bce |
公司 | Organization_Name |
節點數量下限 | 2 |
節點數量上限 | 50 |
機構網址 | https://api.businesscentral.dynamics.com/v2.0/c9f472d9-7d8a-44cf-8ee0-458d32e26bce/production/api/v2.0 |
驗證 | OAuth 2.0 - 用戶端憑證 |
用戶端 ID | fd04bae4-c30c-4faf-bbae-9263d4d96d61 |
用戶端密鑰 | projects/617888503870/secrets/businesscentral-client-secret |
密鑰版本 | 1 |
存取金鑰連線類型
欄位名稱 | 詳細資料 |
---|---|
位置 | europe-west1 |
連接器 | Dynamics365BusinessCentral |
連接器版本 | 1 |
連線名稱 | dynamics-businesscentral-on-prem-conn |
啟用 Cloud Logging | 是 |
服務帳戶 | SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com |
Azure 用戶群 | BC250 |
公司 | Altostart Ltd. |
節點數量下限 | 2 |
節點數量上限 | 50 |
機構網址 | http://10.128.0.78:7059/BC250/ODataV4 |
驗證 | 存取金鑰 |
使用者名稱 | businesscentral |
密碼 | 密碼 |
密鑰版本 | 1 |
存取金鑰 | OQq9qggeWxt9iZPSWrs8wgfNjsAq06PT2uls7Luhbp8= |
密鑰版本 | 1 |
Azure AD 連線類型
欄位名稱 | 詳細資料 |
---|---|
位置 | europe-west1 |
連接器 | Dynamics365BusinessCentral |
連接器版本 | 1 |
連線名稱 | d365-business-central-oauth |
啟用 Cloud Logging | 是 |
服務帳戶 | my-service-account@my-project.iam.gserviceaccount.com |
Azure 用戶群 | c9f472d9-7d8a-44cf-8ee0-458d32e26bce |
公司 | Altostart Ltd. |
節點數量下限 | 2 |
節點數量上限 | 50 |
機構網址 | https://api.businesscentral.dynamics.com/v2.0/c9f472d9-7d8a-44cf-8ee0-458d32e26bce/production/api/v2.0 |
驗證 | AzureAD |
用戶端 ID | fd04bae4-c30c-4faf-bbae-9263d4d96d61 |
範圍 | https://api.businesscentral.dynamics.com/.default |
用戶端密鑰 | projects/617888503870/secrets/d365bc-secret |
密鑰版本 | 3 |
授權網址 | https://login.microsoftonline.com/c9f472d9-7d8a-44cf-8ee0-458d32e26bce/oauth2/v2.0/authorize |
如要瞭解如何建立 Dynamics 365 Business Central 工作區,請參閱「歡迎使用 Dynamics 365 Business Central」一文。
如需 Dynamics 365 Business Central API 的相關資訊,請參閱 Dynamics365BusinessCentral API 參考資料。
系統限制
Dynamics 365 Business Central 連接器每個節點每秒最多可處理 25 筆交易,並節流超過此限制的所有交易。根據預設,Integration Connectors 會為連線分配 2 個節點 (可提高可用性)。
如要瞭解 Integration Connectors 適用的限制,請參閱「限制」一節。
在整合中使用 Dynamics 365 Business Central 連線
建立連線後,即可在 Apigee Integration 和 Application Integration 中使用。您可以透過「連接器」工作,在整合中使用連線。
- 如要瞭解如何在 Apigee Integration 中建立及使用連接器工作,請參閱「連接器工作」。
- 如要瞭解如何在 Application Integration 中建立及使用連接器工作,請參閱「連接器工作」。
實體操作範例
本節說明如何在這個連接器中執行部分實體作業。
範例:列出所有銷售訂單
- 在
Configure connector task
對話方塊中,按一下Entities
。 - 從
Entity
清單中選取salesOrders
。 - 選取
List
作業,然後按一下「完成」。 - 在「連接器」任務的「任務輸入」部分中,您可以設定「filterClause」。
您必須使用單引號 (') 括住篩選器子句的值。您可以使用篩選子句,根據資料欄篩選記錄。
範例:取得銷售訂單
- 在
Configure connector task
對話方塊中,按一下Entities
。 - 從
Entity
清單中選取salesOrders
。 - 選取
Get
作業,然後按一下「完成」。 - 將實體 ID 設為「841c04f9-3391-ef11-8a6b-002248d4e29e」,這是要傳遞的鍵。如要設定實體 ID,請在「資料對應」的「資料對應器」專區中,按一下「開啟資料對應編輯器」,然後在「輸入值」欄位中輸入
"841c04f9-3391-ef11-8a6b-002248d4e29e"
,並選擇 EntityId 做為區域變數。實體 ID 的值應直接傳遞,例如「841c04f9-3391-ef11-8a6b-002248d4e29e」。 其中「841c04f9-3391-ef11-8a6b-002248d4e29e」是唯一的主鍵值。
如果傳遞單一實體 ID 時,因存在兩個複合鍵而發生錯誤,您可以使用篩選器子句傳遞值。
範例:刪除銷售訂單
- 在
Configure connector task
對話方塊中,按一下Entities
。 - 從
Entity
清單中選取salesOrders
。 - 選取
DELETE
運算,然後按一下「Done」。 - 將實體 ID 設為「841c04f9-3391-ef11-8a6b-002248d4e29e」,這是要傳遞的鍵。如要設定實體 ID,請在「資料對應」的「資料對應器」專區中,按一下「開啟資料對應編輯器」,然後在「輸入值」欄位中輸入
"841c04f9-3391-ef11-8a6b-002248d4e29e"
,並選擇 EntityId 做為區域變數。如果實體有兩個複合式商務或主鍵,而非指定 entityId,您也可以將 filterClause 設為
id='841c04f9-3391-ef11-8a6b-002248d4e29e'
。
範例:建立銷售訂單
- 在
Configure connector task
對話方塊中,按一下Entities
。 - 從
Entity
清單中選取salesOrders
。 - 選取
Create
運算,然後按一下「Done」。 - 在「資料對應」任務的「資料對應器」部分,按一下
Open Data Mapping Editor
,然後在Input Value
欄位中輸入類似下列的值,並選擇 EntityId/ConnectorInputPayload 做為本機變數。{ "orderDate": "2024-10-30", "customerNumber": "10000", "currencyCode": "INR", "paymentTermsId": "590d75c5-f26e-ef11-a678-6045bdc89b07" }
如果整合成功,
salesOrders
工作項的connectorOutputPayload
回應參數會包含類似以下的值:{ "id": "2e048d8a-a796-ef11-8a6b-6045bdae882d" }
範例:建立銷售訂單明細
- 在
Configure connector task
對話方塊中,按一下Entities
。 - 從
Entity
清單中選取salesOrderLines
。 - 選取
Create
運算,然後按一下「Done」。 - 在「資料對應」任務的「資料對應器」部分中,按一下
Open Data Mapping Editor
,然後在Input Value
欄位中輸入類似下列的值,並選擇 EntityId/ConnectorInputPayload 做為本機變數。{ "documentId": "b747cc93-c37f-ef11-ac23-7c1e523b4365", "sequence": 10014, "itemId": "8b0f75c5-f26e-ef11-a678-6045bdc89b07", "lineType": "Item", "lineObjectNumber": "1996-S" }
如果整合成功,
salesOrderLines
工作項的connectorOutputPayload
回應參數會包含類似以下的值:{ "id": "35535130-d09d-ef11-8a6b-002248d4cc93" }
範例:建立銷售報價
- 在
Configure connector task
對話方塊中,按一下Entities
。 - 從
Entity
清單中選取salesQuotes
。 - 選取
Create
運算,然後按一下「Done」。 - 在「資料對應」任務的「資料對應器」部分中,按一下
Open Data Mapping Editor
,然後在Input Value
欄位中輸入類似下列的值,並選擇 EntityId/ConnectorInputPayload 做為本機變數。{ "paymentTermsId": "590d75c5-f26e-ef11-a678-6045bdc89b07", "currencyCode": "INR", "customerNumber": "30000" }
如果整合成功,
salesQuotes
工作項的connectorOutputPayload
回應參數會包含類似以下的值:{ "id": "2116bd4e-3ba3-ef11-8a6b-6045bdacfb5e" }
範例:建立訂購單
- 在
Configure connector task
對話方塊中,按一下Entities
。 - 從
Entity
清單中選取purchaseOrders
。 - 選取
Create
運算,然後按一下「Done」。 - 在「資料對應」任務的「資料對應器」部分中,按一下
Open Data Mapping Editor
,然後在Input Value
欄位中輸入類似下列的值,並選擇 EntityId/ConnectorInputPayload 做為本機變數。{ "vendorId": "7e0f75c5-f26e-ef11-a678-6045bdc89b07", "vendorNumber": "10000" }
如果整合成功,
purchaseOrders
工作項的connectorOutputPayload
回應參數會包含類似以下的值:{ "id": "53389ee7-a796-ef11-8a6b-6045bdae882d" }
範例:建立項目
- 在
Configure connector task
對話方塊中,按一下Entities
。 - 從
Entity
清單中選取items
。 - 選取
Create
運算,然後按一下「Done」。 - 在「資料對應」任務的「資料對應器」部分中,按一下
Open Data Mapping Editor
,然後在Input Value
欄位中輸入類似下列的值,並選擇 EntityId/ConnectorInputPayload 做為本機變數。{ "number": "4000-D", "displayName": "Charlie Altostrat", "type": "Inventory", "itemCategoryId": "d61672cb-f26e-ef11-a678-6045bdc89b07", "baseUnitOfMeasureCode": "PCS" }
如果整合成功,
items
工作項的connectorOutputPayload
回應參數會包含類似以下的值:{ "id": "fad09437-8d9e-ef11-8a6b-000d3af0e092" }
範例:更新銷售訂單
- 在
Configure connector task
對話方塊中,按一下Entities
。 - 從
Entity
清單中選取salesOrders
。 - 選取
Update
運算,然後按一下「Done」。 - 在「資料對應」任務的「資料對應器」部分,按一下
Open Data Mapping Editor
,然後在Input Value
欄位中輸入類似下列的值,並選擇 EntityId/ConnectorInputPayload/FilterClause 做為本機變數。{ "phoneNumber": "7764872993" }
- 將 Data Mapper 中的實體 ID 設為 salesOrders 實體。如要設定實體 ID,請按一下
Open Data Mapping Editor
,然後在Input Value
欄位中輸入類似下列的值,並選擇 EntityId/ConnectorInputPayload/FilterClause 做為區域變數。您也可以將 entityId 設為
id ='5e9226d3-1c7b-ef11-a671-6045bdaef76c'
,而非指定 entityId。
範例:更新銷售訂單明細
- 在
Configure connector task
對話方塊中,按一下Entities
。 - 從
Entity
清單中選取salesOrderLines
。 - 選取
Update
運算,然後按一下「Done」。 - 在「資料對應」任務的「資料對應器」部分,按一下
Open Data Mapping Editor
,然後在Input Value
欄位中輸入類似下列的值,並選擇 EntityId/ConnectorInputPayload/FilterClause 做為本機變數。{ "description": "Test from Altostrat" }
- 將 Data Mapper 中的實體 ID 設為 salesOrderLines 的實體。如要設定實體 ID,請按一下
Open Data Mapping Editor
,然後在Input Value
欄位中輸入類似下列的值,並選擇 EntityId/ConnectorInputPayload/FilterClause 做為本機變數。您也可以將 entityId 設為
id ='35535130-d09d-ef11-8a6b-002248d4cc93'
,而非指定 entityId。
範例:更新銷售報價
- 在
Configure connector task
對話方塊中,按一下Entities
。 - 從
Entity
清單中選取salesQuotes
。 - 選取
Update
運算,然後按一下「Done」。 - 在「資料對應」任務的「資料對應器」部分,按一下
Open Data Mapping Editor
,然後在Input Value
欄位中輸入類似下列的值,並選擇 EntityId/ConnectorInputPayload/FilterClause 做為本機變數。{ "currencyCode": "USD" }
- 將 Data Mapper 中的實體 ID 設為 salesQuotes 的實體。如要設定實體 ID,請按一下
Open Data Mapping Editor
,然後在Input Value
欄位中輸入類似下列的值,並選擇 EntityId/ConnectorInputPayload/FilterClause 做為本機變數。您也可以將 entityId 設為
id='2116bd4e-3ba3-ef11-8a6b-6045bdacfb5e'
,而非指定 entityId。
範例:更新訂購單
- 在
Configure connector task
對話方塊中,按一下Entities
。 - 從
Entity
清單中選取purchaseOrders
。 - 選取
Update
運算,然後按一下「Done」。 - 在「資料對應」任務的「資料對應器」部分,按一下
Open Data Mapping Editor
,然後在Input Value
欄位中輸入類似下列的值,並選擇 EntityId/ConnectorInputPayload/FilterClause 做為本機變數。{ "shipToName": "Charlie Cruz" }
- 將 Data Mapper 中的實體 ID 設為 purchaseOrders 的實體。如要設定實體 ID,請按一下
Open Data Mapping Editor
,然後在Input Value
欄位中輸入類似下列的值,並選擇 EntityId/ConnectorInputPayload/FilterClause 做為本機變數。您也可以將 entityId 設為
id ='6b88738e-3891-ef11-8a6b-002248d4e29e'
,而非指定 entityId。
範例:更新商品
- 在
Configure connector task
對話方塊中,按一下Entities
。 - 從
Entity
清單中選取items
。 - 選取
Update
運算,然後按一下「Done」。 - 在「資料對應」任務的「資料對應器」部分,按一下
Open Data Mapping Editor
,然後在Input Value
欄位中輸入類似下列的值,並選擇 EntityId/ConnectorInputPayload/FilterClause 做為本機變數。{ "displayName": "Updates Altostrat name" }
- 將 Data Mapper 中的實體 ID 設為項目實體。如要設定實體 ID,請按一下
Open Data Mapping Editor
,然後在Input Value
欄位中輸入類似下列的值,並選擇 EntityId/ConnectorInputPayload/FilterClause 做為區域變數。您也可以將 entityId 設為
id ='fad09437-8d9e-ef11-8a6b-000d3af0e092'
,而非指定 entityId。