更新API网关集成请求映射模板AWS PHP SDK v3

时间:2015-11-17 00:12:50

标签: php amazon-web-services aws-sdk aws-api-gateway

我正在拼命想知道如何使用PHP SDK v3在API网关中更改POST请求中的集成请求的映射模板。我用谷歌搜索了几个小时,似乎没有进一步的文档,没有。 唯一的问题是official AWS documentation for that.,而且非常简短。

看起来很简单 - 让我们调用一个更新方法,在其中填写一个新的application / json响应,我们已经完成了 - 但是 - 有四种候选API方法可以做到这一点: UpdateMethod,UpdateMethodResponse,UpdateIntegration ,UpdateIntegrationResponse ,对于所有这些文档都有相同的文档:

$result = $client->update<whatever>([
'httpMethod' => '<string>', // REQUIRED
'patchOperations' => [
    [
        'from' => '<string>',
        'op' => 'add|remove|replace|move|copy|test',
        'path' => '<string>',
        'value' => '<string>',
    ],
    // ...
],
'resourceId' => '<string>', // REQUIRED
'restApiId' => '<string>', // REQUIRED

]);

那么,有谁知道:

  1. 哪种方法适合这样做
  2. 在这四个“普遍”字段中填写什么
  3. 有人通过v3 API做过吗?
  4. 非常感谢任何帮助。

1 个答案:

答案 0 :(得分:3)

那么, 对于任何对此感兴趣的人 - 在做了一些研究后终于发现了正确的语法。它引用了AWS API通用更新结构,遗憾的是,我无法在任何地方找到文档。

提示:分析在AWS管理中工作时从浏览器发送的XHR请求。

假设使用aws-php-sdk-v3:

$sdk->createApiGateway()->updateIntegration([
            'restApiId'=>'<your restApiId here>',
            'resourceId' => '<specific resource id here>',
            'httpMethod' => 'POST',
            'patchOperations' => [
                [
                    'op' => 'replace',
                    'path' => '/requestTemplates/application~1json',
                    'value' => '{"response":"Hello, Kitty!"}'
                ]
            ]
        ]);
  • 路径参数引用 JSON指针字符串,如所述here
  • op 参数非常明显 - 但在使用 copy move 时,必须还有来自参数的使用JSON指针填充源代码。
  • 只是您想在某处写的原始字符串。

另一种可能性和组合是显而易见的。

祝你好运!