のAPI Gateway
には、api
のroot
(/
)に新しいmethod
を追加することができます。新しいリソースを追加する必要はありません。AWS API Gateway - CLIまたはGO aws-sdkを使用してルートリソースにメソッドを追加する方法
しかし、私はaws cli
またはaws-sdk
(GOの場合)の方法を理解できません。
これも可能ですか?
PS:結局、terraform
でこれを行いたいと思います。
のAPI Gateway
には、api
のroot
(/
)に新しいmethod
を追加することができます。新しいリソースを追加する必要はありません。AWS API Gateway - CLIまたはGO aws-sdkを使用してルートリソースにメソッドを追加する方法
しかし、私はaws cli
またはaws-sdk
(GOの場合)の方法を理解できません。
これも可能ですか?
PS:結局、terraform
でこれを行いたいと思います。
OK、私は少なくともterraform
の答えを見つけたと思います。
はroot resource
は、我々はあなたがテラフォームでこれを行うための答えを見つけることがうれしい
aws_api_gateway_rest_api.ApiName.root_resource_id
を使用することができ、にメソッドを追加したい取得します。
aws-cliでこれを行う場合は、put-methodを使用してください。
手順を実行してaws-cliを使用して達成できます。
あなたは次の引数が必要とされているaws apigateway put-method
ことにより、新しいメソッドを作成することができます--rest-API-ID、--resource-ID、--http-法、
まず--authorization型を、見つけます--rest-api-idから、ルートリソースへのメソッドの追加先のjson-outputから取得します。
aws apigateway get-rest-apis
--resource-IDは、ここで重要な部分です。 rest-apiのroot-resource-idは、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