默认情况下,在已开启版本控制的存储空间(Bucket)中调用HeadObject接口只能获取文件(Object)当前版本的元信息(meta)。通过指定文件的版本ID(versionId),您可以获取文件指定版本的元信息。

说明 如果文件的当前版本为删除标记,则返回404 Not Found。请求参数中指定versionId则返回文件指定版本的元信息。获取文件versionId的具体操作,请参见Node.js列举文件

示例代码

以下代码用于获取目标存储空间examplebucket中exampledir目录下exampleobject.txt文件指定版本的元信息。

const OSS = require('ali-oss');

const client = new OSS({
  // yourRegion填写Bucket所在地域。以华东1(杭州)为例,Region填写为oss-cn-hangzhou。
  region: 'yourRegion',
  // 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。
  accessKeyId: 'yourAccessKeyId',
  accessKeySecret: 'yourAccessKeySecret',
  // 填写Bucket名称,例如examplebucket。
  bucket: 'examplebucket',
});

async function headInfo() {
  // 填写文件完整路径,例如exampledir/exampleobject.txt。文件完整路径中不能包含Bucket名称。
  const name = 'exampledir/exampleobject.txt'
  // 填写文件的版本ID,获取文件指定版本的元信息。
  const versionId = 'CAEQMxiBgICAof2D0BYiIDJhMGE3N2M1YTI1NDQzOGY5NTkyNTI3MGYyMzJm****'
  const options = {
    versionId
  };
  const result = await client.head(name, options);
  console.log(result);
}

headInfo();

相关文档

关于获取文件元信息的API接口说明,请参见HeadObjectGetObjectMeta