2016-09-16 4 views
0

У меня есть ключ API, связанный с конкретным планом использования. Как использовать boto3 для обновления плана использования другого плана использования?Обновление AWS Lambda API Ключевое использование Планы с boto3

я попытался следующие методы:

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: произошла ошибка (ConflictException) при вызове операции CreateUsagePlanKey: План использования XYZ не может быть добавлен, потому что API-ключ не может ссылаться на несколько планов использования с той же стадией API: ABC: beta' –

+0

Этот вызов не обновляется добавляет он. –

+0

Этот вызов не добавляет новые ключи API, он добавляет новые ассоциации между ключами API и планами использования. Сообщение об ошибке, которое вы указали, не связано. Вы также можете использовать remove_usage_plan_key для удаления ассоциаций между ключами API и планами использования. –

1

Я не знаю, если это какой-либо помощи, но я бегу в подобную проблему и я нашел this post, который сделал трюк для меня !

Так что в моем случае я хотел бы добавить новый Rest 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

Смежные вопросы