2016-09-16 64 views
0

我有一個與特定使用計劃關聯的API密鑰。如何使用boto3將使用計劃更新爲其他使用計劃?使用boto3更新AWS Lambda API密鑰使用計劃

我嘗試以下方法:

update_api_key() //添加,刪除和替換操作沒有使用計劃路徑 update_usage_plan() //添加,刪除和替換操作沒有使用計劃路徑

我想過從計劃中刪除密鑰,然後重新添加,但沒有使用計劃路徑。

+0

該文檔說:'每個操作只能有一條路徑與它相關聯' – helloV

+0

我只使用一條路徑。我的觀點是沒有任何路徑與使用計劃相關。 –

回答

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):無法添加使用計劃XYZ,因爲API Key無法使用相同API階段引用多個使用計劃:ABC:beta' –

+0

此調用不會更新它增加了。 –

+0

此調用不添加新的API密鑰,它添加了API密鑰和使用計劃之間的新關聯。您發佈的錯誤消息是無關的。您還可以使用remove_usage_plan_key刪除API密鑰和使用計劃之間的關聯。 –

1

我不知道這是任何幫助,但我遇到了類似的問題,我沒有找到this post其中的伎倆對我來說!

所以在我的情況,我想一個新的REST API舞臺添加到現有的使用計劃,所以我用了python腳本是:

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