2016-10-07 54 views
0

我想使用API​​网关作为S3的代理。存储桶由一个由两部分组成的复合键进行键控:[userId] - [documentId]。AWS API网关:如何将多个方法请求参数合并为一个集成请求参数

用户ID来API网关作为路径参数,documentId进来作为一个请求参数,例如:[gateway-url]/user1?documentId=doc1

我怎样才能将二者结合起来,使得S3查找URL格式如下:https://[bucket-url]/user1-doc1

谢谢。

回答

0
  1. 设置您的方法请求以接受路径参数{userid}和查询参数{docid}。
  2. 设置您的集成请求以接受method.request.querystring.docidmethod.request.path.userid作为URL路径参数。
  3. 最后,将您的集成端点URL设置为https://your-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}", 
     ... 
    } 
    } 
} 

希望这有助于 Ritisha。