#amazon-s3 #aws-api-gateway
#amazon-s3 #aws-api-gateway
Вопрос:
Я хотел бы использовать API Gateway в качестве прокси-сервера для S3. Сегмент управляется составным ключом, состоящим из двух частей, подобных этой: [userId] — [documentId] .
Идентификатор пользователя поступает в API Gateway в качестве параметра пути, documentId — в качестве параметра запроса, например: [gateway-url]/user1?documentId=doc1
Как я могу объединить их, чтобы URL-адрес для поиска s3 имел следующий формат: https://[bucket-url]/user1-doc1
?
Спасибо.
Ответ №1:
- Настройте запрос метода так, чтобы он принимал параметр path {userid} и параметр запроса {docid}.
- Настройте запрос на интеграцию так, чтобы он принимал оба
method.request.querystring.docid
параметра и вmethod.request.path.userid
качестве URL-адреса. - Наконец, настройте URL конечной точки интеграции как https://your-url /{userid}-{docid}.
Фрагмент swagger для этого выглядит следующим образом-
"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}", ... } } }
Надеюсь, это поможет,
Ритиша.