【发布时间】:2016-07-13 12:14:26
【问题描述】:
我有一个用 Python 编写的(非常基本但运行良好的)AWS lambda 函数,但它嵌入了可连接到的凭据: 1) 外部网络服务 2) 一个 DynamoDB 表。
该函数的作用相当基本:它针对服务发布登录信息(使用凭证 #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')
您将如何通过在函数中不包含这些凭据来清理代码?
仅供参考,此功能计划每 5 分钟运行一次(没有其他外部事件触发它)。
【问题讨论】:
标签: python amazon-web-services aws-lambda boto amazon-iam