当我尝试将图像上传到存储桶时,它会抛出错误 "Invalid bucket name "thum.images ": Bucket name must match the regex "^[a-zA-Z0-9.\-_]{1,255}$""
。
我认为存储桶名称没有错。
这是我上传图片的代码:
def upload_thumbnail_image(image_key, thumbnail_image):
thumbnail_image_bucket = os.environ['thumbnail_bucket']
thumbnail_image = #image path
image_key = EFE3-27C8-EEB3-4987/3612d0bc-bdfd-49de-82ee-3e66cbb06807.jpg
try:
new_object = client.upload_file(thumbnail_image, thumbnail_image_bucket, image_key)
return new_object
except Exception as Exc:
set_log(Exc.args[0],True)
原文由 joey 发布,翻译遵循 CC BY-SA 4.0 许可协议
"Invalid bucket name "thum.images ": Bucket name must match the regex "^[a-zA-Z0-9.\-_]{1,255}$""
错误的意思就是它所说的:存储桶名称必须包含一些拼写错误或者是错误的,因为它应该符合以下模式:^
字符串的开始[a-zA-Z0-9.\-_]{1,255}
- 1 到 255 个 ASCII 字母、数字、点,-
或_
字符$
字符串结尾。您可以 在此处在线测试您的存储桶名称。
存储桶名称中不能有空格。
我经常收到此错误,因为在我从 S3 网页复制/粘贴存储桶名称后,存储桶名称中出现了额外的斜杠,例如
aws s3 sync s3:///my-bucket/folder folder
,其中必须只有两个反斜杠而不是三重反斜杠。