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

Updating API gateway integration request mapping template AWS PHP SDK v3

我拼命想知道如何使用 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. 这四个 'universal' 字段要填写什么
  3. 有没有人通过 v3 API 做到过?

感谢任何帮助,非常感谢。

嗯, 对于将来对此感兴趣的任何人 - 经过一些研究后终于发现了正确的语法。它引用了 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!"}'
                ]
            ]
        ]);
  • path 参数引用 JSON-pointer 字符串 here
  • op 参数很明显-但是当使用 copymove 时必须也是 from 参数,其中填充了 JSON-指向源的指针。
  • 只是您想写在某处的原始字符串。

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

祝你好运!