模拟售卖接口返回值

更新时间:
复制 MD 格式

PushMeteringDataCheckOutLicense接口需在服务上架前集成,但因测试依赖上架形成矛盾,计算巢提供模拟售卖接口返回值机制,以便您在未上架时验证逻辑。

背景信息

CheckOutLicense - 鉴权服务实例有效期PushMeteringData - 推送计量数据是计算巢服务售卖的相关接口,其计费模式需与商品类型严格匹配:

  • PushMeteringData:需将服务上架为云市场按量付费商品。

  • CheckOutLicense :需服务开启自定义售卖或上架为按周期/按次售卖的商品。

由于二者需集成到软件内部调用,应在服务上架售卖前完成对接,但接口调通测试又依赖服务上架售卖,形成矛盾。为此,计算巢提供模拟返回值机制:即使服务未上架售卖,开发者仍可调用接口验证逻辑,无需等待服务发布即可完成测试。

前提条件

重要

仅用于测试环境模拟接口 PushMeteringData 和 CheckOutLicense 的返回值,生产环境禁用。

服务实例状态必须为 已部署 ,其他状态资源不完整无法进行模拟。

操作步骤

本节以调用PushMeteringData接口为例,为您演示模拟售卖接口返回值的使用方式。

  1. 进入计算巢-用户的服务实例页面。

  2. 选择目标服务实例并单击自定义配置,开启修改返回值

  3. 测试返回成功数据。

    1. 不设置错误码,单击确定,即可开启模拟返回值。

      说明

      不设置错误码,则返回成功信息。

      弹窗中的开关名为修改返回值。此功能仅用于测试环境模拟 PushMeteringDataCheckoutLicense 接口返回值,生产环境禁用。

    2. 进入ECS实例中,调用PushMeteringData - 推送计量数据

      • 未开启修改返回值:返回400报错。

        curl -H "Content-Type: application/json" -XPOST https://cn-hangzhou.axt.aliyun.com/computeNest/marketplace/push_metering_data -d '{"Key":"Frequency","Value":"6\"}"},"Token":"7aa81300b2aea77984b772495c8e4e83"}'

        返回结果示例:

        {"code":400,"requestId":"4e9d6c2e-fd3f-4298-b3e0-2a411cd4c85d","instanceId":"i-bp1hbbcrt0yie1ci4qs2","errCode":"OperationDenied","errMsg":"OperationDenied_B64C-C168F4F24287"}
      • 开启修改返回值:返回200的模拟数据。

        curl -H "Content-Type: application/json" -XPOST https://cn-hangzhou.axt.aliyun.com/computeNest/marketplace/push_metering_data -d '{"Key":"Frequency","Value":"6"}' -H "Token":"7aa81300b2aea77984b772495c8e4e83"'
        {"code":200,"requestId":"a570698e-7dc5-4b39-acf6-d7f70b0e9bb9","instanceId":"i-bp1hbbcrt0yie1ci4qs2","result":{"RequestId":"E3FAA54D-9A1F-54B8-B90C-959DCC5FC21B","OrderId":"9c89c17b22ab0e1642b3","Success":true}}
  4. 测试返回报错数据。

    1. 选择错误码并单击确定

      说明

      计算巢预置了错误码错误信息,服务商可选择需要模拟的错误码,选择后错误信息将自动填充。

      操作 列单击 自定义配置,在弹出的对话框中打开 修改返回值 开关,然后选择错误码并单击 确定

    2. 进入ECS实例中,调用PushMeteringData - 推送计量数据

      • 未选择错误码:返回200的模拟数据。

        curl -H "Content-Type: application/json" -XPOST https://cn-hangzhou.axt.aliyun.com/computeNest/marketplace/push_metering_data -d '{"Metering":"{\"StartTime\":\"1664451045\",\"EndTime\":\"1664451198\",\"Entities\":[{\"Key\":\"Frequency\",\"Value\":\"6\"}]}", "Token":"7aa813002aea77984b772495e8e4e83"}'

        返回结果类似如下。

        {"code":200,"requestId":"a570698e-7dc5-4b39-acf6-d7f70b0e9b09","instanceId":"i-b1phbbcrt0yie1ci4qs2","result":{"RequestId":"E3FAA54D-9A1F-54B8-B98C-959DCC5FC52D","Token":"xxx","Success":true}}
      • 选择错误码:返回400报错数据,错误码与错误信息为选择的模拟错误信息。

        curl -H "Content-Type: application/json" -XPOST https://cn-hangzhou.axt.aliyun.com/computeNest/marketplace/push_metering_data -d '{"Metering":"{\"StartTime\":\"166451045\",\"EndTime\":\"166451198\",\"Key\":\"Frequency\",\"Value\":\"6\"}]}","Token":"7aa813000b2aea77984b722495c8e483"}'
        {"code":400,"requestId":"536c11f8-6e0d-46bb-bc64-9f97bdc808c0","instanceId":"i-bphbbcrt0yie1c14qs2","errCode":"InvalidParameter.$(parameterName)sNald:\r\nRequestId : 60EFCB8F-428A-563D-9560-D5DA8DAB8807"}