默认情况下,在受版本控制的存储空间(Bucket)中调用HeadObject接口仅获取文件(Object)当前版本的meta信息。

说明 如果Object的当前版本为删除标记,则返回404 Not Found。请求参数中指定versionId则返回指定版本Object的meta信息。
以下代码用于获取文件元信息:
package main

import (
  "fmt"
  "os"
  "github.com/aliyun/aliyun-oss-go-sdk/oss"
)

func main() {
  // 创建OSSClient实例。
  client, err := oss.New("<yourEndpoint>", "<yourAccessKeyId>", "<yourAccessKeySecret>")
  if err != nil {
    fmt.Println("Error:", err)
    os.Exit(-1)
  }

  objectName := "<yourObjectName>"

  // 获取存储空间。
  bucket, err := client.Bucket("<yourBucketName>")
  if err != nil {
    fmt.Println("Error:", err)
    os.Exit(-1)
  }

  // 获取指定版本文件的部分元信息。
  props, err := bucket.GetObjectMeta(objectName, oss.VersionId("youObjectVersionId"))
  if err != nil {
    fmt.Println("Error:", err)
    os.Exit(-1)
  }
  fmt.Println("Object Meta:", props)

  // 获取指定版本文件的所有元信息。
  props, err := bucket.GetObjectDetailedMeta(objectName, oss.VersionId("youObjectVersionId"))
  if err != nil {
    fmt.Println("Error:", err)
    os.Exit(-1)
  }
  fmt.Println("Object Meta:", ret)
}
			

获取文件元信息的详情请参见HeadObjectGetObjectMeta