Amazon S3IBM App Connect Enterprise 配合使用

IBM® App Connect Enterprise 提供了 Amazon S3 Request 节点,使您能够连接到 Amazon S3 并发出同步请求以创建,检索,更新,删除或查看对象。

关于此任务

Amazon Simple Storage Service (Amazon S3) 是通过 Web Service 接口提供对象存储器的简单存储服务。 它采用 Amazon.com 的可扩展存储基础结构,使您能够存储对象、下载数据并将数据用于其他 AWS 服务,以及构建需要因特网存储的应用程序。

IBM App Connect Enterprise 通过 Windows , AIX和 Linux® 系统上提供的 Amazon S3 Request 节点与 Amazon S3 同步通信。

您可以使用 Amazon S3 Request 节点连接到 Amazon S3 并对对象执行操作,包括以下操作:
存储区
创建或检索存储区
对象
创建,更新或创建 (更新插入) ,删除对象或检索对象元数据
对象 ACL
更新对象 ACL
对象标记
删除或更新对象标记

有关配置 Amazon S3 请求节点的其他信息,请参阅 Amazon S3 请求节点

过程

  1. IBM App Connect Enterprise Toolkit中,创建包含 Amazon S3 Request 节点的流。
  2. 在流中选择 Amazon S3 Request 节点以在编辑器中显示节点属性。
  3. 基本 选项卡上,单击 启动连接器发现
    此时会显示一个面板,您可以在其中指定要在连接器发现期间使用的策略项目名称和保险库文件详细信息。
  4. 指定要在连接器发现期间使用的策略项目和保险库文件的详细信息:
    1. 策略项目 字段中,指定用于存储连接器发现期间创建的策略的策略项目。
      也可以通过单击新建并指定新策略项目的名称来创建新的策略项目。 然后单击完成
    2. 指定要在连接器发现期间使用的保险库文件。 缺省情况下,连接器发现期间使用的凭证存储在 外部目录保险库中,这是可供任何集成服务器使用的 App Connect Enterprise 保险库文件。 或者,您可以将凭证存储在集成服务器保险库文件中,该保险库文件是在集成服务器的工作目录中创建的,并且只能由该特定集成服务器使用。
      要指定用于存储凭证的保险库文件,请完成下列其中一个主题的 使用连接器发现向导 部分中的步骤:
    3. 保险库密钥 字段中,输入用于访问保险库中存储的凭证的保险库密钥。 保险库密钥的长度必须至少为 8 个字符。
    4. 可选: 缺省情况下,指定的保险库文件位置和保险库文件密钥将另存为 Toolkit 中的首选项,以便在您启动 "连接器发现" 时预设这些值。 如果您不希望保存这些首选项,请取消选中保存在保险库文件首选项中
  5. 单击 启动发现 以启动 Amazon S3 连接器的 "连接器发现" 向导。
    此时将显示 " 连接器发现 " 窗口。 如果现有 Amazon S3 连接 (帐户) 可用,那么将显示这些连接的列表。 如果没有现有连接,那么 Amazon S3 连接器的状态显示为 Not connected
    • 如果一个或多个 Amazon S3 连接 (帐户) 可用,请完成以下步骤:
      1. 通过单击连接(帐户)来选择要使用的连接(帐户)。
      2. 单击所需的对象类型,然后选择要对该对象执行的操作。 例如,单击对象,然后单击检索所有对象
    • 如果没有现有连接(帐户),请完成以下步骤:
      1. 单击所需的对象类型,然后选择要对该对象执行的操作。 例如,要从 Amazon S3检索所有对象,请单击 对象 ,然后单击 检索所有对象
      2. 单击连接以创建新连接。 此时会显示一个窗口,您可以在其中输入帐户的详细信息。
      3. 输入 Amazon S3 帐户的详细信息。 在 Secret access key 字段中,输入您帐户的访问私钥,如 AWS 管理控制台中的“安全凭证”页面中所生成。 在 Access key ID 字段中,输入您帐户的访问密钥标识,如 AWS 管理控制台中的“安全凭证”页面中所生成。 (可选) 您可以指定 Amazon S3 实例的区域; 例如, us-east-1。 然后单击连接

        然后将凭证存储在保管库中,其他连接详细信息则保存在 Amazon S3 策略中。

        有关连接到 Amazon S3 的更多信息、请参阅 如何使用 IBM App Connect 和 Amazon S3 文档中的 IBM App Connect Enterprise as a Service

  6. 在向导中设置必需的连接器属性。
    您可以添加用于检索对象的条件,例如指定属于 Amazon S3 帐户的存储区的名称。 您还可以设置相关属性来指定要检索的最大对象数以及超过该限制时要执行的操作。
  7. 在 "连接器发现" 向导中指定完属性后,单击 保存
    您在向导中设置的属性值将返回到 IBM App Connect Enterprise Toolkit中的 Amazon S3 Request 节点。
  8. 在完成发现并保存属性值后,通过单击窗口右上角的 X 来退出"连接器发现"向导。
  9. 返回以编辑 IBM App Connect Enterprise Toolkit中的 Amazon S3 Request 节点。
    现在,在 "连接器发现" 向导 (在步骤 6中) 中设置的连接器属性在 Amazon S3 Request 节点上可视。 基本 选项卡显示您在向导中设置的 操作对象 属性的值。 例如,如果您在向导中选择了 Objects > Retrieve all objects,节点的 Basic 选项卡上将显示以下属性:
    • 操作 - RETRIEVEALL
    • 对象 - objectcollection

    操作对象属性的值将以只读格式显示。 如果要更改这些值,您可以通过再次单击启动连接器发现并在“连接器发现”向导中设置新值来执行此操作。 您可以通过单击属性旁边的 编辑 来修改其他属性 (如果有)。

    模式基本名称 属性指定模式文件的基本名称,这些文件描述从 Amazon S3 连接器发送和接收的请求和响应消息的格式。 第一次对节点运行发现时,将自动设置模式基本名称,该名称基于当前流名称和节点名。 如果在首次运行发现之前手动设置此属性,那么将使用您设置的值。 如果在发现后重命名模式,那么必须编辑此属性,以使其与项目中重命名的模式所使用的模式基本名称相匹配。 如果在发现后更改此属性,那么必须重命名模式名称以匹配或再次运行发现。

    根据发现期间选择的操作, "连接器发现" 向导将生成请求模式和响应模式,或者仅生成响应模式。 仅当所选操作和对象需要请求消息时,才会生成请求模式。 生成的请求模式用于验证请求消息。 如果操作为 RETRIEVEDELETE,那么连接器仅返回响应模式。

    生成的模式文件将添加到项目中,并且可供 映射 节点用于变换输入或输出数据。 模式的完整文件名派生自模式基本名称,后缀为 response.schema.jsonrequest.schema.json。 您可以通过单击 打开请求模式打开响应模式来打开模式。

  10. 检查 Amazon S3 Request 节点上的属性设置是否正确,然后保存消息流。
  11. Amazon S3 Request 节点的 连接 选项卡上,选择包含要用于连接的安全身份详细信息的策略。 策略的类型为 Amazon S3
  12. 可选: 连接 选项卡上设置 超时 属性,以指定节点等待 Amazon S3 处理操作的时间 (以秒计)。
  13. Amazon S3 Request 节点的 过滤器 选项卡包含一些属性,这些属性用于控制消息流选择数据的方式。 这些属性的初始值取自在 "连接器发现" 向导中为 Amazon S3 连接器设置的属性值 (如步骤 6中所述)。 如果您随后返回到 "连接器发现" 向导并更改任何属性的值 (例如,通过添加新条件) ,那么这些更新将反映在节点上设置的属性中。

    过滤器选项 属性控制执行 Amazon S3 Request 节点时要对哪些对象进行操作。 过滤器限制 属性控制要检索的最大项数以及超出限制时要执行的操作。

    您可以在节点的 过滤器 选项卡上修改这些属性的值,方法是单击要在 " 过滤器选项 " 部分中修改的值旁边的 编辑 ,以及更改在 " 过滤器限制 " 部分中设置的属性值。

    属性值可以是文本值,也可以是 ESQL 或 XPATH 表达式,这些表达式在执行时从传递到 Amazon S3 Request 节点的消息的内容进行解析。

  14. 请求 选项卡上,设置 数据位置 属性以指定入局消息树中包含要在 Amazon S3中创建的对象数据的位置。 此数据构成从 Amazon S3 Request 节点发送到 Amazon S3 系统的请求。
  15. 结果 选项卡上,设置 输出数据位置 属性以指定输出消息树中将包含在 Amazon S3中创建的记录数据的位置。
  16. 缺省情况下,将根据连接器发现期间生成的请求模式验证请求消息。 您可以通过使用 Amazon S3 Request 节点的 Validation 属性来关闭请求验证或更改验证设置。
  17. 保存 消息流。

后续操作

要启用要抽取和解析的 Amazon S3 存储区中对象的内容,必须使用正确的域对其进行解析。 例如,如果对象包含 CSV 文件,那么您可以定义 DFDL 模式以对数据进行建模并将其部署到共享库中,然后在 Amazon S3 Get Object 操作之后使用 Compute 节点,代码类似于以下示例:

        CALL CopyMessageHeaders();
        -- Get the content we want to parse with another parser
        DECLARE InnerElement CHARACTER InputBody.Data.content;
        -- Now convert that string element to a bitstream as that's required for parsing
        DECLARE InnerBits BLOB CAST(InnerElement AS BLOB CCSID 1208);
        -- Pass the bitsteam to the DFDL parser, note the '{' '}' braces around the message set
        -- this is required because it's in a Shared Library.
        CREATE LASTCHILD OF OutputRoot DOMAIN('DFDL') PARSE(InnerBits CCSID 1208 SET '{MyMessages}' TYPE 'Books');
        RETURN TRUE;

此示例包含名为 MyMessages 且 DFDL 模式为 Books的共享库。 ESQL 代码选择输入消息的 content 元素,将其转换为二进制格式,然后将其传递到 DFDL 解析器。 结果是解析了 Amazon S3 对象的内容。