在 REST stage 中使用示例 DataStage

在本文件中,您可找到四个使用 REST stage 的示例 DataStage®
下面提供几个示例,帮助您快速构建和配置API调用。 这些示例包括如何进行分页调用、使用变量、链式请求以及获取认证令牌的演示。 要使用示例,请点击 REST stage 编辑器标题栏中的 “导入示例 ”,然后选择一个示例。 导入后,根据具体示例需求设置变量值并添加输出列以处理数据。 您可以在那里找到以下示例:
  • 获取项目
  • 获取 DataStage 流
  • 按项目标识获取 DataStage 流
  • 按项目名称获取 DataStage 流
  • 按项目名称获取 DataStage 数据资产
  • 按项目名称获取 DataStage 作业

示例1:执行单次呼叫

通过在 中使用 REST stage 和 DataStage Peek stage 进行单次调用:
  1. 创建或打开项目。 将 REST stage 和 Peek stage 拖动到画布上。 通过将 REST stage 作为源文件,将两个阶段连接起来。
  2. 双击 REST stage。 在 “阶段 ”选项卡中转到 “请求 ”选项卡,将端点方法设置为 GET ,并将 URL 地址粘贴到框架中您选择的API处。
  3. 转到 “请求 ”下的 “设置 ”选项卡,确保启用SSL并接受自签名证书。
  4. 转到 “输出 ”选项卡。 点击两次 “添加列”
  5. 将第一列名称更改为 code。 在 “推导 ”下,点击 “编辑表达式 ”图标以打开表达式构建器。 在内置变量下找到并双击 code。 你会看到以下表达式:
    RESPONSE_BODY["code"]

    点击应用并返回。 将数据类型更改为 VARCHAR.

  6. 将第二列名称更改为 json。 转到表达式构建器,在函数查找下,双击 toJson(object)。 你会看到以下表达式:
    JSON.toJson(%object%)

    选择 %object%,在内置变量下找到并双击 RESPONSE_BODY。 点击应用并返回

  7. 点击编译 ,然后点击运行

示例 3:调用偏移量(分页)

通过调用 REST stage 和 DataStagePeek stage 进行抵消:

  1. 创建或打开项目。 将 REST stage 和 Peek stage 拖动到画布上。 通过将 REST stage 作为源文件,将两个阶段连接起来。
  2. 双击 REST stage。 在 “阶段 ”选项卡中转到 “请求 ”选项卡,将端点方法设置为 GET ,并将 URL 地址粘贴到框架中您选择的API处。
  3. 转到 “请求 ”下的 “设置 ”选项卡,确保启用SSL并接受自签名证书。
  4. 转到 “控制 ”选项卡并启用分页功能。 勾选 “使用表达式 ”选项,然后点击图标按钮以打开表达式构建器。 在分页模板中双击偏移量。 您应该看到以下表达式:
    '%url%?limit=' + %limit% + '&offset=' + (ITERATION - 1) * %limit%
    选择 '%url%?limit=' 并粘贴 API URL。 将 %limit% 替换为任意值。 你应该以以下表达式结束:
    'https://api.example.com/items' + 100 + '&offset=' + (ITERATION - 1) * 100
    点击应用并返回在分页条件中提供以下表达式:
    RESPONSE_BODY['resources'].size() == 100
  5. 转到 “输出 ”选项卡。 点击两次 “添加列”
  6. 将第一列名称更改为 code。 在 “推导 ”下,点击 “编辑表达式 ”图标以打开表达式构建器。 在内置变量下找到并双击 code。 你会看到以下表达式:
    RESPONSE_BODY["code"]

    点击应用并返回。 将数据类型更改为 VARCHAR.

  7. 将第二列名称更改为 json。 转到表达式构建器,在函数查找下,双击 toJson(object)。 你会看到以下表达式:
    JSON.toJson(%object%)

    选择 %object%,在内置变量下找到并双击 RESPONSE_BODY。 点击应用并返回

  8. 点击编译 ,然后点击运行

示例 4:向多个请求发起调用

