gpt4 book ai didi

python - AWS SDK : botocore. 异常中的 Boto3 错误。NoCredentialsError:无法找到凭证

转载 作者:行者123 更新时间:2023-12-02 03:01:44 33 4
gpt4 key购买 nike

当我简单地运行以下代码时,我总是收到此错误。

import boto3 as boto
import sys
import json



role_to_assume_arn="arn:aws:iam::xxxxxxxxxxxx:role/AWSxxxx_xxxxxxAdminaccess_xxxxx24fexxx"
role_session_name='AssumeRoleSession1'

sts_client=boto.client('sts')


assumed_role_object=sts_client.assume_role(
RoleArn="arn:aws:iam::xxxxxxxxxxxx:role/AWSxxxx_xxxxxxAdminaccess_xxxxx24fexxx",
RoleSessionName="Sess1",
)

creds=assumed_role_object['Credentials']

sts_assumed_role = boto3.client('sts',
aws_access_key_id=creds['AccessKeyId'],
aws_secret_access_key=creds['SecretAccessKey'],
aws_session_token=creds['SessionToken'],
)

rds_client = boto.client('rds',
aws_access_key_id=creds['AccessKeyId'],
aws_secret_access_key=creds['SecretAccessKey'],
aws_session_token=creds['SessionToken']
)

我不想频繁设置和更改临时 session key ,而是希望通过我刚刚编写的代码直接设置它们。

我错了吗?有没有办法直接在程序中设置这样的凭据?

或者是否必须在“~/.aws/credentials”中提供凭证

最佳答案

我假设您正在本地计算机上运行此代码。

您创建的 STS 客户端需要访问 key 和 secret 访问 key 。

您必须使用凭据文件对其进行配置,或者您可以直接对您的访问 key 和 secret 访问 key 进行硬编码,如下所示(不推荐)。

client = boto3.client('sts', aws_access_key_id=key, aws_secret_access_key=sec_key, region_name=region_name)

https://docs.aws.amazon.com/sdk-for-php/v3/developer-guide/guide_credentials_profiles.html

如果您在 EC2 实例中运行此代码,请安装 boto3 并执行 AWS 配置。请点击以下链接。

https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html

关于python - AWS SDK : botocore. 异常中的 Boto3 错误。NoCredentialsError:无法找到凭证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59822991/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com