首页 > 解决方案 > 适用于 nodejs 的 AWS SDK v3,如何获取 s3 存储桶的标签?

问题描述

我正在尝试使用适用于 Nodejs 的 AWS SDK v3 提取 s3 存储桶的标签。这是我的代码,基于如何列出所有存储桶的示例:

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类型的输入。那是我提供的带有 required 属性的json 对象。Bucket那么我在这里错过了什么?

标签: node.jsamazon-web-servicesamazon-s3aws-sdk-nodejs

解决方案


这意味着您的存储桶名称未设置。核实。


推荐阅读