Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon s3 AWS API网关:如何将多个方法请求参数组合成单个集成请求参数_Amazon S3_Aws Api Gateway - Fatal编程技术网

Amazon s3 AWS API网关:如何将多个方法请求参数组合成单个集成请求参数

Amazon s3 AWS API网关:如何将多个方法请求参数组合成单个集成请求参数,amazon-s3,aws-api-gateway,Amazon S3,Aws Api Gateway,我想使用API网关作为S3的代理。bucket由一个复合密钥设置密钥,该密钥由以下两部分组成:[userId]-[documentId] UserId作为路径参数进入API网关,documentId作为请求参数进入,例如:[Gateway url]/user1?documentId=doc1 如何将两者结合起来,使s3查找URL具有以下格式:https://[bucket URL]/user1-doc1 多谢各位 设置方法请求以接受路径参数{userid}和查询参数{docid} 设置集成请求以

我想使用API网关作为S3的代理。bucket由一个复合密钥设置密钥,该密钥由以下两部分组成:[userId]-[documentId]

UserId作为路径参数进入API网关,documentId作为请求参数进入,例如:
[Gateway url]/user1?documentId=doc1

如何将两者结合起来,使s3查找URL具有以下格式:
https://[bucket URL]/user1-doc1

多谢各位

  • 设置方法请求以接受路径参数{userid}和查询参数{docid}
  • 设置集成请求以接受
    method.Request.querystring.docid
    method.Request.path.userid
    作为URL路径参数
  • 最后,将集成端点URL设置为{userid}-{docid}
  • 下面是一段关于这一点的大言不惭的片段-

    希望这有帮助, 里蒂莎

    "paths": {
    "/concat-params/{userid}": {
      "get": {
        "parameters": [
          {
            "name": "userid",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "docid",
            "in": "query",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {...},
        "x-amazon-apigateway-integration": {
          "responses": {...},
          "requestParameters": {
            "integration.request.path.userid":"method.request.path.userid",
        "integration.request.path.docid":"method.request.querystring.docid"
          },
          "uri": "https:.../{userid}-{docid}",
          ...
        }
      }
    }