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

S3 Express One Zone目录型桶遇NoSuchBucket错误排查

问题:S3 Express One Zone目录型桶在Lambda中访问提示NoSuchBucket

我在S3 Express One Zone中创建了一个目录型桶,尝试通过位于同一us-east-1区域的AWS Lambda函数获取桶内对象。我的函数基于官方文档示例编写:

import boto3
import json

def get_object(s3_client, bucket_name, key_name):
    try:
        response = s3_client.get_object(Bucket=bucket_name, Key=key_name)
        body = response['Body'].read()
        print(f"Got object '{key_name}' from bucket '{bucket_name}'.")
        return body
    except:
        print(f"Couldn't get object '{key_name}' from bucket '{bucket_name}'.")
        raise

def lambda_handler(event, context):
    s3_client = boto3.client('s3')
    resp = get_object(s3_client, 'mybucket--use1-az4--x-s3', 'myobject')
    return {'statusCode': 200}

调用get_object时触发异常:

An error occurred (NoSuchBucket) when calling the GetObject operation: The specified bucket does not exist.

使用常规(非目录型)桶时可正常运行,因此排除权限问题。我曾怀疑是使用的boto3版本不支持该新型桶,于是重新创建了Python 3.10环境的Lambda函数,但问题依旧。我忽略了什么?

更新:添加包含最新boto3的层后,问题已解决。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 12:52:46