SAP Ariba Procurement

借助 SAP Ariba Procurement 连接器,您可以对 SAP Ariba Procurement 数据执行插入、更新和读取操作。

支持的版本

此连接器支持 SAP Ariba Procurement REST API。

准备工作

在 Google Cloud 项目中,执行以下任务:

  • 确保已设置网络连接。如需了解相关信息,请参阅网络连接
  • 向配置连接器的用户授予 roles/connectors.admin IAM 角色。
  • 向您要用于连接器的服务账号授予 roles/secretmanager.viewerroles/secretmanager.secretAccessor IAM 角色
  • 启用 secretmanager.googleapis.com (Secret Manager API) 和 connectors.googleapis.com (Connectors API)。 如需了解详情,请参阅启用服务

配置连接器

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

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

    转到“连接”页面

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

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

    2. 点击下一步
  4. 连接详情部分中,完成以下操作:
    1. 连接器:从可用连接器列表中选择 SAP Ariba Procurement
    2. 连接器版本:从可用版本的列表中选择连接器版本。
    3. 连接名称字段中,输入连接实例的名称。连接名称可以包含小写字母、数字或连字符。名称必须以字母开头,以字母或数字结尾,且不得超过 49 个字符。
    4. 说明:输入连接实例的说明。
    5. 您可以选择启用 Cloud Logging,然后选择日志级别。默认情况下,日志级别设置为 Error
    6. 服务账号:选择具有所需角色的服务账号。
    7. ANID:指定您的 SAP Ariba Network ID。
    8. API 密钥:输入 OAuth 应用密钥以进行身份验证。
    9. Realm:输入连接的 SAP Ariba realm。
    10. API:输入要从中检索数据的 SAP Ariba API。
    11. 数据中心:输入您账号的数据托管的地理位置。
    12. 环境:输入要连接的 SAP Ariba 环境。
    13. (可选)配置连接节点设置

      • 节点数下限:输入连接节点数下限。
      • 节点数上限:输入连接节点数上限。

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

    14. + 添加标签:点击此按钮可为连接添加标签(以键值对的形式)。
    15. 点击下一步
  5. 身份验证部分中,输入身份验证详细信息。
    1. 选择身份验证类型,然后输入相关详细信息。

      SAP Ariba Procurement 连接支持以下身份验证类型:

      • OAuth 2.0 - 客户端凭据

      如需了解如何配置这些身份验证类型,请参阅配置身份验证

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

配置身份验证

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

  • OAuth 2.0 - 客户端凭据
    • 客户端 ID:输入您创建的应用的客户端 ID。
    • 客户端密钥:输入包含您创建的关联应用的客户端密钥的 Secret Manager 密文。
    • 密钥版本:选择客户端密钥的密钥版本。
    • 启用身份验证覆盖:启用此选项可覆盖身份验证。

连接配置示例

本部分列出了创建连接时配置的各个字段的示例值。

OAuth 2.0 - 客户端凭据连接类型

字段名称 详细信息
位置 europe-west1
连接器 SAP Ariba Procurement
连接器版本 1
连接名称 gcp-sapariba-procurement-po-supplier
启用 Cloud Logging
服务账号 my-service-account@my-project.iam.gserviceaccount.com
日志级别 调试
ANID AN11234322444-T
API 密钥 gaTawAf8m3gtAs8gPyUbU9Be1eLXbvFq
大区 745628447-T
API PurchaseOrdersSupplierAPI-V1
数据中心 美国
环境 测试
节点数下限 2
节点数上限 50
身份验证 OAuth 2.0 - 客户端凭据
客户端 ID 4c71c4d4-d7e9-494e-807f-9dead41abc6f
客户端密钥 projects/617888503870/secrets/AribaProcurement/versions/10
Secret 版本 10

系统限制

SAP Ariba Procurement 连接器每秒最多可以处理 3 笔交易(每节点),并且会限制超出此限制的任何交易。默认情况下,Integration Connectors 会为连接分配 2 个节点(以提高可用性)。

如需了解适用于 Integration Connectors 的限制,请参阅限制

在集成中使用 SAP Ariba Procurement 连接

创建连接后,该连接将在 Apigee Integration 和 Application Integration 中可用。您可以通过连接器任务在集成中使用该连接。

  • 如需了解如何在 Apigee Integration 中创建和使用连接器任务,请参阅连接器任务
  • 如需了解如何在 Application Integration 中创建和使用连接器任务,请参阅连接器任务

操作

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

CreateChildElementSchema 操作

此操作会为视图模板中的文档数组创建一个架构文件。

CreateChildElementSchema 操作的输入参数

参数名称 类型 接受输出流 说明
ViewTemplateName 字符串 错误 现有视图模板的名称。
ChildElement 字符串 错误 视图模板中子元素或文档数组的点表示法,例如 LineItems.SplitAccountings
TableName 字符串 错误 新表的名称,例如 View_LineItems_SplitAccountings
FileName 字符串 错误 生成的架构的文件名。此路径可以是相对路径,也可以是所需保存位置的绝对路径。
FileStream 字符串 True 用于写入文件数据的输出流的实例。

如需查看有关如何配置 CreateChildElementSchema 操作的示例,请参阅示例

