Python 3.x 我如何从Secrets Manager获取一个秘密,并通过lambda将其传递给我的SSM Run命令文档?
我有一个秘密(AWS访问密钥、秘密密钥、区域)存储在secrets manager中。现在,我必须从lambda中检索它,并将其作为参数传递给SSM Run命令文档,该文档将由lambda触发。尝试时,我无法使用lambda从Secret获取值。下面是我的代码Python 3.x 我如何从Secrets Manager获取一个秘密,并通过lambda将其传递给我的SSM Run命令文档?,python-3.x,aws-lambda,aws-secrets-manager,Python 3.x,Aws Lambda,Aws Secrets Manager,我有一个秘密(AWS访问密钥、秘密密钥、区域)存储在secrets manager中。现在,我必须从lambda中检索它,并将其作为参数传递给SSM Run命令文档,该文档将由lambda触发。尝试时,我无法使用lambda从Secret获取值。下面是我的代码 import base64 client = boto3.client('secretsmanager') def lambda_handler(event, context): response = client.get_secr
import base64
client = boto3.client('secretsmanager')
def lambda_handler(event, context):
response = client.get_secret_value(
SecretId = 'arn:aws:secretsmanager:eu-west-1:*************:secret:aws/credentials/******'
)
return response```
When I execute this I got this error (earlier even without error it gives null response or identation issues)
```Response:
{
"errorMessage": "Unable to marshal response: datetime.datetime(2019, 6, 28, 13, 28, 47, 798000, tzinfo=tzlocal()) is not JSON serializable",
"errorType": "Runtime.MarshalError"
}```
**What am I missing here?**
错误消息似乎与实际问题无关。如果要从lambda函数使用RunCommand API,只需将与具有适当SSM权限的lambda函数关联即可。Secrets Manager用于存储长期凭据,不用于存储AWS API密钥。尽可能使用IAM角色,因为它们是短暂的