如果使用AWS SecretsManager获取的值无法解析,则有可能是缺少适当的权限或其值格式不正确。解决此问题的步骤如下:
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Action":[
"secretsmanager:GetSecretValue"
],
"Resource":[
"arn:aws:secretsmanager:us-west-2:123456789012:secret:my-secret-*"
]
}
]
}
import json
import boto3
def get_secret():
secret_name = "my-secret"
region_name = "us-west-2"
# Create a Secrets Manager client
session = boto3.session.Session()
client = session.client(
service_name='secretsmanager',
region_name=region_name
)
# Get the secret JSON value
get_secret_value_response = client.get_secret_value(
SecretId=secret_name
)
secret = get_secret_value_response['SecretString']
secret_dict = json.loads(secret)
print(secret_dict)
get_secret()
这样可以检查Secret是否正常解析。如果您的问题仍然存在,请联系AWS支持。