#amazon-web-services #aws-lambda #aws-api-gateway #boto3
#amazon-веб-сервисы #aws-lambda #aws-api-gateway #boto3
Вопрос:
Я пытаюсь написать скрипт на Python, который позволяет переименовывать лямбда-функцию, копируя весь код и конфигурацию в новую функцию. В рамках этого процесса я хочу использовать все методы API Gateway, которые указывают на старую функцию, и перенаправить их, чтобы они указывали на новую функцию.
Есть ли способ выполнить это с помощью boto3?
Комментарии:
1. Рассматривали ли вы возможность переноса вашего шлюза lambda и API в CloudFormation? Это позволит вам легко повторно использовать и повторно развертывать вашу инфраструктуру в разных регионах и учетных записях.
2. Да, я планирую сделать это в конечном итоге. Это временное решение.
Ответ №1:
Да, это выполнимо, но у вас должно быть два клиента для APIGateway.
Следуя вызовам, которые вы можете выполнить для этого:
- get_apis> предоставляет все развернутые API, затем вы можете перейти к отдельным API с помощью get_api
- get_resources > Это дает вам все пути в выбранном rest API.
- get_integration> Дает вам что-то вроде приведенного ниже:
{ "type": "AWS_PROXY", "httpMethod": "POST", "uri": "arn:aws:apigateway:us-east1-1:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-1:1234567890:function:myfunction/invocations", "credentials": "arn:aws:iam::1234567890:role/myrole", ... }