错误:存储桶名称必须与正则表达式“^[a-zA-Z0-9.\-_]{1,255}$”匹配

joe*_*oey 7 python regex amazon-s3 bucket amazon-web-services

当我尝试将图像上传到存储桶时,它会引发错误"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)
Run Code Online (Sandbox Code Playgroud)

Wik*_*żew 17

"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,其中必须只有两个反斜杠,而不是三个反斜杠。

  • 根据该正则表达式,正斜杠不是无效字符吗? (2认同)