Вы можете достичь этого, используя aws-cli, выполнив следующие шаги.
Вы можете создать новый метод по aws apigateway put-method
, где требуются следующие аргументы: --rest-Апи-идентификатор, --resource-идентификатор, --http-метод, --authorization типа
Во-первых, найти ваш --rest-api-id из json-вывода, к которому будет добавлен метод для корневого ресурса.
aws apigateway get-rest-apis
--resource-идентификатор является ключевой частью здесь. Идентификатор root-resource для rest-api может получить следующую команду, которая возвращает объект JSON.
aws apigateway get-resources --rest-api-id <restApiId> | jq -r '.items[0].id'
jq - быстрый, легкий, гибкий процессор CLI JSON. Посетите здесь для получения дополнительной информации «http://blog.librato.com/posts/jq-json»
Замените значения и вызовите функцию из CLI.
Пример:
aws apigateway put-method --rest-api-id hgwwri3w30 --http-method POST --authorization-type NONE --resource-id `aws apigateway get-resources --rest-api-id hgwwri3w30 | jq -r '.items[0].id'`
В случае успеха вы получите ответ, как это,
{
"httpMethod": "POST",
"authorizationType": "NONE",
"apiKeyRequired": false
}
Вы можете настроить метод либо из консоли сейчас или во время вызова функции себя, используя другие параметры.
aws apigateway put-method help
Я не уверен, что следую тому, что вы говорите. Когда вы создаете новый метод в шлюзе API, вы связываете его с ресурсом одновременно (даже в консоли), поскольку на самом деле этот метод является частью ресурса (методы определения находятся в ресурсах в консоли AWS). Таким образом, при использовании Terraform при создании нового метода вы должны предоставить ресурс, для которого предназначен метод. – ydaetskcoR