ME-South-1位置约束对本请求已发送给区域的特定端点不兼容。,无论如何,当我在
us-east-1
区域的S3存储桶上执行相同的操作时,它无需任何问题。
export const deleteOneFeed = async ({ shop_name, file_name }) => { const key = process.env.NODE_ENV === "development" ? `app-ame/${shop_name}/${file_name}` : `${shop_name}/${file_name}`; const command = new DeleteObjectCommand({ Key: key, Bucket: process.env.BUCKET_NAME, }); await s3Client.send(command); return true; };
可能导致这个问题是什么?我应该使用特定的端点吗?任何指导都将不胜感激!
当在特定区域(例如)的水桶上执行操作时,您必须使用配置为使用该区域的客户端。 您没有向我们展示您是如何创建
me-south-1
的,但是您可能要么指定另一个区域,要么没有指定一个区域(在这种情况下,默认为
me-south-1
)。
从设置AWS区域-JavaScript- aws sdk:
当您实例化服务对象时,您可以作为客户端类构造函数的一部分指定该资源的AWS区域,如下所示。
s3Client
即可确保指定的指定匹配您要使用的存储桶的区域。