gpt4 book ai didi

python-3.x - NoCredentialsError botocore.exceptions.NoCredentialsError:即使在传递凭据后也无法找到凭据

转载 作者:行者123 更新时间:2023-12-02 19:55:42 26 4
gpt4 key购买 nike

我正在将消息发送到Flask应用程序内的SQS队列。
我正在使用https://github.com/vsouza/docker-SQS-local在本地模拟此SQS功能。

我在功能内为boto3.client()设置凭据。
当我运行直接在Pycharm中发送消息的功能时,它会将消息发送到SQS队列。

但是,当我对这个Flask应用程序进行Docker化并调用触发该功能的端点时,它会抛出错误。

raise NoCredentialsError botocore.exceptions.NoCredentialsError: Unable to locate credentials



这是发送消息的代码。
def send_mes():
config = Config()
sqs = boto3.client('sqs', aws_access_key_id=None, aws_secret_access_key=None,
endpoint_url=config.QUEUE_ENDPOINT_URL, region_name='default')
feeder_queue = config.FEEDER_QUEUE

def inside_fun():
while True:
resp = sqs.send_message(
QueueUrl=feeder_queue,
MessageBody=(
f'Sample message for Queue at {datetime.now()}.'
)
)
print(resp)
time.sleep(3)

t1 = threading.Thread(target=inside_fun)
t2 = threading.Thread(target=inside_fun)

t1.start()
t2.start()

t1.join()
t2.join()


if __name__ == '__main__':
send_mes()

请指出我在哪里犯错?

最佳答案

设置环境变量并使其起作用,而不是直接在代码中将AWS凭证直接传递给客户端。

关于python-3.x - NoCredentialsError botocore.exceptions.NoCredentialsError:即使在传递凭据后也无法找到凭据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58199738/

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