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

如何在JavaScript中获取S3 Bucket对象的用户自定义元数据?

获取S3对象的自定义元数据

使用AWS SDK的GetObjectCommand时,自定义元数据无需手动解析响应头——SDK会自动将响应头中以x-amz-meta-开头的字段提取出来,放到响应对象的metadata属性里。

实现示例(以JavaScript SDK v3为例)

import { S3Client, GetObjectCommand } from "@aws-sdk/client-s3";

const s3Client = new S3Client({ region: "你的区域" });

async function getObjectWithMetadata() {
  const params = {
    Bucket: "目标存储桶名",
    Key: "对象键名"
  };

  try {
    const response = await s3Client.send(new GetObjectCommand(params));
    // 所有自定义元数据都在这里,已去除x-amz-meta-前缀
    const customMeta = response.metadata;
    
    // 读取指定的元数据,比如你设置的x-amz-meta-project-id
    const projectId = customMeta["project-id"];
    console.log("项目ID:", projectId);
    console.log("全部自定义元数据:", customMeta);
  } catch (err) {
    console.error("获取对象出错:", err);
  }
}

getObjectWithMetadata();

关键说明

  • 元数据键名会自动转换为小写,且去掉x-amz-meta-前缀,比如x-amz-meta-User-Name会变成user-name
  • 如果你的SDK版本是v2,逻辑类似,响应对象的Metadata字段(首字母大写)就是自定义元数据集合

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 14:12:05