Dynamics 365 Business Central
借助 Dynamics 365 Business Central 连接器,您可以对 Dynamics 365 Business Central 数据执行插入、删除、更新和读取操作。
支持的版本
此连接器支持以下版本:
准备工作
在使用 Dynamics365 连接器之前,请先完成以下任务:
- 在您的 Google Cloud 项目中:
- 确保已设置网络连接。如需了解网络模式,请参阅网络连接。
- 启用以下服务:
secretmanager.googleapis.com
(Secret Manager API)connectors.googleapis.com
(Connectors API)
如需了解如何启用服务,请参阅启用服务。
如果之前没有为您的项目启用这些服务或权限,则在您配置连接器时,系统会提示您启用。
配置连接器
一个连接需专用于一个数据源。这意味着,如果您有许多数据源,则必须为每个数据源创建单独的连接。如需创建连接,请执行以下操作:
- 在 Cloud 控制台 中,进入 Integration Connectors > 连接页面,然后选择或创建一个 Google Cloud 项目。
- 点击 + 新建以打开创建连接页面。
- 在位置部分中,选择连接的位置。
- 区域:从下拉列表中选择一个位置。
连接器支持的区域包括:
如需查看所有受支持区域的列表,请参阅位置。
- 点击下一步。
- 区域:从下拉列表中选择一个位置。
- 在连接详情部分中,完成以下操作:
- 连接器:从可用连接器的下拉列表中选择 Dynamics 365 Business Central。
- 连接器版本:从可用版本的下拉列表中选择一个连接器版本。
- 在连接名称字段中,输入连接实例的名称。
连接名称必须符合以下条件:
- 连接名称可以使用字母、数字或连字符。
- 字母必须小写。
- 连接名称必须以字母开头,以字母或数字结尾。
- 连接名称不能超过 49 个字符。
- (可选)输入连接实例的说明。
- 您可以选择启用 Cloud Logging,然后选择日志级别。默认情况下,日志级别设置为
Error
。 - 服务账号:选择具有所需角色的服务账号。
- (可选)配置连接节点设置。
- 节点数下限:输入连接节点数下限。
- 节点数上限:输入连接节点数上限。
- Azure 租户:指定用于访问数据的 Microsoft 在线租户。如果未指定,系统将使用您的默认租户。
- 公司:指定您在 Dynamics 365 中设置的公司名称。您可以在 Dynamics 365 Business Central 的公司信息页面中找到此信息。
- 端点类型:指定 OrganizationUrl 必须解析到的端点类型。
- Include Navigation Properties:指定列列表是否必须包含导航属性。导航属性提供了一种在两个实体类型之间导航的关联的方法。
- 使用沙盒:指定是否使用沙盒。
- 用户定义的视图:指定用于定义自定义视图的 JSON 配置文件的文件路径。
- 点击 + 添加标签,以键值对的形式向连接添加标签。
- (可选)如果要使用 SSL,请选择启用 SSL。此时会显示 SSL 配置详细信息。
- 选择信任库类型。可以为公共、专用或不安全连接。
- 根据您选择的信任库选择证书。
- 如果您使用的是 mTLS,请在密钥库部分中选择密钥库证书。
- 点击下一步。
节点是处理事务的连接单元(或副本)。 连接处理越多事务就需要越多节点,相反,处理越少事务需要越少节点。 如需了解节点如何影响连接器价格,请参阅 连接节点的价格。如果未输入任何值,则默认情况下,节点数下限设置为 2(以便提高可用性),节点数上限设置为 50。
- 选择身份验证类型,然后输入相关详细信息。
Dynamics 365 Business Central 连接支持以下身份验证类型:
- 访问密钥
- OAuth 2.0 - 客户端凭据
- Azure AD
- 点击下一步。
如需了解如何配置这些身份验证类型,请参阅配置身份验证。
配置身份验证
根据您要使用的身份验证输入详细信息。
-
访问密钥
- 用户名:指定用于对 Microsoft Dynamics 365 Business Central 服务器进行身份验证的 Dynamics 365 本地账号的用户名。
- 密码:选择包含 Dynamics 365 本地账号密码的 Secret。
- Secret 版本:选择 Secret 的版本。
- 访问密钥:指定用于向 Microsoft Dynamics 365 Business Central 进行身份验证的访问密钥。
-
OAuth 2.0 客户端凭据
- 客户端 ID:指定您创建的应用的客户端 ID。
- 客户端密钥:指定包含您创建的关联应用的客户端密钥的 Secret Manager Secret。
- 密钥版本:客户端密钥的版本。
- 客户端 ID:指定请求访问令牌时所用的客户端 ID。您可以在 Azure 门户中创建的关联应用的概览中找到此信息。
- 范围:指定所需范围的逗号分隔列表。
- 客户端密钥:指定包含账号访问密钥的 Secret Manager Secret。
- 授权网址:输入您在创建 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 |
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 |
密码 | PASSWORD |
Secret 版本 | 1 |
访问密钥 | OQq9qggeWxt9iZPSWrs8wgfNjsAq06PT2uls7Luhbp8= |
Secret 版本 | 1 |
如需了解如何创建 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
操作,然后点击完成。 - 将实体 ID 设置为“841c04f9-3391-ef11-8a6b-002248d4e29e”,这是要传递的键。如需设置实体 ID,请在数据映射的数据映射器部分,点击打开数据映射编辑器,然后在输入值字段中输入
"841c04f9-3391-ef11-8a6b-002248d4e29e"
,并选择 EntityId 作为本地变量。如果实体具有两个复合商家键或主键,您也可以将 filterClause 设置为
id='841c04f9-3391-ef11-8a6b-002248d4e29e'
,而不是指定 entityId。
示例 - 创建销售订单
- 在
Configure connector task
对话框中,点击Entities
。 - 从
Entity
列表中选择salesOrders
。 - 选择
Create
操作,然后点击完成。 - 在数据映射任务的数据映射器部分,点击
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
操作,然后点击完成。 - 在数据映射任务的数据映射器部分,点击
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
操作,然后点击完成。 - 在数据映射任务的数据映射器部分,点击
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
操作,然后点击完成。 - 在数据映射任务的数据映射器部分,点击
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
操作,然后点击完成。 - 在数据映射任务的数据映射器部分,点击
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
操作,然后点击完成。 - 在数据映射任务的数据映射器部分中,点击
Open Data Mapping Editor
,然后在Input Value
字段中输入类似于以下内容的值,并选择 EntityId/ConnectorInputPayload/FilterClause 作为本地变量。{ "phoneNumber": "7764872993" }
- 将数据映射器中的实体 ID 设置为 salesOrders 的实体。如需设置实体 ID,请点击
Open Data Mapping Editor
,然后在Input Value
字段中输入类似于以下内容的值,并选择 EntityId/ConnectorInputPayload/FilterClause 作为本地变量。您也可以将 filterClause 设置为
id ='5e9226d3-1c7b-ef11-a671-6045bdaef76c'
,而不是指定 entityId。
示例 - 更新销售订单明细
- 在
Configure connector task
对话框中,点击Entities
。 - 从
Entity
列表中选择salesOrderLines
。 - 选择
Update
操作,然后点击完成。 - 在数据映射任务的数据映射器部分,点击
Open Data Mapping Editor
,然后在Input Value
字段中输入类似于以下内容的值,并选择 EntityId/ConnectorInputPayload/FilterClause 作为本地变量。{ "description": "Test from Altostrat" }
- 将数据映射器中的实体 ID 设置为 salesOrderLines 的实体。如需设置实体 ID,请点击
Open Data Mapping Editor
,然后在Input Value
字段中输入类似于以下内容的值,并选择 EntityId/ConnectorInputPayload/FilterClause 作为本地变量。您也可以将 filterClause 设置为
id ='35535130-d09d-ef11-8a6b-002248d4cc93'
,而不是指定 entityId。
示例 - 更新销售报价
- 在
Configure connector task
对话框中,点击Entities
。 - 从
Entity
列表中选择salesQuotes
。 - 选择
Update
操作,然后点击完成。 - 在数据映射任务的数据映射器部分,点击
Open Data Mapping Editor
,然后在Input Value
字段中输入类似于以下内容的值,并选择 EntityId/ConnectorInputPayload/FilterClause 作为本地变量。{ "currencyCode": "USD" }
- 将数据映射器中的实体 ID 设置为 salesQuotes 的实体。如需设置实体 ID,请点击
Open Data Mapping Editor
,然后在Input Value
字段中输入类似于以下值的值,并选择 EntityId/ConnectorInputPayload/FilterClause 作为本地变量。您也可以将 filterClause 设置为
id='2116bd4e-3ba3-ef11-8a6b-6045bdacfb5e'
,而不是指定 entityId。
示例 - 更新采购订单
- 在
Configure connector task
对话框中,点击Entities
。 - 从
Entity
列表中选择purchaseOrders
。 - 选择
Update
操作,然后点击完成。 - 在数据映射任务的数据映射器部分中,点击
Open Data Mapping Editor
,然后在Input Value
字段中输入类似于以下内容的值,并选择 EntityId/ConnectorInputPayload/FilterClause 作为本地变量。{ "shipToName": "Charlie Cruz" }
- 将数据映射器中的实体 ID 设置为 purchaseOrders 的实体。如需设置实体 ID,请点击
Open Data Mapping Editor
,然后在Input Value
字段中输入类似于以下内容的值,并选择 EntityId/ConnectorInputPayload/FilterClause 作为本地变量。您也可以将 filterClause 设置为
id ='6b88738e-3891-ef11-8a6b-002248d4e29e'
,而不是指定 entityId。
示例 - 更新商品
- 在
Configure connector task
对话框中,点击Entities
。 - 从
Entity
列表中选择items
。 - 选择
Update
操作,然后点击完成。 - 在数据映射任务的数据映射器部分,点击
Open Data Mapping Editor
,然后在Input Value
字段中输入类似于以下内容的值,并选择 EntityId/ConnectorInputPayload/FilterClause 作为本地变量。{ "displayName": "Updates Altostrat name" }
- 将数据映射器中的实体 ID 设置为项的实体。如需设置实体 ID,请点击
Open Data Mapping Editor
,然后在Input Value
字段中输入类似于以下内容的值,并选择 EntityId/ConnectorInputPayload/FilterClause 作为本地变量。您也可以将 filterClause 设置为
id ='fad09437-8d9e-ef11-8a6b-000d3af0e092'
,而不是指定 entityId。