您可以使用 REST stage 向支持参数的多请求进行 DataStage API 调用。 此示例由三个请求构建而成:

  1. 创建或打开项目。 将 REST stage 和 Peek stage 拖动到画布上。 通过将 REST stage 作为源文件,将两个阶段连接起来。
  2. 从主项目菜单中点击 “添加参数 ”并选择“创建参数 ”。 在此示例中,您应为所选的 URL API添加以下参数,并将其设为默认值:
    表 1. 已用参数
    名称 类型 缺省值(可选)
    控制台网址 字符串 https://console.com
    平台网址 字符串 https://platform.com
    用户名 字符串 cpdadmin
    密码 加密 password123
    项目限制 整数 30

    点击返回画布

  3. 双击 REST stage。 在 “阶段 ”选项卡中转到 “请求 ”选项卡,将端点方法设置为 POST ,并启用 “使用表达式 ”选项。 打开表达式构建器,在其中输入:
    console_url + '/idprovider/v1/auth/identitytoken'
  4. 转到 “请求 ”选项卡 > “自定义标头 ”,然后点击两次 “添加标头 ”。 使用以下参数:
    表 2. 标头
    缺省值
    内容类型 x-www-表单-URL编码
    字符集 UTF-8
    切换到文选项卡并选择 raw 选项。 选择 application/x-www-form-urlencoded 作为内容类型, Text 作为源,并在文本选项卡中选择使用表达式选项。 点击该按钮即可打开表达式构建器。 输入以下表达式:
    'grant-type=password&username-${username}&password-${password}&scope=openid'

    点击应用并返回

  5. 转到 “请求 ”下的 “设置 ”选项卡,确保启用SSL并接受自签名证书。
  6. 转到 “请求 ”下的 “控制 ”选项卡,确保禁用 “每次迭代写入输出记录 ”选项。
  7. 点击加号图标添加另一个请求。 将端点方法设置为GET ,并启用使用表达式选项。 打开表达式构建器,在其中输入:
    platform_url + '/v1/preauth/validateAuth'
  8. 转到 “请求 ”选项卡 > “自定义标头 ”,然后点击两次 “添加标头 ”。 使用以下参数:
    表 3. 标头
    推导(使用表达式构建器)
    用户名 点击参数 ,然后点击 username
    目标代币 写出下列表达式: RESPONSE_BODIES[0]['access_token']

    点击应用并返回

  9. 转到 “请求 ”下的 “设置 ”选项卡,确保启用SSL并接受自签名证书。
  10. 转到 “请求 ”下的 “控制 ”选项卡,确保禁用 “每次迭代写入输出记录 ”选项。
  11. 点击加号图标添加另一个请求。 将端点方法设置为GET ,并启用使用表达式选项。 打开表达式构建器,在其中输入:
    platform_url + '/v2/projects?limit=' + project_limit + '&skip=' + (iteration - 1) * project_limit
  12. 点击 “身份验证 ”选项卡,并将身份验证方法更改为 “承载令牌 ”。 打开表达式构建器,并输入以下语句:
    RESPONSE_BODIES[1]['accessToken']
  13. 转到 “请求 ”选项卡 > “自定义标头 ”,然后点击 “添加标头 ”。 在密钥类型下 Content-Type,在派生类型下 application/json

    点击应用并返回

  14. 转到 “请求 ”下的 “设置 ”选项卡,确保启用SSL并接受自签名证书。
  15. 转到 “请求 ”下的 “控制 ”选项卡,确保启用分页功能,并在表达式构建器中输入:
    RESPONSE_BODIES[2]['resources'].size() == project_limit

    请确保在此请求中已启用 “每次迭代写入输出记录 ”选项。

  16. 转到 “输出 ”选项卡。 点击两次 “添加列”
  17. 将第一列名称更改为 code。 在 “推导 ”下,点击 “编辑表达式 ”图标以打开表达式构建器。 在内置变量下找到并双击 code。 你会看到以下表达式:
    RESPONSE_STATUS["code"]

    点击应用并返回。 将数据类型更改为 VARCHAR.

  18. 将第二列名称更改为 json。 转到表达式构建器,在函数查找下,双击 toJson(object)。 你会看到以下表达式:
    JSON.toJson(%object%)

    选择 %object%,在内置变量下找到并双击 RESPONSE_BODIES。 点击应用并返回

  19. 点击编译 ,然后点击运行