默认情况下,在受版本控制的存储空间(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)
}
获取文件元信息的详情请参见HeadObject、GetObjectMeta。