AWS Lambda - загрузка файла свойств в соответствии с учетной записью AWS - PullRequest
0 голосов
/ 22 октября 2018

Я пытаюсь загрузить файл свойств в мою лямбду, написанную на Java.Я понимаю, что могу передать переменные окружения, например, env dev, test, stage, prod и т. Д., И в lambda загрузить соответствующий файл свойств в соответствии со средой, в которой работает lambda.Но эта Lambda будет работать под несколькими учетными записями AWS в китайском регионе, которые в настоящее время не поддерживают передачу переменных env в Lambda.

Я думал, что смогу узнать номер счета AWS из API и на основе номера счетаЯ могу загрузить правильный файл свойств для этой среды, это будет правильным способом решения этой проблемы.Предположим, позже мне придется запустить лямбда-код в другой среде, которая потребует изменения кода.

[Обновление]

Похоже, я могу извлечь номер счета из переменной контекста, доступной для обработчика

    context.getInvokedFunctionArn()

e.g. arn:aws:lambda:us-east-1:999999999999:function:my_lambda_function

1 Ответ

0 голосов
/ 22 октября 2018

Вы можете использовать сервис AWS STS и использовать GetCallerIdentity вызов API.Это вам номер счета в ответ.Используя номер учетной записи, вы можете загрузить конфигурацию в своем коде.

Создать новую роль с политикой: { "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": "sts:GetCallerIdentity", "Resource": "*" } ] }

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...