我正在尝试使用AWS SDK v3 for Nodejs提取s3 bucket的标记。这是我的代码,基于如何列出所有bucket的示例:
const { S3Client, GetBucketTaggingCommand } = require("@aws-sdk/client-s3");
const { fromIni } = require("@aws-sdk/credential-provider-ini");
const s3 = new S3Client({
credentials: fromIni({
profile: 'example-s3'
})
});
const run = async () => {
try {
const data = await s3.send(new GetBucketTaggingCommand({
Bucket: "example-bucket"
}));
console.log("Success", data);
} catch (err) {
console.log("Error", err);
}
};
run();
如果我运行这个,我会得到
Error Error: No value provided for input HTTP label: Bucket.
我已经通读了GetBucketTaggingCommand的文档。它需要一个类型为GetBucketTaggingCommandInput的输入。这是一个json object,它带有一个必需的属性Bucket
,我已经提供了这个属性。那么我在这里遗漏了什么呢?
3条答案
按热度按时间afdcj2ne1#
看起来你的配置有问题。我可能是错的。我的配置看起来像这样:
但是,当我为
GetObjectCommand
应用错误的命令输入时,出现了此错误:但我对您的情况的最佳猜测是,问题在于如何创建
S3Client
构造函数。whhtz7ly2#
错误错误:没有为输入HTTP标签提供值:水桶。
我不知道这是否有帮助,但我收到了这条消息,问题如下:
我忘了将"bucket"名称放入. env文件,所以我发送的参数中未定义"bucketname"
rta7y2nd3#
这意味着您的存储桶名称未设置。请检查。