0

API Gatewayには、apiroot/)に新しいmethodを追加することができます。新しいリソースを追加する必要はありません。AWS API Gateway - CLIまたはGO aws-sdkを使用してルートリソースにメソッドを追加する方法

しかし、私はaws cliまたはaws-sdk(GOの場合)の方法を理解できません。

これも可能ですか?

PS:結局、terraformでこれを行いたいと思います。

+0

私は私はあなたが言っているものをフォローわかりません。あなたがAPIゲートウェイに新しいメソッドを作成するときは、(メソッドを定義すると、AWSコンソール内のリソースの下にある)、実際にこの方法は、リソースの一部であるとして(でもコンソールで)同時にリソースにリンクします。したがって、Terraformでは、新しいメソッドを作成するときに、そのメソッドが対象とするリソースを提供する必要があります。 – ydaetskcoR

答えて

0

OK、私は少なくともterraformの答えを見つけたと思います。

root resourceは、我々はあなたがテラフォームでこれを行うための答えを見つけることがうれしい

aws_api_gateway_rest_api.ApiName.root_resource_id

0

を使用することができ、にメソッドを追加したい取得します。

aws-cliでこれを行う場合は、put-methodを使用してください。

0

手順を実行して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 
関連する問題