У меня есть (чрезвычайно простая, но отлично работающая) функция AWS лямбда, написанная на Python, но имеет встроенные учетные данные для подключения к: 1) внешнему веб-сервису 2) таблице DynamoDB.Как (правильно) использовать внешние учетные данные в функции AWS Lambda?
Что делает эта функция довольно простой: она отправляет логин к службе (с учетными данными №1), а затем сохраняет часть статуса ответа в таблицу DynamoDB (с учетными данными AWS № 2).
Эти соответствующие части функции:
h = httplib2.Http()
auth = base64.encodestring('myuser' + ':' + 'mysecretpassword')
(response, content) = h.request('https://vca.vmware.com/api/iam/login', 'POST', headers = {'Authorization':'Basic ' + auth,'Accept':'application/xml;version=5.7'})
, а затем
conn = boto.connect_dynamodb(aws_access_key_id='FAKEhhahahah',aws_secret_access_key='FAKEdhdhdudjjdjdjhdjjhdjdjjd')
Как бы вы о чистке кода, не имея эти учетные данные внутри функции?
FYI эта функция должна запускаться каждые 5 минут (нет другого внешнего события, которое запускает ее).
Спасибо. Это действительно правильный подход.Присвоение правильной роли IAM функции лямбда для доступа к DynamoDB было тем, о чем я думал. «Нет AWS-Creds» часть проблемы была той, которую я не понял. Благодарю. – mreferre