2016-09-16 25 views
0

特定の使用計画に関連付けられたAPIキーがあります。 boto3を使用して使用計画を別の使用計画に更新するにはどうすればよいですか?AWSラムダAPIのキー使用計画をboto3で更新する

私は、次の方法を試してみた:

update_api_key() //、追加、削除および置換操作は、利用計画のパスを持っていない update_usage_plan() //、追加、削除および置換操作は、使用計画パス

を持っていません

私はプランからキーを削除して再追加することを考えましたが、使用プランパスはありません。

+0

docは「各オペレーションには1つのパスしか関連付けられていない」 – helloV

+0

私は1つのパスしか使用していない。私の指摘は、どのパスも使用計画に関係していないことです。 –

答えて

0

あなたはcreate_usage_plan_key

を探しているすなわち

response = client.create_usage_plan_key(
    usagePlanId='12345', 
    keyId='[API_KEY_ID]', 
    keyType='API_KEY' 
) 
+0

'botocore.exceptions.ClientError:CreateUsagePlanKey操作を呼び出すときにエラーが発生しました(ConflictException)。APIキーが同じAPIステージで複数の使用計画を参照できないため、使用計画XYZを追加できません:ABC:beta' –

+0

この呼び出しは更新されませんそれは追加します。 –

+0

この呼び出しでは新しいAPIキーは追加されず、APIキーと使用計画の間に新しい関連付けが追加されます。あなたが掲示したエラーメッセージは無関係です。また、remove_usage_plan_keyを使用して、APIキーと使用計画の間の関連付けを削除することもできます。 –

1

これは任意の助けである場合、私は知らないが、私は同様の問題に遭遇し、私は私のためのトリックをしたthis postを見つけました!だから私の場合、私は私が使用したPythonスクリプトだったので、既存の使用計画に新たな休息APIステージを追加したい

import boto3 

apigateway = boto3.client('apigateway') 
response = apigateway.update_usage_plan(
        usagePlanId='YOUR_USAGE_PLAN_ID_HERE', 
        patchOperations=[ 
         { 
          'op': 'add', 
          'path': '/apiStages', 
          'value': 'YOUR_REST_API_ID_HERE:v0' 
         } 
        ] 
      ) 

print(response) 

私はこれが役に立てば幸い:)

Luismy

関連する問題