Dynamics 365 Business Central

借助 Dynamics 365 Business Central 连接器,您可以对 Dynamics 365 Business Central 数据执行插入、删除、更新和读取操作。

支持的版本

此连接器支持以下版本:

  • Dynamics 365 Business Central Cloud,正式版 - 24.5.23489.26544
  • Dynamics 365 Business Central(本地版)- Dynamics.365.BC.25445.IN.DVD
  • 准备工作

    在使用 Dynamics365 连接器之前,请先完成以下任务:

    • 在您的 Google Cloud 项目中:
      • 确保已设置网络连接。如需了解网络模式,请参阅网络连接
      • 启用以下服务:
        • secretmanager.googleapis.com (Secret Manager API)
        • connectors.googleapis.com (Connectors API)

        如需了解如何启用服务,请参阅启用服务

      如果之前没有为您的项目启用这些服务或权限,则在您配置连接器时,系统会提示您启用。

    配置连接器

    一个连接需专用于一个数据源。这意味着,如果您有许多数据源,则必须为每个数据源创建单独的连接。如需创建连接,请执行以下操作:

    1. Cloud 控制台 中,进入 Integration Connectors > 连接页面,然后选择或创建一个 Google Cloud 项目。

      转到“连接”页面

    2. 点击 + 新建以打开创建连接页面。
    3. 位置部分中,选择连接的位置。
      1. 区域:从下拉列表中选择一个位置。

        连接器支持的区域包括:

        如需查看所有受支持区域的列表,请参阅位置

      2. 点击下一步
    4. 连接详情部分中,完成以下操作:
      1. 连接器:从可用连接器的下拉列表中选择 Dynamics 365 Business Central
      2. 连接器版本:从可用版本的下拉列表中选择一个连接器版本。
      3. 连接名称字段中,输入连接实例的名称。

        连接名称必须符合以下条件:

        • 连接名称可以使用字母、数字或连字符。
        • 字母必须小写。
        • 连接名称必须以字母开头,以字母或数字结尾。
        • 连接名称不能超过 49 个字符。
      4. (可选)输入连接实例的说明
      5. 您可以选择启用 Cloud Logging,然后选择日志级别。默认情况下,日志级别设置为 Error
      6. 服务账号:选择具有所需角色的服务账号。
      7. (可选)配置连接节点设置
        • 节点数下限:输入连接节点数下限。
        • 节点数上限:输入连接节点数上限。

        节点是处理事务的连接单元(或副本)。 连接处理越多事务就需要越多节点,相反,处理越少事务需要越少节点。 如需了解节点如何影响连接器价格,请参阅 连接节点的价格。如果未输入任何值,则默认情况下,节点数下限设置为 2(以便提高可用性),节点数上限设置为 50。

      8. Azure 租户:指定用于访问数据的 Microsoft 在线租户。如果未指定,系统将使用您的默认租户。
      9. 公司:指定您在 Dynamics 365 中设置的公司名称。您可以在 Dynamics 365 Business Central 的公司信息页面中找到此信息。
      10. 端点类型:指定 OrganizationUrl 必须解析到的端点类型。
      11. Include Navigation Properties:指定列列表是否必须包含导航属性。导航属性提供了一种在两个实体类型之间导航的关联的方法。
      12. 使用沙盒:指定是否使用沙盒。
      13. 用户定义的视图:指定用于定义自定义视图的 JSON 配置文件的文件路径。
      14. 点击 + 添加标签,以键值对的形式向连接添加标签。
      15. (可选)如果要使用 SSL,请选择启用 SSL。此时会显示 SSL 配置详细信息。
        1. 选择信任库类型。可以为公共专用不安全连接
        2. 根据您选择的信任库选择证书。
        3. 如果您使用的是 mTLS,请在密钥库部分中选择密钥库证书。
      16. 点击下一步
    5. 选择身份验证类型,然后输入相关详细信息。

      Dynamics 365 Business Central 连接支持以下身份验证类型:

      • 访问密钥
      • OAuth 2.0 - 客户端凭据
      • Azure AD
    6. 如需了解如何配置这些身份验证类型,请参阅配置身份验证

    7. 点击下一步
  • 查看:查看您的连接和身份验证详细信息。
  • 点击创建
  • 配置身份验证

    根据您要使用的身份验证输入详细信息。

    • 访问密钥
      • 用户名:指定用于对 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。
      • 密钥版本:客户端密钥的版本。
  • Azure AD
    • 客户端 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 中创建和使用连接器任务,请参阅连接器任务

    实体操作示例

    本部分介绍如何在此连接器中执行一些实体操作。

    示例 - 列出所有销售订单

    1. Configure connector task 对话框中,点击 Entities
    2. Entity 列表中选择 salesOrders
    3. 选择 List 操作,然后点击完成
    4. 连接器任务的任务输入部分,您可以设置 filterClause
    5. 您必须使用单引号 (') 括住过滤条件子句的值。您可以使用过滤子句根据列过滤记录。

    示例 - 获取销售订单

    1. Configure connector task 对话框中,点击 Entities
    2. Entity 列表中选择 salesOrders
    3. 选择 Get 操作,然后点击完成
    4. 将实体 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 时抛出错误,您可以使用过滤子句传递值。

    示例 - 删除销售订单

    1. Configure connector task 对话框中,点击 Entities
    2. Entity 列表中选择 salesOrders
    3. 选择 DELETE 操作,然后点击完成
    4. 将实体 ID 设置为“841c04f9-3391-ef11-8a6b-002248d4e29e”,这是要传递的键。如需设置实体 ID,请在数据映射数据映射器部分,点击打开数据映射编辑器,然后在输入值字段中输入 "841c04f9-3391-ef11-8a6b-002248d4e29e",并选择 EntityId 作为本地变量。

      如果实体具有两个复合商家键或主键,您也可以将 filterClause 设置为 id='841c04f9-3391-ef11-8a6b-002248d4e29e',而不是指定 entityId

    示例 - 创建销售订单

    1. Configure connector task 对话框中,点击 Entities
    2. Entity 列表中选择 salesOrders
    3. 选择 Create 操作,然后点击完成
    4. 数据映射任务的数据映射器部分,点击 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"
           }
           

    示例 - 创建销售订单明细

    1. Configure connector task 对话框中,点击 Entities
    2. Entity 列表中选择 salesOrderLines
    3. 选择 Create 操作,然后点击完成
    4. 数据映射任务的数据映射器部分,点击 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"
           }
           

    示例 - 创建销售报价

    1. Configure connector task 对话框中,点击 Entities
    2. Entity 列表中选择 salesQuotes
    3. 选择 Create 操作,然后点击完成
    4. 数据映射任务的数据映射器部分,点击 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"
           }
           

    示例 - 创建采购订单

    1. Configure connector task 对话框中,点击 Entities
    2. Entity 列表中选择 purchaseOrders
    3. 选择 Create 操作,然后点击完成
    4. 数据映射任务的数据映射器部分,点击 Open Data Mapping Editor,然后在 Input Value 字段中输入类似于以下内容的值,并选择 EntityId/ConnectorInputPayload 作为本地变量。
      {
           "vendorId": "7e0f75c5-f26e-ef11-a678-6045bdc89b07",
           "vendorNumber": "10000"
           }
           

      如果集成成功,purchaseOrders 任务的 connectorOutputPayload 响应参数的值将类似于以下内容:

      {
           "id": "53389ee7-a796-ef11-8a6b-6045bdae882d"
           }
           

    示例 - 创建商品

    1. Configure connector task 对话框中,点击 Entities
    2. Entity 列表中选择 items
    3. 选择 Create 操作,然后点击完成
    4. 数据映射任务的数据映射器部分,点击 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"
           }
           

    示例 - 更新销售订单

    1. Configure connector task 对话框中,点击 Entities
    2. Entity 列表中选择 salesOrders
    3. 选择 Update 操作,然后点击完成
    4. 数据映射任务的数据映射器部分中,点击 Open Data Mapping Editor,然后在 Input Value 字段中输入类似于以下内容的值,并选择 EntityId/ConnectorInputPayload/FilterClause 作为本地变量。
      {
           "phoneNumber": "7764872993"
           }
           
    5. 将数据映射器中的实体 ID 设置为 salesOrders 的实体。如需设置实体 ID,请点击 Open Data Mapping Editor,然后在 Input Value 字段中输入类似于以下内容的值,并选择 EntityId/ConnectorInputPayload/FilterClause 作为本地变量。

      您也可以将 filterClause 设置为 id ='5e9226d3-1c7b-ef11-a671-6045bdaef76c',而不是指定 entityId

    示例 - 更新销售订单明细

    1. Configure connector task 对话框中,点击 Entities
    2. Entity 列表中选择 salesOrderLines
    3. 选择 Update 操作,然后点击完成
    4. 数据映射任务的数据映射器部分,点击 Open Data Mapping Editor,然后在 Input Value 字段中输入类似于以下内容的值,并选择 EntityId/ConnectorInputPayload/FilterClause 作为本地变量。
      {
           "description": "Test from Altostrat"
           }
           
    5. 将数据映射器中的实体 ID 设置为 salesOrderLines 的实体。如需设置实体 ID,请点击 Open Data Mapping Editor,然后在 Input Value 字段中输入类似于以下内容的值,并选择 EntityId/ConnectorInputPayload/FilterClause 作为本地变量。

      您也可以将 filterClause 设置为 id ='35535130-d09d-ef11-8a6b-002248d4cc93',而不是指定 entityId

    示例 - 更新销售报价

    1. Configure connector task 对话框中,点击 Entities
    2. Entity 列表中选择 salesQuotes
    3. 选择 Update 操作,然后点击完成
    4. 数据映射任务的数据映射器部分,点击 Open Data Mapping Editor,然后在 Input Value 字段中输入类似于以下内容的值,并选择 EntityId/ConnectorInputPayload/FilterClause 作为本地变量。
      {
           "currencyCode": "USD"
           }
           
    5. 将数据映射器中的实体 ID 设置为 salesQuotes 的实体。如需设置实体 ID,请点击 Open Data Mapping Editor,然后在 Input Value 字段中输入类似于以下值的值,并选择 EntityId/ConnectorInputPayload/FilterClause 作为本地变量。

      您也可以将 filterClause 设置为 id='2116bd4e-3ba3-ef11-8a6b-6045bdacfb5e',而不是指定 entityId

    示例 - 更新采购订单

    1. Configure connector task 对话框中,点击 Entities
    2. Entity 列表中选择 purchaseOrders
    3. 选择 Update 操作,然后点击完成
    4. 数据映射任务的数据映射器部分中,点击 Open Data Mapping Editor,然后在 Input Value 字段中输入类似于以下内容的值,并选择 EntityId/ConnectorInputPayload/FilterClause 作为本地变量。
      {
           "shipToName": "Charlie Cruz"
           }
           
    5. 将数据映射器中的实体 ID 设置为 purchaseOrders 的实体。如需设置实体 ID,请点击 Open Data Mapping Editor,然后在 Input Value 字段中输入类似于以下内容的值,并选择 EntityId/ConnectorInputPayload/FilterClause 作为本地变量。

      您也可以将 filterClause 设置为 id ='6b88738e-3891-ef11-8a6b-002248d4e29e',而不是指定 entityId

    示例 - 更新商品

    1. Configure connector task 对话框中,点击 Entities
    2. Entity 列表中选择 items
    3. 选择 Update 操作,然后点击完成
    4. 数据映射任务的数据映射器部分,点击 Open Data Mapping Editor,然后在 Input Value 字段中输入类似于以下内容的值,并选择 EntityId/ConnectorInputPayload/FilterClause 作为本地变量。
      {
           "displayName": "Updates Altostrat name"
           }
           
    5. 将数据映射器中的实体 ID 设置为项的实体。如需设置实体 ID,请点击 Open Data Mapping Editor,然后在 Input Value 字段中输入类似于以下内容的值,并选择 EntityId/ConnectorInputPayload/FilterClause 作为本地变量。

      您也可以将 filterClause 设置为 id ='fad09437-8d9e-ef11-8a6b-000d3af0e092',而不是指定 entityId

    向 Google Cloud 社区寻求帮助

    您可以在 Google Cloud 社区的 Cloud 论坛中发布您的问题以及讨论此连接器。

    后续步骤