2016-10-07 2 views
0

Я хотел бы использовать API-шлюз как прокси-сервер для S3. Ведро снабжено комбинированным ключом, состоящим из двух частей: [userId] - [documentId].AWS API Gateway: как объединить несколько параметров запроса метода в один параметр запроса интеграции

UserId приходит к API шлюза в качестве параметра путь, documentId приходит в качестве параметра запроса, например: [gateway-url]/user1?documentId=doc1

Как я могу объединить два, так что s3 поиска URL имеет следующий формат: https://[bucket-url]/user1-doc1?

спасибо.

ответ

0
  1. Установка вашего метода Запрос на прием параметра param {userid} и запроса param {docid}.
  2. Установите свой запрос на интеграцию, чтобы принять как method.request.querystring.docid, так и method.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.