CreateSchema 操作

为指定的表或视图创建架构文件。

CreateSchema 操作的输入参数

参数名称 类型 接受输出流 说明
TableName 字符串 错误 新表的名称。
FileName 字符串 错误 生成的架构的文件名。此路径可以是相对路径,也可以是所需保存位置的绝对路径。
FileStream 字符串 错误 用于写入文件数据的输出流的实例。

如需查看有关如何配置 CreateSchema 操作的示例,请参阅示例

操作示例

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

示例 - 创建子元素架构

  1. Configure connector task 对话框中,点击 Actions
  2. 选择 CreateChildElementSchema 操作,然后点击完成
  3. 连接器任务的任务输入部分中,点击 connectorInputPayload,然后在 Default Value 字段中输入类似于以下内容的值:
    {
      "ViewTemplateName": "InvoiceReconciliation_SAP_createdRange",
      "ChildElement": "Payments",
      "TableName": "View_LineItems_SplitAccountings"
    }
    
  4. 如果操作成功,连接器任务的 connectorOutputPayload 响应参数将具有类似以下的值:

    [
      {
        "FileData": "",
        "Result": "success"
      }
    ]
    

示例 - 创建架构

  1. Configure connector task 对话框中,点击 Actions
  2. 选择 CreateSchema 操作,然后点击完成
  3. 连接器任务的任务输入部分中,点击 connectorInputPayload,然后在 Default Value 字段中输入类似于以下内容的值:
    {
      "TableName": "Views"
    }
    
  4. 如果操作成功,连接器任务的 connectorOutputPayload 响应参数将具有类似以下的值:

    [
      {
        "FileData": "",
        "Result": "success"
      }
    ]
    

实体操作示例

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

示例 - 列出所有订单

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

示例 - 列出所有订单项

  1. Configure connector task 对话框中,点击 Entities
  2. Entity 列表中选择 LineItems
  3. 选择 List 操作,然后点击完成
  4. 连接器任务的任务输入部分,您可以根据客户要求设置 filterClause

示例 - 获取订单详细信息

  1. Configure connector task 对话框中,点击 Entities
  2. Entity 列表中选择 Orders
  3. 选择 Get 操作,然后点击完成
  4. 将 entityId 设置为“DO240”,这是要传递的键。如需设置 entityId,请在数据映射数据映射器部分中,点击打开数据映射编辑器,然后在输入值字段中输入 "DO240",并选择 entityId 作为局部变量。
  5. 您应直接传递 entityId 的值,例如“DO240”。其中,“DO240”是唯一的主键值。

    如果因存在两个复合键而导致传递单个 entityId 时抛出错误,您可以使用 filterClause 传递值,例如 DocumentNumber='DO240'

示例 - 获取订单项详情

  1. Configure connector task 对话框中,点击 Entities
  2. Entity 列表中选择 LineItems
  3. 选择 Get 操作,然后点击完成
  4. 将 filterClause 设置为要传递的复合键 LineNumber='1' AND DocumentNumber='DO240'。如需设置 filterClause,请在数据映射数据映射器部分中,点击打开数据映射编辑器,然后在输入值字段中输入 "LineNumber='1' AND DocumentNumber='DO240'",并选择 filterClause 作为局部变量。

示例 - 创建视图

  1. Configure connector task 对话框中,点击 Entities
  2. Entity 列表中选择 Views
  3. 选择 Create 操作,然后点击完成
  4. 数据映射任务的数据映射器部分中,点击 Open Data Mapping Editor,然后在 Input Value 字段中输入类似于以下内容的值,并选择 entityId、connectorInputPayload 或 filterClause 作为局部变量。
    {
      "ViewTemplateName": "TestView1754629881645",
      "Status": "published",
      "FilterExpressions": "[{\"name\":\"ExampleFilter\",\"field\":\"UniqueName\",\"op\":\"IN\",\"defaultValue\":[\"P011\"]}]",
      "DocumentType": "DirectOrder",
      "SelectAttributes": "[\"SubmitDate\"]"
    }
    

    运行此示例会在连接器任务的 connectorOutputPayload 输出变量中返回类似于以下内容的响应:

    {
      "Success": true
    }
    

示例 - 更新视图

  1. Configure connector task 对话框中,点击 Entities
  2. Entity 列表中选择 Views
  3. 选择 Update 操作,然后点击完成
  4. 数据映射任务的数据映射器部分中,点击 Open Data Mapping Editor,然后在 Input Value 字段中输入类似于以下内容的值。
    {
      "Status": "published"
    }
    
  5. 将数据映射器中的 entityId 设置为视图的 ID。如需设置 entityId,请点击 Open Data Mapping Editor,然后在 Input Value 字段中输入类似于以下内容的值,并选择 entityId、connectorInputPayload 或 filterClause 作为局部变量。

    您也可以将 filterClause 设置为 TestView = '1754629881645',而不是指定 entityId

    运行此示例会在连接器任务的 connectorOutputPayload 输出变量中返回类似于以下内容的响应:

    {
    }
    

    响应中的空 JSON 对象 {} 表示更新操作成功。

向 Google Cloud 社区寻求帮助

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

后续步骤