Vij*_*a M 7 python boto3 aws-sam
请检查下面的屏幕截图,它有问题。AWS 凭证配置正确,当我们在 boto3 中单独使用时它工作正常,但在 SAM lambda 函数中触发它出现此错误。在此输入图像描述
尝试了所有解决方案,例如检查“aws configure”和取消设置AWS_SECURITY_TOKEN以及其他来源中提到的其他解决方案也尝试过但不起作用。
并在代码中尝试做
session = boto3.session.Session()
secretsmanager = session.client('secretsmanager')
try:
get_secret_value_response = secretsmanager.get_secret_value(
SecretId=secret_name
)
secret = json.loads(get_secret_value_response['SecretString'])
except ClientError as e:
print(e)
# print(sys.exc_info(),traceback.print_exc(file=sys.stdout))
except Exception as e:
print(sys.exc_info(),traceback.print_exc(file=sys.stdout))
print(e)
Run Code Online (Sandbox Code Playgroud)
通过删除此文件来删除 AWS 凭证~/.aws/credentials。然后重新运行aws configure并传递有效的安全凭证。这应该可以解决您遇到的问题。
如果您配置了多个配置文件,则编辑~/.aws/credentials并删除与此代码一起使用的配置文件。例如,如果您在配置凭据时使用了 user1,则您的文件将包含类似于以下内容的内容:
[default]
aws_access_key_id=AKIAIOSFODNN7EXAMPLE
aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
[user1]
aws_access_key_id=AKIAI44QH8DHBEXAMPLE
aws_secret_access_key=je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY
Run Code Online (Sandbox Code Playgroud)
要解决此问题,只需删除 [user1] 部分,然后~/.aws/credentials重新运行即可aws configure。