【发布时间】:2021-07-17 17:21:40
【问题描述】:
我想将文件上传到 Wasabi 中的云存储,但我不能。出现此错误: 调用 PutObject 操作时发生错误 (InvalidAccessKeyId):我们的记录中不存在您提供的 AWS 访问密钥 ID。 我检查了几次钥匙,一切都是正确的。奇怪的是,在此之前我尝试创建一个新的篮子,一切都对我有用,但我无法上传文件。
import boto3
s3 = boto3.client('s3',
endpoint_url='https://s3.wasabisys.com',
aws_access_key_id="********R2PN",
aws_secret_access_key="*************zDKnnWS")
file_path = r"C:\Users\Asus\Desktop\Programming\rofls_with_node\tracks.txt"
bucket_name = "last-fm9"
key_name = "tracks.txt"
s3.put_object(Body=file_path, Bucket=bucket_name, Key=key_name)
【问题讨论】:
-
听起来您提供的访问密钥要么无效(例如以某种方式损坏),要么实际上不作为有效的访问密钥存在于芥末中。
-
您是否可以使用AWS Command-Line Interface (CLI) 和这些凭据,使用
aws s3 ls--endpoint-url=s3.wasabisys.com`?这将是测试凭据是否正确的好方法。见:How do I use AWS CLI with Wasabi? – Wasabi Knowledge Base -
我使用了命令“aws s3 ls --endpoint-url = s3.wasabisys.com”,起初我得到了相同的答案,说没有密钥。但是后来我输入了“aws config”,保留了相同的键,但将区域更改为“us-east-1”,并尝试发送相同的请求,我得到了正常的响应。但是因为key,我还是不能发送文件。
标签: python amazon-web-services boto3