我无法在python芹菜任务上获得我的SecretsManager秘密值
我在运行视图的REST api中调用端点,调用任务,然后返回确认
def authenticate_view(authCode):
get_token.delay(authCode)
return HttpResponse('New Token created')
之后,我设置了boto3客户端:
client_secrets = boto3.client('secretsmanager')
然后我尝试使用以下代码获取秘密值:
@shared_task(name="get_token")
def get_token():
try:
get_secret_value_response = client_secrets.get_secret_value(
SecretId=secret_name
)
database_secrets = json.loads(response['SecretString'])
print(database_secrets['password'])
except ClientError as e:
# For a list of exceptions thrown, see
# https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_GetSecretValue.html
raise e
这抛出我一个错误No region provided
所以我尝试:
client_secrets = boto3.client('secretsmanager', region_name="us-east-1")
当我到达运行get_token任务的端点时,这给了我一个无限加载
我还按照AWS python3示例代码到SecretsManager,这也给了我一个无限加载
def get_secret():
secret_name = "secret_name"
region_name = "us-east-1"
# Create a Secrets Manager client
session = boto3.session.Session()
client = session.client(
service_name='secretsmanager',
region_name=region_name
)
try:
get_secret_value_response = client.get_secret_value(
SecretId=secret_name
)
except ClientError as e:
# For a list of exceptions thrown, see
# https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_GetSecretValue.html
raise e
# Decrypts secret using the associated KMS key.
secret = get_secret_value_response['SecretString']
# Your code goes here.
我用aws configure
配置了我的aws数据
IAM用户具有以下权限:
AdministratorAccess, SecretsManagerReadWrite
可能发生什么事?
你必须定义区域:
secret_name = "My-secret-name"
region_name = "us-east-2"
# Create a Secrets Manager client
session = boto3.session.Session()
client = session.client(
service_name='secretsmanager',
region_name=region_name
)