You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用AWS Boto3 Python创建S3存储桶报错求助

解决AWS Boto3创建S3存储桶的IllegalLocationConstraintException错误

错误原因

us-east-1是S3的默认区域,创建该区域的存储桶时不需要指定LocationConstraint参数,强行传递会与默认请求端点产生冲突,进而触发这个错误。

修正后的代码

调整函数逻辑,将us-east-1和region=None的情况统一处理,不传递位置约束参数:

import boto3
s3 = boto3.resource('s3')

def create_bucket(bucket_name, region='us-east-1'):
    # us-east-1无需指定LocationConstraint
    if region == 'us-east-1' or region is None:
        s3.create_bucket(Bucket=bucket_name)
    else:
        location = {'LocationConstraint': region}
        s3.create_bucket(
            Bucket=bucket_name,
            CreateBucketConfiguration=location
        )

create_bucket('my-testing-bucket')

额外注意事项

  • 确保你的AWS本地配置(~/.aws/config文件或环境变量)中的区域与目标区域匹配,也可以在初始化S3资源时显式指定区域:
    s3 = boto3.resource('s3', region_name='us-east-1')
    
  • S3存储桶名称是全局唯一的,如果my-testing-bucket已被他人占用,会触发名称冲突错误,建议更换为更独特的名称。

内容的提问来源于stack exchange,提问作者Kusuma ningrat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 23:44:53