При использовании Serverless вы можете использовать переменные окружения в вашем файле .yml следующим образом:
myProperty: ${env:MY_ENV_VAR}
Если вы хотите привязать его к SNS, ваш файл .yml должен выглядеть примерно так:
service: my-service
provider:
name: aws
runtime: python3.6
functions:
hello:
handler: handler.hello
events:
- sns: ${env:MY_ENV_VAR}
Теперь, если вы хотите получить доступ к переменной среды из вашей функции Lambda, это будет зависеть от того, на каком языке вы кодируете, но поскольку вы используете Python, это будет что-то как:
import os
print("environment variable: " + os.environ['MY_ENV_VAR'])
РЕДАКТИРОВАТЬ : После комментария ОП, я думаю, что я полностью понимаю проблему:
ARN являются предсказуемыми значениями. Они в значительной степени являются конкатенацией вашего региона / идентификатора пользователя / названия темы, например:
arn:aws:sns:us-east-1:00000000:aaa
Если вы предоставляете переменную окружения для вашего Serverless.yml, например:
[ 114]
Затем можно программно создать подписку на эту тему на основе ARN прогнозируемой подписки + переменную среды, которую вы определили.
Другой вариант - определить секцию Outputs в вашем файле .yml и использовать CloudFormation Event для запуска Lambda, который программно создаст подписку на основе выведенного ARN [ 1116]
То, что вы делаете неправильно, говорит им, как исправить проблему, которая, по их мнению, не существует.
Вы должны заставить их понять, что на самом деле это проблема, которая должна быть решена. решено.
Редактировать:
Рад видеть, что вы добрались до конца, второй язык, кажется, заставил их признать слона в комнате!
Я вижу несколько вариантов для вас:
Возможны следующие проблемы:
Недостаточная осведомленность о Gettext. Если разработчики не знают о библиотеке, они не будут ее использовать.
Несовместимая лицензия с лицензией GPL. Могут быть юридические причины, по которым его нельзя использовать.
Не вижу необходимости переписывать. Если разработчики достаточно довольны текущей системой, они могут не увидеть никаких преимуществ при переходе на Gettext.