我有一个脚本,它检查AWS中的dynamodb表中的单元格内是否有特定值。我曾经在脚本中添加包含密钥的硬编码凭据,例如:
dynamodb_session = Session(aws_access_key_id='access_key_id',
aws_secret_access_key='secret_access_key',
region_name='region')
dynamodb = dynamodb_session.resource('dynamodb')
table=dynamodb.Table('table_name')
有没有其他方法可以在不将这些凭据添加到我的脚本中的情况下使用这些凭据?非常感谢。
如果您在Amazon EC2实例上运行该代码,则只需为该实例分配IAM角色,它就会自动接收凭据。
如果您在自己的计算机上运行该代码,则使用AWS命令行界面(CLI(aws configure
命令将凭据存储在本地配置文件中。(将存储在~/.aws/credentials
中(。
然后,在这两种情况下,您都可以简单地使用:
dynamodb = boto3.resource('dynamodb')
您也可以在该配置中设置默认区域。