【发布时间】:2019-05-31 15:04:53
【问题描述】:
当我尝试将图像上传到存储桶时,它会抛出错误 "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)
【问题讨论】:
-
该错误似乎暗示您的存储桶名称在其末尾包含一个空格.. 正则表达式不允许。
-
您的正则表达式实际上不允许使用连字符
-,因为连字符在您的字符类中充当范围说明符。如果您想从字面上包含连字符,请将您的正则表达式更改为此^[a-zA-Z0-9.-_-]{1,255}$ -
@PushpeshKumarRajwanshi 正则表达式是错误消息的一部分,来自 SDK 或服务本身。 Markdown 正在取消反斜杠。已编辑。
-
你的 image_key 应该被引用。
-
正则表达式确实允许使用连字符并被转义。 [a-zA-Z0-9.\-_]。问题是@FatalError 发现的尾随空格。
标签: python regex amazon-web-services amazon-s3 bucket