• 关于

    OSS 元信息

    的搜索结果

回答

详细解答可以参考官方帮助文档使用Bucket.CopyObject或Bucket.CopyObjectToBucket拷贝文件,前者是同一个Bucket内的文件拷贝,后者是Bucket之间的文件拷贝。 提示: 拷贝文件的示例代码在sample/copy_objects.go 同一个Bucket内的文件拷贝 import "github.com/aliyun/aliyun-oss-go-sdk/oss" client, err := oss.New("Endpoint", "AccessKeyId", "AccessKeySecret") if err != nil { // HandleError(err) } bucket, err := client.Bucket("my-bucket") if err != nil { // HandleError(err) } _, err = bucket.CopyObject("my-object", "descObjectKey") if err != nil { // HandleError(err) } 不同Bucket之间的文件拷贝 import "github.com/aliyun/aliyun-oss-go-sdk/oss" client, err := oss.New("Endpoint", "AccessKeyId", "AccessKeySecret") if err != nil { // HandleError(err) } bucket, err := client.Bucket("my-bucket") if err != nil { // HandleError(err) } _, err = bucket.CopyObjectToBucket("my-object", "my-bucket-desc", "descObjectKey") if err != nil { // HandleError(err) } 拷贝时处理文件元信息 文件拷贝(CopyObject/CopyObjectToBucket)时对文件元信息的处理有两种选择,通过MetadataDirective参数指定: oss.MetaCopy 与源文件相同,即拷贝源文件的元信息 oss.MetaReplace 使用新的元信息覆盖源文件的信息 默认值是oss.MetaCopy。 COPY时,MetadataDirective为MetaReplace时,用户可以指定新对象的如下的元信息: 元信息 说明 CacheControl 指定新Object被下载时的网页的缓存行为。 ContentDisposition 指定新Object被下载时的名称。 ContentEncoding 指定新Object被下载时的内容编码格式。 Expires 指定新Object过期时间(seconds)更详细描述请参照RFC2616。 ServerSideEncryption 指定OSS创建新Object时的服务器端加密编码算法。 ObjectACL 指定OSS创建新Object时的访问权限。 Meta 自定义参数,以"X-Oss-Meta-"为前缀的参数。 import ( "time" "github.com/aliyun/aliyun-oss-go-sdk/oss" ) client, err := oss.New("Endpoint", "AccessKeyId", "AccessKeySecret") if err != nil { // HandleError(err) } bucket, err := client.Bucket("my-bucket") if err != nil { // HandleError(err) } expires := time.Date(2049, time.January, 10, 23, 0, 0, 0, time.UTC) options := []oss.Option{ oss.MetadataDirective(oss.MetaReplace), oss.Expires(expires), oss.ObjectACL(oss.ACLPublicRead), oss.Meta("MyMeta", "MyMetaValue")} _, err = bucket.CopyObject("my-object", "descObjectKey", options...) if err != nil { // HandleError(err) } 限定拷贝条件 文件拷贝时可以设置限定条件,条件满足时拷贝,不满足时报错不拷贝。可以使用的限定条件如下: 参数 说明 CopySourceIfMatch 如果源Object的ETAG值和用户提供的ETAG相等,则执行拷贝操作;否则返回错误。 CopySourceIfNoneMatch 如果源Object的ETAG值和用户提供的ETAG不相等,则执行拷贝操作;否则返回错误。 CopySourceIfModifiedSince 如果传入参数中的时间等于或者晚于源文件实际修改时间,则正常拷贝;否则返回错误。 CopySourceIfUnmodifiedSince 如果源Object自从用户指定的时间以后被修改过,则执行拷贝操作;否则返回错误。 import ( "fmt" "time" "github.com/aliyun/aliyun-oss-go-sdk/oss" ) client, err := oss.New("Endpoint", "AccessKeyId", "AccessKeySecret") if err != nil { // HandleError(err) } bucket, err := client.Bucket("my-bucket") if err != nil { // HandleError(err) } date := time.Date(2015, time.November, 10, 23, 0, 0, 0, time.UTC) // 约束条件不满足,拷贝没有执行 _, err = bucket.CopyObject("my-object", "descObjectKey", oss.CopySourceIfModifiedSince(date)) fmt.Println("CopyObjectError:", err) // 约束条件满足,拷贝执行 _, err = bucket.CopyObject("my-object", "descObjectKey", oss.CopySourceIfUnmodifiedSince(date)) if err != nil { // HandleError(err) } 提示: Bucket.CopyObject、Bucket.CopyObjectToBucket都支持拷贝时处理文件元信息、限定拷贝条件。

2019-12-01 23:14:51 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档使用Bucket.CopyObject或Bucket.CopyObjectToBucket拷贝文件,前者是同一个Bucket内的文件拷贝,后者是Bucket之间的文件拷贝。 提示: 拷贝文件的示例代码在sample/copy_objects.go 同一个Bucket内的文件拷贝 import "github.com/aliyun/aliyun-oss-go-sdk/oss" client, err := oss.New("Endpoint", "AccessKeyId", "AccessKeySecret") if err != nil { // HandleError(err) } bucket, err := client.Bucket("my-bucket") if err != nil { // HandleError(err) } _, err = bucket.CopyObject("my-object", "descObjectKey") if err != nil { // HandleError(err) } 不同Bucket之间的文件拷贝 import "github.com/aliyun/aliyun-oss-go-sdk/oss" client, err := oss.New("Endpoint", "AccessKeyId", "AccessKeySecret") if err != nil { // HandleError(err) } bucket, err := client.Bucket("my-bucket") if err != nil { // HandleError(err) } _, err = bucket.CopyObjectToBucket("my-object", "my-bucket-desc", "descObjectKey") if err != nil { // HandleError(err) } 拷贝时处理文件元信息 文件拷贝(CopyObject/CopyObjectToBucket)时对文件元信息的处理有两种选择,通过MetadataDirective参数指定: oss.MetaCopy 与源文件相同,即拷贝源文件的元信息 oss.MetaReplace 使用新的元信息覆盖源文件的信息 默认值是oss.MetaCopy。 COPY时,MetadataDirective为MetaReplace时,用户可以指定新对象的如下的元信息: 元信息 说明 CacheControl 指定新Object被下载时的网页的缓存行为。 ContentDisposition 指定新Object被下载时的名称。 ContentEncoding 指定新Object被下载时的内容编码格式。 Expires 指定新Object过期时间(seconds)更详细描述请参照RFC2616。 ServerSideEncryption 指定OSS创建新Object时的服务器端加密编码算法。 ObjectACL 指定OSS创建新Object时的访问权限。 Meta 自定义参数,以"X-Oss-Meta-"为前缀的参数。 import ( "time" "github.com/aliyun/aliyun-oss-go-sdk/oss" ) client, err := oss.New("Endpoint", "AccessKeyId", "AccessKeySecret") if err != nil { // HandleError(err) } bucket, err := client.Bucket("my-bucket") if err != nil { // HandleError(err) } expires := time.Date(2049, time.January, 10, 23, 0, 0, 0, time.UTC) options := []oss.Option{ oss.MetadataDirective(oss.MetaReplace), oss.Expires(expires), oss.ObjectACL(oss.ACLPublicRead), oss.Meta("MyMeta", "MyMetaValue")} _, err = bucket.CopyObject("my-object", "descObjectKey", options...) if err != nil { // HandleError(err) } 限定拷贝条件 文件拷贝时可以设置限定条件,条件满足时拷贝,不满足时报错不拷贝。可以使用的限定条件如下: 参数 说明 CopySourceIfMatch 如果源Object的ETAG值和用户提供的ETAG相等,则执行拷贝操作;否则返回错误。 CopySourceIfNoneMatch 如果源Object的ETAG值和用户提供的ETAG不相等,则执行拷贝操作;否则返回错误。 CopySourceIfModifiedSince 如果传入参数中的时间等于或者晚于源文件实际修改时间,则正常拷贝;否则返回错误。 CopySourceIfUnmodifiedSince 如果源Object自从用户指定的时间以后被修改过,则执行拷贝操作;否则返回错误。 import ( "fmt" "time" "github.com/aliyun/aliyun-oss-go-sdk/oss" ) client, err := oss.New("Endpoint", "AccessKeyId", "AccessKeySecret") if err != nil { // HandleError(err) } bucket, err := client.Bucket("my-bucket") if err != nil { // HandleError(err) } date := time.Date(2015, time.November, 10, 23, 0, 0, 0, time.UTC) // 约束条件不满足,拷贝没有执行 _, err = bucket.CopyObject("my-object", "descObjectKey", oss.CopySourceIfModifiedSince(date)) fmt.Println("CopyObjectError:", err) // 约束条件满足,拷贝执行 _, err = bucket.CopyObject("my-object", "descObjectKey", oss.CopySourceIfUnmodifiedSince(date)) if err != nil { // HandleError(err) } 提示: Bucket.CopyObject、Bucket.CopyObjectToBucket都支持拷贝时处理文件元信息、限定拷贝条件。

2019-12-01 23:14:51 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档 阿里云对象存储服务(Object Storage Service,简称 OSS),是阿里云提供的海量、安全、低成本、高可靠的云存储服务。它具有与平台无关的RESTful API接口,能够提供99.999999999%(11个9)的数据可靠性和99.99%的服务可用性。您可以在任何应用、任何时间、任何地点存储和访问任意类型的数据。 您可以使用阿里云提供的API、SDK接口或者OSS迁移工具轻松地将海量数据移入或移出阿里云OSS。数据存储到阿里云OSS以后,您可以选择标准类型(Standard)的阿里云OSS服务作为移动应用、大型网站、图片分享或热点音视频的主要存储方式,也可以选择成本更低、存储期限更长的低频访问类型(Infrequent Access)和归档类型(Archive)的阿里云OSS服务作为不经常访问数据的备份和归档。 相关概念 存储空间(Bucket) 存储空间是您用于存储对象(Object)的容器,所有的对象都必须隶属于某个存储空间。您可以设置和修改存储空间属性用来控制地域、访问权限、生命周期等,这些属性设置直接作用于该存储空间内所有对象,因此您可以通过灵活创建不同的存储空间来完成不同的管理功能。 对象/文件(Object) 对象是 OSS 存储数据的基本单元,也被称为OSS的文件。对象由元信息(Object Meta),用户数据(Data)和文件名(Key)组成。对象由存储空间内部唯一的Key来标识。对象元信息是一个键值对,表示了对象的一些属性,比如最后修改时间、大小等信息,同时您也可以在元信息中存储一些自定义的信息。 地域(Region) 地域表示 OSS 的数据中心所在物理位置。您可以根据费用、请求来源等综合选择数据存储的地域。详情请查看OSS已经开通的Region。 访问域名(Endpoint) Endpoint 表示OSS对外服务的访问域名。OSS以HTTP RESTful API的形式对外提供服务,当访问不同地域的时候,需要不同的域名。通过内网和外网访问同一个地域所需要的域名也是不同的。具体的内容请参见各个Region对应的Endpoint。 访问密钥(AccessKey) AccessKey,简称 AK,指的是访问身份验证中用到的AccessKeyId 和AccessKeySecret。OSS通过使用AccessKeyId 和AccessKeySecret对称加密的方法来验证某个请求的发送者身份。AccessKeyId用于标识用户,AccessKeySecret是用户用于加密签名字符串和OSS用来验证签名字符串的密钥,其中AccessKeySecret 必须保密。 相关服务 您把数据存储到OSS以后,就可以使用阿里云提供的其他产品和服务对其进行相关操作。 以下是您会经常使用到的阿里云产品和服务: 云服务器ECS:提供简单高效、处理能力可弹性伸缩的云端计算服务。请参见ECS产品详情页面。 内容分发网络CDN:将源站资源缓存到各区域的边缘节点,供您就近快速获取内容。请参见CDN产品详情页面。 E-MapReduce:构建于阿里云云服务器 ECS 上的大数据处理的系统解决方案,基于开源的 Apache Hadoop 和 Apache Spark,方便您分析和处理自己的数据。请参见E-MapReduce产品详情页面。 媒体处理:将存储于OSS的音视频转码成适合在PC、TV以及移动终端上播放的格式。并基于海量数据深度学习,对音视频的内容、文字、语音、场景多模态分析,实现智能审核、内容理解、智能编辑。请参见媒体处理产品详情页面。 使用OSS 阿里云提供了Web服务页面,方便您管理对象存储OSS。您可以登录OSS管理控制台,操作存储空间和对象。关于管理控制台的操作,请参见控制台用户指南。 阿里云也提供了丰富的API接口和各种语言的SDK包,方便您灵活地管理对象存储OSS。请参见OSS API参考和OSS SDK参考。 OSS定价 传统的存储服务供应商会要求您购买预定量的存储和网络传输容量,如果超出此容量,就会关闭对应的服务或者收取高昂的超容量费用;如果没有超过此容量,又需要您按照全部容量支付费用。 对象存储OSS仅按照您的实际使用容量收费,您无需预先购买存储和流量容量,随着您业务的发展,您将享受到更多的基础设施成本优势。 关于对象存储OSS的价格,请参见OSS详细价格信息。关于OSS的计量计费方式,请参见OSS计量项和计费项。 学习路径图 您可以通过OSS产品学习路径图快速了解OSS,学习相关的基础操作,并利用丰富的API、SDK包和便捷工具进行二次开发。 视频

2019-12-01 23:12:03 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档 阿里云对象存储服务(Object Storage Service,简称 OSS),是阿里云提供的海量、安全、低成本、高可靠的云存储服务。它具有与平台无关的RESTful API接口,能够提供99.999999999%(11个9)的数据可靠性和99.99%的服务可用性。您可以在任何应用、任何时间、任何地点存储和访问任意类型的数据。 您可以使用阿里云提供的API、SDK接口或者OSS迁移工具轻松地将海量数据移入或移出阿里云OSS。数据存储到阿里云OSS以后,您可以选择标准类型(Standard)的阿里云OSS服务作为移动应用、大型网站、图片分享或热点音视频的主要存储方式,也可以选择成本更低、存储期限更长的低频访问类型(Infrequent Access)和归档类型(Archive)的阿里云OSS服务作为不经常访问数据的备份和归档。 相关概念 存储空间(Bucket) 存储空间是您用于存储对象(Object)的容器,所有的对象都必须隶属于某个存储空间。您可以设置和修改存储空间属性用来控制地域、访问权限、生命周期等,这些属性设置直接作用于该存储空间内所有对象,因此您可以通过灵活创建不同的存储空间来完成不同的管理功能。 对象/文件(Object) 对象是 OSS 存储数据的基本单元,也被称为OSS的文件。对象由元信息(Object Meta),用户数据(Data)和文件名(Key)组成。对象由存储空间内部唯一的Key来标识。对象元信息是一个键值对,表示了对象的一些属性,比如最后修改时间、大小等信息,同时您也可以在元信息中存储一些自定义的信息。 地域(Region) 地域表示 OSS 的数据中心所在物理位置。您可以根据费用、请求来源等综合选择数据存储的地域。详情请查看OSS已经开通的Region。 访问域名(Endpoint) Endpoint 表示OSS对外服务的访问域名。OSS以HTTP RESTful API的形式对外提供服务,当访问不同地域的时候,需要不同的域名。通过内网和外网访问同一个地域所需要的域名也是不同的。具体的内容请参见各个Region对应的Endpoint。 访问密钥(AccessKey) AccessKey,简称 AK,指的是访问身份验证中用到的AccessKeyId 和AccessKeySecret。OSS通过使用AccessKeyId 和AccessKeySecret对称加密的方法来验证某个请求的发送者身份。AccessKeyId用于标识用户,AccessKeySecret是用户用于加密签名字符串和OSS用来验证签名字符串的密钥,其中AccessKeySecret 必须保密。 相关服务 您把数据存储到OSS以后,就可以使用阿里云提供的其他产品和服务对其进行相关操作。 以下是您会经常使用到的阿里云产品和服务: 云服务器ECS:提供简单高效、处理能力可弹性伸缩的云端计算服务。请参见ECS产品详情页面。 内容分发网络CDN:将源站资源缓存到各区域的边缘节点,供您就近快速获取内容。请参见CDN产品详情页面。 E-MapReduce:构建于阿里云云服务器 ECS 上的大数据处理的系统解决方案,基于开源的 Apache Hadoop 和 Apache Spark,方便您分析和处理自己的数据。请参见E-MapReduce产品详情页面。 媒体处理:将存储于OSS的音视频转码成适合在PC、TV以及移动终端上播放的格式。并基于海量数据深度学习,对音视频的内容、文字、语音、场景多模态分析,实现智能审核、内容理解、智能编辑。请参见媒体处理产品详情页面。 使用OSS 阿里云提供了Web服务页面,方便您管理对象存储OSS。您可以登录OSS管理控制台,操作存储空间和对象。关于管理控制台的操作,请参见控制台用户指南。 阿里云也提供了丰富的API接口和各种语言的SDK包,方便您灵活地管理对象存储OSS。请参见OSS API参考和OSS SDK参考。 OSS定价 传统的存储服务供应商会要求您购买预定量的存储和网络传输容量,如果超出此容量,就会关闭对应的服务或者收取高昂的超容量费用;如果没有超过此容量,又需要您按照全部容量支付费用。 对象存储OSS仅按照您的实际使用容量收费,您无需预先购买存储和流量容量,随着您业务的发展,您将享受到更多的基础设施成本优势。 关于对象存储OSS的价格,请参见OSS详细价格信息。关于OSS的计量计费方式,请参见OSS计量项和计费项。 学习路径图 您可以通过OSS产品学习路径图快速了解OSS,学习相关的基础操作,并利用丰富的API、SDK包和便捷工具进行二次开发。 视频

2019-12-01 23:12:02 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档 阿里云对象存储服务(Object Storage Service,简称 OSS),是阿里云提供的海量、安全、低成本、高可靠的云存储服务。它具有与平台无关的RESTful API接口,能够提供99.999999999%(11个9)的数据可靠性和99.99%的服务可用性。您可以在任何应用、任何时间、任何地点存储和访问任意类型的数据。 您可以使用阿里云提供的API、SDK接口或者OSS迁移工具轻松地将海量数据移入或移出阿里云OSS。数据存储到阿里云OSS以后,您可以选择标准类型(Standard)的阿里云OSS服务作为移动应用、大型网站、图片分享或热点音视频的主要存储方式,也可以选择成本更低、存储期限更长的低频访问类型(Infrequent Access)和归档类型(Archive)的阿里云OSS服务作为不经常访问数据的备份和归档。 相关概念 存储空间(Bucket) 存储空间是您用于存储对象(Object)的容器,所有的对象都必须隶属于某个存储空间。您可以设置和修改存储空间属性用来控制地域、访问权限、生命周期等,这些属性设置直接作用于该存储空间内所有对象,因此您可以通过灵活创建不同的存储空间来完成不同的管理功能。 对象/文件(Object) 对象是 OSS 存储数据的基本单元,也被称为OSS的文件。对象由元信息(Object Meta),用户数据(Data)和文件名(Key)组成。对象由存储空间内部唯一的Key来标识。对象元信息是一个键值对,表示了对象的一些属性,比如最后修改时间、大小等信息,同时您也可以在元信息中存储一些自定义的信息。 地域(Region) 地域表示 OSS 的数据中心所在物理位置。您可以根据费用、请求来源等综合选择数据存储的地域。详情请查看OSS已经开通的Region。 访问域名(Endpoint) Endpoint 表示OSS对外服务的访问域名。OSS以HTTP RESTful API的形式对外提供服务,当访问不同地域的时候,需要不同的域名。通过内网和外网访问同一个地域所需要的域名也是不同的。具体的内容请参见各个Region对应的Endpoint。 访问密钥(AccessKey) AccessKey,简称 AK,指的是访问身份验证中用到的AccessKeyId 和AccessKeySecret。OSS通过使用AccessKeyId 和AccessKeySecret对称加密的方法来验证某个请求的发送者身份。AccessKeyId用于标识用户,AccessKeySecret是用户用于加密签名字符串和OSS用来验证签名字符串的密钥,其中AccessKeySecret 必须保密。 相关服务 您把数据存储到OSS以后,就可以使用阿里云提供的其他产品和服务对其进行相关操作。 以下是您会经常使用到的阿里云产品和服务: 云服务器ECS:提供简单高效、处理能力可弹性伸缩的云端计算服务。请参见ECS产品详情页面。 内容分发网络CDN:将源站资源缓存到各区域的边缘节点,供您就近快速获取内容。请参见CDN产品详情页面。 E-MapReduce:构建于阿里云云服务器 ECS 上的大数据处理的系统解决方案,基于开源的 Apache Hadoop 和 Apache Spark,方便您分析和处理自己的数据。请参见E-MapReduce产品详情页面。 媒体处理:将存储于OSS的音视频转码成适合在PC、TV以及移动终端上播放的格式。并基于海量数据深度学习,对音视频的内容、文字、语音、场景多模态分析,实现智能审核、内容理解、智能编辑。请参见媒体处理产品详情页面。 使用OSS 阿里云提供了Web服务页面,方便您管理对象存储OSS。您可以登录OSS管理控制台,操作存储空间和对象。关于管理控制台的操作,请参见控制台用户指南。 阿里云也提供了丰富的API接口和各种语言的SDK包,方便您灵活地管理对象存储OSS。请参见OSS API参考和OSS SDK参考。 OSS定价 传统的存储服务供应商会要求您购买预定量的存储和网络传输容量,如果超出此容量,就会关闭对应的服务或者收取高昂的超容量费用;如果没有超过此容量,又需要您按照全部容量支付费用。 对象存储OSS仅按照您的实际使用容量收费,您无需预先购买存储和流量容量,随着您业务的发展,您将享受到更多的基础设施成本优势。 关于对象存储OSS的价格,请参见OSS详细价格信息。关于OSS的计量计费方式,请参见OSS计量项和计费项。 学习路径图 您可以通过OSS产品学习路径图快速了解OSS,学习相关的基础操作,并利用丰富的API、SDK包和便捷工具进行二次开发。 视频

2019-12-01 23:12:03 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档 阿里云对象存储服务(Object Storage Service,简称 OSS),是阿里云提供的海量、安全、低成本、高可靠的云存储服务。它具有与平台无关的RESTful API接口,能够提供99.999999999%(11个9)的数据可靠性和99.99%的服务可用性。您可以在任何应用、任何时间、任何地点存储和访问任意类型的数据。 您可以使用阿里云提供的API、SDK接口或者OSS迁移工具轻松地将海量数据移入或移出阿里云OSS。数据存储到阿里云OSS以后,您可以选择标准类型(Standard)的阿里云OSS服务作为移动应用、大型网站、图片分享或热点音视频的主要存储方式,也可以选择成本更低、存储期限更长的低频访问类型(Infrequent Access)和归档类型(Archive)的阿里云OSS服务作为不经常访问数据的备份和归档。 相关概念 存储空间(Bucket) 存储空间是您用于存储对象(Object)的容器,所有的对象都必须隶属于某个存储空间。您可以设置和修改存储空间属性用来控制地域、访问权限、生命周期等,这些属性设置直接作用于该存储空间内所有对象,因此您可以通过灵活创建不同的存储空间来完成不同的管理功能。 对象/文件(Object) 对象是 OSS 存储数据的基本单元,也被称为OSS的文件。对象由元信息(Object Meta),用户数据(Data)和文件名(Key)组成。对象由存储空间内部唯一的Key来标识。对象元信息是一个键值对,表示了对象的一些属性,比如最后修改时间、大小等信息,同时您也可以在元信息中存储一些自定义的信息。 地域(Region) 地域表示 OSS 的数据中心所在物理位置。您可以根据费用、请求来源等综合选择数据存储的地域。详情请查看OSS已经开通的Region。 访问域名(Endpoint) Endpoint 表示OSS对外服务的访问域名。OSS以HTTP RESTful API的形式对外提供服务,当访问不同地域的时候,需要不同的域名。通过内网和外网访问同一个地域所需要的域名也是不同的。具体的内容请参见各个Region对应的Endpoint。 访问密钥(AccessKey) AccessKey,简称 AK,指的是访问身份验证中用到的AccessKeyId 和AccessKeySecret。OSS通过使用AccessKeyId 和AccessKeySecret对称加密的方法来验证某个请求的发送者身份。AccessKeyId用于标识用户,AccessKeySecret是用户用于加密签名字符串和OSS用来验证签名字符串的密钥,其中AccessKeySecret 必须保密。 相关服务 您把数据存储到OSS以后,就可以使用阿里云提供的其他产品和服务对其进行相关操作。 以下是您会经常使用到的阿里云产品和服务: 云服务器ECS:提供简单高效、处理能力可弹性伸缩的云端计算服务。请参见ECS产品详情页面。 内容分发网络CDN:将源站资源缓存到各区域的边缘节点,供您就近快速获取内容。请参见CDN产品详情页面。 E-MapReduce:构建于阿里云云服务器 ECS 上的大数据处理的系统解决方案,基于开源的 Apache Hadoop 和 Apache Spark,方便您分析和处理自己的数据。请参见E-MapReduce产品详情页面。 媒体处理:将存储于OSS的音视频转码成适合在PC、TV以及移动终端上播放的格式。并基于海量数据深度学习,对音视频的内容、文字、语音、场景多模态分析,实现智能审核、内容理解、智能编辑。请参见媒体处理产品详情页面。 使用OSS 阿里云提供了Web服务页面,方便您管理对象存储OSS。您可以登录OSS管理控制台,操作存储空间和对象。关于管理控制台的操作,请参见控制台用户指南。 阿里云也提供了丰富的API接口和各种语言的SDK包,方便您灵活地管理对象存储OSS。请参见OSS API参考和OSS SDK参考。 OSS定价 传统的存储服务供应商会要求您购买预定量的存储和网络传输容量,如果超出此容量,就会关闭对应的服务或者收取高昂的超容量费用;如果没有超过此容量,又需要您按照全部容量支付费用。 对象存储OSS仅按照您的实际使用容量收费,您无需预先购买存储和流量容量,随着您业务的发展,您将享受到更多的基础设施成本优势。 关于对象存储OSS的价格,请参见OSS详细价格信息。关于OSS的计量计费方式,请参见OSS计量项和计费项。 学习路径图 您可以通过OSS产品学习路径图快速了解OSS,学习相关的基础操作,并利用丰富的API、SDK包和便捷工具进行二次开发。 视频

2019-12-01 23:12:03 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档 阿里云对象存储服务(Object Storage Service,简称 OSS),是阿里云提供的海量、安全、低成本、高可靠的云存储服务。它具有与平台无关的RESTful API接口,能够提供99.999999999%(11个9)的数据可靠性和99.99%的服务可用性。您可以在任何应用、任何时间、任何地点存储和访问任意类型的数据。 您可以使用阿里云提供的API、SDK接口或者OSS迁移工具轻松地将海量数据移入或移出阿里云OSS。数据存储到阿里云OSS以后,您可以选择标准类型(Standard)的阿里云OSS服务作为移动应用、大型网站、图片分享或热点音视频的主要存储方式,也可以选择成本更低、存储期限更长的低频访问类型(Infrequent Access)和归档类型(Archive)的阿里云OSS服务作为不经常访问数据的备份和归档。 相关概念 存储空间(Bucket) 存储空间是您用于存储对象(Object)的容器,所有的对象都必须隶属于某个存储空间。您可以设置和修改存储空间属性用来控制地域、访问权限、生命周期等,这些属性设置直接作用于该存储空间内所有对象,因此您可以通过灵活创建不同的存储空间来完成不同的管理功能。 对象/文件(Object) 对象是 OSS 存储数据的基本单元,也被称为OSS的文件。对象由元信息(Object Meta),用户数据(Data)和文件名(Key)组成。对象由存储空间内部唯一的Key来标识。对象元信息是一个键值对,表示了对象的一些属性,比如最后修改时间、大小等信息,同时您也可以在元信息中存储一些自定义的信息。 地域(Region) 地域表示 OSS 的数据中心所在物理位置。您可以根据费用、请求来源等综合选择数据存储的地域。详情请查看OSS已经开通的Region。 访问域名(Endpoint) Endpoint 表示OSS对外服务的访问域名。OSS以HTTP RESTful API的形式对外提供服务,当访问不同地域的时候,需要不同的域名。通过内网和外网访问同一个地域所需要的域名也是不同的。具体的内容请参见各个Region对应的Endpoint。 访问密钥(AccessKey) AccessKey,简称 AK,指的是访问身份验证中用到的AccessKeyId 和AccessKeySecret。OSS通过使用AccessKeyId 和AccessKeySecret对称加密的方法来验证某个请求的发送者身份。AccessKeyId用于标识用户,AccessKeySecret是用户用于加密签名字符串和OSS用来验证签名字符串的密钥,其中AccessKeySecret 必须保密。 相关服务 您把数据存储到OSS以后,就可以使用阿里云提供的其他产品和服务对其进行相关操作。 以下是您会经常使用到的阿里云产品和服务: 云服务器ECS:提供简单高效、处理能力可弹性伸缩的云端计算服务。请参见ECS产品详情页面。 内容分发网络CDN:将源站资源缓存到各区域的边缘节点,供您就近快速获取内容。请参见CDN产品详情页面。 E-MapReduce:构建于阿里云云服务器 ECS 上的大数据处理的系统解决方案,基于开源的 Apache Hadoop 和 Apache Spark,方便您分析和处理自己的数据。请参见E-MapReduce产品详情页面。 媒体处理:将存储于OSS的音视频转码成适合在PC、TV以及移动终端上播放的格式。并基于海量数据深度学习,对音视频的内容、文字、语音、场景多模态分析,实现智能审核、内容理解、智能编辑。请参见媒体处理产品详情页面。 使用OSS 阿里云提供了Web服务页面,方便您管理对象存储OSS。您可以登录OSS管理控制台,操作存储空间和对象。关于管理控制台的操作,请参见控制台用户指南。 阿里云也提供了丰富的API接口和各种语言的SDK包,方便您灵活地管理对象存储OSS。请参见OSS API参考和OSS SDK参考。 OSS定价 传统的存储服务供应商会要求您购买预定量的存储和网络传输容量,如果超出此容量,就会关闭对应的服务或者收取高昂的超容量费用;如果没有超过此容量,又需要您按照全部容量支付费用。 对象存储OSS仅按照您的实际使用容量收费,您无需预先购买存储和流量容量,随着您业务的发展,您将享受到更多的基础设施成本优势。 关于对象存储OSS的价格,请参见OSS详细价格信息。关于OSS的计量计费方式,请参见OSS计量项和计费项。 学习路径图 您可以通过OSS产品学习路径图快速了解OSS,学习相关的基础操作,并利用丰富的API、SDK包和便捷工具进行二次开发。 视频

2019-12-01 23:12:02 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档 阿里云对象存储服务(Object Storage Service,简称 OSS),是阿里云提供的海量、安全、低成本、高可靠的云存储服务。它具有与平台无关的RESTful API接口,能够提供99.999999999%(11个9)的数据可靠性和99.99%的服务可用性。您可以在任何应用、任何时间、任何地点存储和访问任意类型的数据。 您可以使用阿里云提供的API、SDK接口或者OSS迁移工具轻松地将海量数据移入或移出阿里云OSS。数据存储到阿里云OSS以后,您可以选择标准类型(Standard)的阿里云OSS服务作为移动应用、大型网站、图片分享或热点音视频的主要存储方式,也可以选择成本更低、存储期限更长的低频访问类型(Infrequent Access)和归档类型(Archive)的阿里云OSS服务作为不经常访问数据的备份和归档。 相关概念 存储空间(Bucket) 存储空间是您用于存储对象(Object)的容器,所有的对象都必须隶属于某个存储空间。您可以设置和修改存储空间属性用来控制地域、访问权限、生命周期等,这些属性设置直接作用于该存储空间内所有对象,因此您可以通过灵活创建不同的存储空间来完成不同的管理功能。 对象/文件(Object) 对象是 OSS 存储数据的基本单元,也被称为OSS的文件。对象由元信息(Object Meta),用户数据(Data)和文件名(Key)组成。对象由存储空间内部唯一的Key来标识。对象元信息是一个键值对,表示了对象的一些属性,比如最后修改时间、大小等信息,同时您也可以在元信息中存储一些自定义的信息。 地域(Region) 地域表示 OSS 的数据中心所在物理位置。您可以根据费用、请求来源等综合选择数据存储的地域。详情请查看OSS已经开通的Region。 访问域名(Endpoint) Endpoint 表示OSS对外服务的访问域名。OSS以HTTP RESTful API的形式对外提供服务,当访问不同地域的时候,需要不同的域名。通过内网和外网访问同一个地域所需要的域名也是不同的。具体的内容请参见各个Region对应的Endpoint。 访问密钥(AccessKey) AccessKey,简称 AK,指的是访问身份验证中用到的AccessKeyId 和AccessKeySecret。OSS通过使用AccessKeyId 和AccessKeySecret对称加密的方法来验证某个请求的发送者身份。AccessKeyId用于标识用户,AccessKeySecret是用户用于加密签名字符串和OSS用来验证签名字符串的密钥,其中AccessKeySecret 必须保密。 相关服务 您把数据存储到OSS以后,就可以使用阿里云提供的其他产品和服务对其进行相关操作。 以下是您会经常使用到的阿里云产品和服务: 云服务器ECS:提供简单高效、处理能力可弹性伸缩的云端计算服务。请参见ECS产品详情页面。 内容分发网络CDN:将源站资源缓存到各区域的边缘节点,供您就近快速获取内容。请参见CDN产品详情页面。 E-MapReduce:构建于阿里云云服务器 ECS 上的大数据处理的系统解决方案,基于开源的 Apache Hadoop 和 Apache Spark,方便您分析和处理自己的数据。请参见E-MapReduce产品详情页面。 媒体处理:将存储于OSS的音视频转码成适合在PC、TV以及移动终端上播放的格式。并基于海量数据深度学习,对音视频的内容、文字、语音、场景多模态分析,实现智能审核、内容理解、智能编辑。请参见媒体处理产品详情页面。 使用OSS 阿里云提供了Web服务页面,方便您管理对象存储OSS。您可以登录OSS管理控制台,操作存储空间和对象。关于管理控制台的操作,请参见控制台用户指南。 阿里云也提供了丰富的API接口和各种语言的SDK包,方便您灵活地管理对象存储OSS。请参见OSS API参考和OSS SDK参考。 OSS定价 传统的存储服务供应商会要求您购买预定量的存储和网络传输容量,如果超出此容量,就会关闭对应的服务或者收取高昂的超容量费用;如果没有超过此容量,又需要您按照全部容量支付费用。 对象存储OSS仅按照您的实际使用容量收费,您无需预先购买存储和流量容量,随着您业务的发展,您将享受到更多的基础设施成本优势。 关于对象存储OSS的价格,请参见OSS详细价格信息。关于OSS的计量计费方式,请参见OSS计量项和计费项。 学习路径图 您可以通过OSS产品学习路径图快速了解OSS,学习相关的基础操作,并利用丰富的API、SDK包和便捷工具进行二次开发。 视频

2019-12-01 23:12:03 0 浏览量 回答数 0

问题

开始使用阿里云OSS

青衫无名 2019-12-01 21:35:19 998 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档 阿里云对象存储服务(Object Storage Service,简称OSS)为您提供基于网络的数据存取服务。使用OSS,您可以通过网络随时存储和调用包括文本、图片、音频和视频等在内的各种非结构化数据文件。 阿里云OSS将数据文件以对象(object)的形式上传到存储空间(bucket)中。您可以进行以下操作: 创建一个或者多个存储空间,向每个存储空间中添加一个或多个文件。 通过获取已上传文件的地址进行文件的分享和下载。 通过修改存储空间或文件的属性或元信息来设置相应的访问权限。 在阿里云管理控制台执行基本和高级OSS任务。 使用阿里云开发工具包或直接在应用程序中进行RESTful API调用执行基本和高级OSS任务。 初次使用阿里云OSS,请您先了解阿里云OSS使用限制。本文档向您介绍如何使用阿里云管理控制台来完成以下基本任务。 开通OSS服务 创建存储空间 上传文件 分享文件 删除文件 删除存储空间 阿里云OSS功能和定价的相关信息,请参见阿里云 OSS 产品页。 有关阿里云OSS服务的购买流程,请参见购买OSS服务。 更多高级操作,请参见阿里云OSS开发指南。 有关控制台上传下载操作,请参见视频链接。

2019-12-01 23:12:56 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档 阿里云对象存储服务(Object Storage Service,简称OSS)为您提供基于网络的数据存取服务。使用OSS,您可以通过网络随时存储和调用包括文本、图片、音频和视频等在内的各种非结构化数据文件。 阿里云OSS将数据文件以对象(object)的形式上传到存储空间(bucket)中。您可以进行以下操作: 创建一个或者多个存储空间,向每个存储空间中添加一个或多个文件。 通过获取已上传文件的地址进行文件的分享和下载。 通过修改存储空间或文件的属性或元信息来设置相应的访问权限。 在阿里云管理控制台执行基本和高级OSS任务。 使用阿里云开发工具包或直接在应用程序中进行RESTful API调用执行基本和高级OSS任务。 初次使用阿里云OSS,请您先了解阿里云OSS使用限制。本文档向您介绍如何使用阿里云管理控制台来完成以下基本任务。 开通OSS服务 创建存储空间 上传文件 分享文件 删除文件 删除存储空间 阿里云OSS功能和定价的相关信息,请参见阿里云 OSS 产品页。 有关阿里云OSS服务的购买流程,请参见购买OSS服务。 更多高级操作,请参见阿里云OSS开发指南。 有关控制台上传下载操作,请参见视频链接。

2019-12-01 23:12:56 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档 阿里云对象存储服务(Object Storage Service,简称OSS)为您提供基于网络的数据存取服务。使用OSS,您可以通过网络随时存储和调用包括文本、图片、音频和视频等在内的各种非结构化数据文件。 阿里云OSS将数据文件以对象(object)的形式上传到存储空间(bucket)中。您可以进行以下操作: 创建一个或者多个存储空间,向每个存储空间中添加一个或多个文件。 通过获取已上传文件的地址进行文件的分享和下载。 通过修改存储空间或文件的属性或元信息来设置相应的访问权限。 在阿里云管理控制台执行基本和高级OSS任务。 使用阿里云开发工具包或直接在应用程序中进行RESTful API调用执行基本和高级OSS任务。 初次使用阿里云OSS,请您先了解阿里云OSS使用限制。本文档向您介绍如何使用阿里云管理控制台来完成以下基本任务。 开通OSS服务 创建存储空间 上传文件 分享文件 删除文件 删除存储空间 阿里云OSS功能和定价的相关信息,请参见阿里云 OSS 产品页。 有关阿里云OSS服务的购买流程,请参见购买OSS服务。 更多高级操作,请参见阿里云OSS开发指南。 有关控制台上传下载操作,请参见视频链接。

2019-12-01 23:12:57 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档 阿里云对象存储服务(Object Storage Service,简称OSS)为您提供基于网络的数据存取服务。使用OSS,您可以通过网络随时存储和调用包括文本、图片、音频和视频等在内的各种非结构化数据文件。 阿里云OSS将数据文件以对象(object)的形式上传到存储空间(bucket)中。您可以进行以下操作: 创建一个或者多个存储空间,向每个存储空间中添加一个或多个文件。 通过获取已上传文件的地址进行文件的分享和下载。 通过修改存储空间或文件的属性或元信息来设置相应的访问权限。 在阿里云管理控制台执行基本和高级OSS任务。 使用阿里云开发工具包或直接在应用程序中进行RESTful API调用执行基本和高级OSS任务。 初次使用阿里云OSS,请您先了解阿里云OSS使用限制。本文档向您介绍如何使用阿里云管理控制台来完成以下基本任务。 开通OSS服务 创建存储空间 上传文件 分享文件 删除文件 删除存储空间 阿里云OSS功能和定价的相关信息,请参见阿里云 OSS 产品页。 有关阿里云OSS服务的购买流程,请参见购买OSS服务。 更多高级操作,请参见阿里云OSS开发指南。 有关控制台上传下载操作,请参见视频链接。

2019-12-01 23:12:56 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档 阿里云对象存储服务(Object Storage Service,简称OSS)为您提供基于网络的数据存取服务。使用OSS,您可以通过网络随时存储和调用包括文本、图片、音频和视频等在内的各种非结构化数据文件。 阿里云OSS将数据文件以对象(object)的形式上传到存储空间(bucket)中。您可以进行以下操作: 创建一个或者多个存储空间,向每个存储空间中添加一个或多个文件。 通过获取已上传文件的地址进行文件的分享和下载。 通过修改存储空间或文件的属性或元信息来设置相应的访问权限。 在阿里云管理控制台执行基本和高级OSS任务。 使用阿里云开发工具包或直接在应用程序中进行RESTful API调用执行基本和高级OSS任务。 初次使用阿里云OSS,请您先了解阿里云OSS使用限制。本文档向您介绍如何使用阿里云管理控制台来完成以下基本任务。 开通OSS服务 创建存储空间 上传文件 分享文件 删除文件 删除存储空间 阿里云OSS功能和定价的相关信息,请参见阿里云 OSS 产品页。 有关阿里云OSS服务的购买流程,请参见购买OSS服务。 更多高级操作,请参见阿里云OSS开发指南。 有关控制台上传下载操作,请参见视频链接。

2019-12-01 23:12:56 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档 阿里云对象存储服务(Object Storage Service,简称OSS)为您提供基于网络的数据存取服务。使用OSS,您可以通过网络随时存储和调用包括文本、图片、音频和视频等在内的各种非结构化数据文件。 阿里云OSS将数据文件以对象(object)的形式上传到存储空间(bucket)中。您可以进行以下操作: 创建一个或者多个存储空间,向每个存储空间中添加一个或多个文件。 通过获取已上传文件的地址进行文件的分享和下载。 通过修改存储空间或文件的属性或元信息来设置相应的访问权限。 在阿里云管理控制台执行基本和高级OSS任务。 使用阿里云开发工具包或直接在应用程序中进行RESTful API调用执行基本和高级OSS任务。 初次使用阿里云OSS,请您先了解阿里云OSS使用限制。本文档向您介绍如何使用阿里云管理控制台来完成以下基本任务。 开通OSS服务 创建存储空间 上传文件 分享文件 删除文件 删除存储空间 阿里云OSS功能和定价的相关信息,请参见阿里云 OSS 产品页。 有关阿里云OSS服务的购买流程,请参见购买OSS服务。 更多高级操作,请参见阿里云OSS开发指南。 有关控制台上传下载操作,请参见视频链接。

2019-12-01 23:12:56 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档 阿里云对象存储服务(Object Storage Service,简称OSS)为您提供基于网络的数据存取服务。使用OSS,您可以通过网络随时存储和调用包括文本、图片、音频和视频等在内的各种非结构化数据文件。 阿里云OSS将数据文件以对象(object)的形式上传到存储空间(bucket)中。您可以进行以下操作: 创建一个或者多个存储空间,向每个存储空间中添加一个或多个文件。 通过获取已上传文件的地址进行文件的分享和下载。 通过修改存储空间或文件的属性或元信息来设置相应的访问权限。 在阿里云管理控制台执行基本和高级OSS任务。 使用阿里云开发工具包或直接在应用程序中进行RESTful API调用执行基本和高级OSS任务。 初次使用阿里云OSS,请您先了解阿里云OSS使用限制。本文档向您介绍如何使用阿里云管理控制台来完成以下基本任务。 开通OSS服务 创建存储空间 上传文件 分享文件 删除文件 删除存储空间 阿里云OSS功能和定价的相关信息,请参见阿里云 OSS 产品页。 有关阿里云OSS服务的购买流程,请参见购买OSS服务。 更多高级操作,请参见阿里云OSS开发指南。 有关控制台上传下载操作,请参见视频链接。

2019-12-01 23:12:56 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档 阿里云对象存储服务(Object Storage Service,简称OSS)为您提供基于网络的数据存取服务。使用OSS,您可以通过网络随时存储和调用包括文本、图片、音频和视频等在内的各种非结构化数据文件。 阿里云OSS将数据文件以对象(object)的形式上传到存储空间(bucket)中。您可以进行以下操作: 创建一个或者多个存储空间,向每个存储空间中添加一个或多个文件。 通过获取已上传文件的地址进行文件的分享和下载。 通过修改存储空间或文件的属性或元信息来设置相应的访问权限。 在阿里云管理控制台执行基本和高级OSS任务。 使用阿里云开发工具包或直接在应用程序中进行RESTful API调用执行基本和高级OSS任务。 初次使用阿里云OSS,请您先了解阿里云OSS使用限制。本文档向您介绍如何使用阿里云管理控制台来完成以下基本任务。 开通OSS服务 创建存储空间 上传文件 分享文件 删除文件 删除存储空间 阿里云OSS功能和定价的相关信息,请参见阿里云 OSS 产品页。 有关阿里云OSS服务的购买流程,请参见购买OSS服务。 更多高级操作,请参见阿里云OSS开发指南。 有关控制台上传下载操作,请参见视频链接。

2019-12-01 23:12:56 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档用户一次修改一条或多条元信息,可用元信息如下: 元信息 说明 CacheControl 指定新Object被下载时的网页的缓存行为。 ContentDisposition 指定新Object被下载时的名称。 ContentEncoding 指定新Object被下载时的内容编码格式。 Expires 指定新Object过期时间,建议使用GMT格式。 Meta 自定义参数,以"X-Oss-Meta-"为前缀的参数。 使用Bucket.SetObjectMeta来设置Object的元信息。 import "fmt" import "github.com/aliyun/aliyun-oss-go-sdk/oss" client, err := oss.New("Endpoint", "AccessKeyId", "AccessKeySecret") if err != nil { // HandleError(err) } bucket, err := client.Bucket("my-bucket") if err != nil { // HandleError(err) } // 一次修改一条Meta err = bucket.SetObjectMeta("my-object", oss.Meta("MyMeta", "MyMetaValue")) if err != nil { // HandleError(err) } // 修改多条Meta options := []oss.Option{ oss.Meta("MyMeta", "MyMetaValue"), oss.Meta("MyObjectLocation", "HangZhou"), } err = bucket.SetObjectMeta("my-object", options...) if err != nil { // HandleError(err) }

2019-12-01 23:14:49 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档用户一次修改一条或多条元信息,可用元信息如下: 元信息 说明 CacheControl 指定新Object被下载时的网页的缓存行为。 ContentDisposition 指定新Object被下载时的名称。 ContentEncoding 指定新Object被下载时的内容编码格式。 Expires 指定新Object过期时间,建议使用GMT格式。 Meta 自定义参数,以"X-Oss-Meta-"为前缀的参数。 使用Bucket.SetObjectMeta来设置Object的元信息。 import "fmt" import "github.com/aliyun/aliyun-oss-go-sdk/oss" client, err := oss.New("Endpoint", "AccessKeyId", "AccessKeySecret") if err != nil { // HandleError(err) } bucket, err := client.Bucket("my-bucket") if err != nil { // HandleError(err) } // 一次修改一条Meta err = bucket.SetObjectMeta("my-object", oss.Meta("MyMeta", "MyMetaValue")) if err != nil { // HandleError(err) } // 修改多条Meta options := []oss.Option{ oss.Meta("MyMeta", "MyMetaValue"), oss.Meta("MyObjectLocation", "HangZhou"), } err = bucket.SetObjectMeta("my-object", options...) if err != nil { // HandleError(err) }

2019-12-01 23:14:49 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档 阿里云对象存储服务(Object Storage Service,简称OSS),是阿里云对外提供的海量、安全、低成本、高可靠的云存储服务。您可以通过本文档提供的简单的REST接口,在任何时间、任何地点、任何互联网设备上进行上传和下载数据。基于OSS,您可以搭建出各种多媒体分享网站、网盘、个人和企业数据备份等基于大规模数据的服务。 使用限制 您使用的OSS资源和相关功能,都有一定的限制,具体请参见OSS使用限制。 使用说明 OSS API参考主要介绍接口的请求语法、相关参数含义以及请求和返回示例。如果要快速进行二次开发,建议您使用SDK开发包。关于SDK的安装和使用,请参见OSS SDK参考。 OSS定价 关于OSS的价格,请参见OSS详细价格信息。关于OSS的计量计费方式,请参见OSS计量项和计费项。 资源术语 中文 英文 说明 存储空间 Bucket 存储空间是您用于存储对象(Object)的容器,所有的对象都必须隶属于某个存储空间。 对象/文件 Object 对象是 OSS 存储数据的基本单元,也被称为OSS的文件。对象由元信息(Object Meta)、用户数据(Data)和文件名(Key)组成。对象由存储空间内部唯一的Key来标识。 地域 Region 地域表示 OSS 的数据中心所在物理位置。您可以根据费用、请求来源等综合选择数据存储的地域。详情请查看OSS已经开通的Region。 访问域名 Endpoint Endpoint 表示OSS对外服务的访问域名。OSS以HTTP RESTful API的形式对外提供服务,当访问不同地域的时候,需要不同的域名。通过内网和外网访问同一个地域所需要的域名也是不同的。具体的内容请参见各个Region对应的Endpoint。 访问密钥 AccessKey AccessKey,简称 AK,指的是访问身份验证中用到的AccessKeyId 和AccessKeySecret。OSS通过使用AccessKeyId 和AccessKeySecret对称加密的方法来验证某个请求的发送者身份。AccessKeyId用于标识用户,AccessKeySecret是用户用于加密签名字符串和OSS用来验证签名字符串的密钥,其中AccessKeySecret 必须保密。

2019-12-01 23:13:41 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档 阿里云对象存储服务(Object Storage Service,简称OSS),是阿里云对外提供的海量、安全、低成本、高可靠的云存储服务。您可以通过本文档提供的简单的REST接口,在任何时间、任何地点、任何互联网设备上进行上传和下载数据。基于OSS,您可以搭建出各种多媒体分享网站、网盘、个人和企业数据备份等基于大规模数据的服务。 使用限制 您使用的OSS资源和相关功能,都有一定的限制,具体请参见OSS使用限制。 使用说明 OSS API参考主要介绍接口的请求语法、相关参数含义以及请求和返回示例。如果要快速进行二次开发,建议您使用SDK开发包。关于SDK的安装和使用,请参见OSS SDK参考。 OSS定价 关于OSS的价格,请参见OSS详细价格信息。关于OSS的计量计费方式,请参见OSS计量项和计费项。 资源术语 中文 英文 说明 存储空间 Bucket 存储空间是您用于存储对象(Object)的容器,所有的对象都必须隶属于某个存储空间。 对象/文件 Object 对象是 OSS 存储数据的基本单元,也被称为OSS的文件。对象由元信息(Object Meta)、用户数据(Data)和文件名(Key)组成。对象由存储空间内部唯一的Key来标识。 地域 Region 地域表示 OSS 的数据中心所在物理位置。您可以根据费用、请求来源等综合选择数据存储的地域。详情请查看OSS已经开通的Region。 访问域名 Endpoint Endpoint 表示OSS对外服务的访问域名。OSS以HTTP RESTful API的形式对外提供服务,当访问不同地域的时候,需要不同的域名。通过内网和外网访问同一个地域所需要的域名也是不同的。具体的内容请参见各个Region对应的Endpoint。 访问密钥 AccessKey AccessKey,简称 AK,指的是访问身份验证中用到的AccessKeyId 和AccessKeySecret。OSS通过使用AccessKeyId 和AccessKeySecret对称加密的方法来验证某个请求的发送者身份。AccessKeyId用于标识用户,AccessKeySecret是用户用于加密签名字符串和OSS用来验证签名字符串的密钥,其中AccessKeySecret 必须保密。

2019-12-01 23:13:41 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档一个Bucket下可能有非常多的文件,SDK提供一系列的接口方便用户管理文件。 查看所有文件通过list来列出当前Bucket下的所有文件。主要的参数如下: prefix 指定只列出符合特定前缀的文件marker 指定只列出文件名大于marker之后的文件delimiter 用于获取文件的公共前缀max-keys 用于指定最多返回的文件个数 let OSS = require('ali-oss');let client = new OSS({ region: '<Your region>', accessKeyId: '<Your AccessKeyId>', accessKeySecret: '<Your AccessKeySecret>', bucket: 'Your bucket name'});async function list () { try { // 不带任何参数,默认最多返回1000个文件 let result = await client.list(); console.log(result); // 根据nextMarker继续列出文件 if (result.isTruncated) { let result = await client.list({ marker: result.nextMarker }); } // 列出前缀为'my-'的文件 let result = await client.list({ prefix: 'my-' }); console.log(result); // 列出前缀为'my-'且在'my-object'之后的文件 let result = await client.list({ prefix: 'my-', marker: 'my-object' }); console.log(result); } catch (e) { console.log(e); }}list(); 模拟目录结构OSS是基于对象的存储服务,没有目录的概念。存储在一个Bucket中所有文件都是通过文件的key唯一标识,并没有层级的结构。这种结构可以让OSS的存储非常高效,但是用户管理文件时希望能够像传统的文件系统一样把文件分门别类放到不同的“目录”下面。通过OSS提供的“公共前缀”的功能,也可以很方便地模拟目录结构。公共前缀的概念请参考列出Object。 假设Bucket中已有如下文件: foo/xfoo/yfoo/bar/afoo/bar/bfoo/hello/C/1foo/hello/C/2...foo/hello/C/9999接下来我们实现一个函数叫listDir,列出指定目录下的文件和子目录: let OSS = require('ali-oss');let client = new OSS({ region: '<Your region>', accessKeyId: '<Your AccessKeyId>', accessKeySecret: '<Your AccessKeySecret>', bucket: 'Your bucket name'});async function listDir(dir) let result = await client.list({ prefix: dir, delimiter: '/' }); result.prefixes.forEach(function (subDir) { console.log('SubDir: %s', subDir); }); result.objects.forEach(function (obj) { console.log(Object: %s', obj.name); });end 运行结果如下: > await listDir('foo/')=> SubDir: foo/bar/ SubDir: foo/hello/ Object: foo/x Object: foo/y> await listDir('foo/bar/')=> Object: foo/bar/a Object: foo/bar/b> await listDir('foo/hello/C/')=> Object: foo/hello/C/1 Object: foo/hello/C/2 ... Object: foo/hello/C/9999文件元信息向OSS上传文件时,除了文件内容,还可以指定文件的一些属性信息,称为“元信息”。这些信息在上传时与文件一起存储,在下载时与文件一起返回。 因为文件元信息在上传/下载时是附在HTTP Headers中, HTTP协议规定不能包含复杂字符。因此元信息只能是简单的ASCII可见字符,不能包含换行。 所有元信息的总大小不能超过8KB。 使用put,putStream和multipartUpload时都可以通过指定meta参数来指定文件的元信息: let OSS = require('ali-oss')let client = new OSS({ region: '<Your region>', accessKeyId: '<Your AccessKeyId>', accessKeySecret: '<Your AccessKeySecret>', bucket: 'Your bucket name'});async function put () { try { let result = await client.put('object-key', 'local-file', { meta: { year: 2016, people: 'mary' } }); console.log(result); } catch (e) { console.log(e); }}put(); 通过putMeta接口来更新文件元信息: let OSS = require('ali-oss')let client = new OSS({ region: '<Your region>', accessKeyId: '<Your AccessKeyId>', accessKeySecret: '<Your AccessKeySecret>', bucket: 'Your bucket name'});async function putMeta () { try { let result = await client.putMeta('object-key', { meta: { year: 2015, people: 'mary' } }); console.log(result); } catch (e) { console.log(e); }}putMeta(); 拷贝文件使用copy拷贝一个文件。拷贝可以发生在下面两种情况: 同一个Bucket两个不同Bucket,但是它们在同一个region,此时的源Object名字应为’/bucket/object’的形式 另外,拷贝时对文件元信息的处理有两种选择: 如果没有指定meta参数,则与源文件相同,即拷贝源文件的元信息如果指定了meta参数,则使用新的元信息覆盖源文件的信息 let OSS = require('ali-oss')let client = new OSS({ region: '<Your region>', accessKeyId: '<Your AccessKeyId>', accessKeySecret: '<Your AccessKeySecret>', bucket: 'Your bucket name'});async function copy () { try { // 两个Bucket之间拷贝 let result = await client.copy('to', '/from-bucket/from'); console.log(result); // 拷贝元信息 let result = await client.copy('to', 'from'); console.log(result); // 覆盖元信息 let result = await client.copy('to', 'from', { meta: { year: 2015, people: 'mary' } }); console.log(result); } catch (e) { console.log(e); }} 删除文件通过delete来删除某个文件: let OSS = require('ali-oss')let client = new OSS({ region: '<Your region>', accessKeyId: '<Your AccessKeyId>', accessKeySecret: '<Your AccessKeySecret>', bucket: 'Your bucket name'});async function delete () { try { let result = yield client.delete('object-key'); console.log(result); } catch (e) { console.log(e); }}delete(); 批量删除文件通过deleteMulti来删除一批文件,用户可以通过quiet参数来指定是否返回删除的结果: let OSS = require('ali-oss')let client = new OSS({ region: '<Your region>', accessKeyId: '<Your AccessKeyId>', accessKeySecret: '<Your AccessKeySecret>', bucket: 'Your bucket name'});async function deleteMulti () { try { let result = await client.deleteMulti(['obj-1', 'obj-2', 'obj-3']); console.log(result); let result = await client.deleteMulti(['obj-1', 'obj-2', 'obj-3'], { quiet: true }); console.log(result); } catch (e) { console.log(e); }}deleteMulti();

2019-12-01 23:14:16 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档一个Bucket下可能有非常多的文件,SDK提供一系列的接口方便用户管理文件。 查看所有文件通过list来列出当前Bucket下的所有文件。主要的参数如下: prefix 指定只列出符合特定前缀的文件marker 指定只列出文件名大于marker之后的文件delimiter 用于获取文件的公共前缀max-keys 用于指定最多返回的文件个数 let OSS = require('ali-oss');let client = new OSS({ region: '<Your region>', accessKeyId: '<Your AccessKeyId>', accessKeySecret: '<Your AccessKeySecret>', bucket: 'Your bucket name'});async function list () { try { // 不带任何参数,默认最多返回1000个文件 let result = await client.list(); console.log(result); // 根据nextMarker继续列出文件 if (result.isTruncated) { let result = await client.list({ marker: result.nextMarker }); } // 列出前缀为'my-'的文件 let result = await client.list({ prefix: 'my-' }); console.log(result); // 列出前缀为'my-'且在'my-object'之后的文件 let result = await client.list({ prefix: 'my-', marker: 'my-object' }); console.log(result); } catch (e) { console.log(e); }}list(); 模拟目录结构OSS是基于对象的存储服务,没有目录的概念。存储在一个Bucket中所有文件都是通过文件的key唯一标识,并没有层级的结构。这种结构可以让OSS的存储非常高效,但是用户管理文件时希望能够像传统的文件系统一样把文件分门别类放到不同的“目录”下面。通过OSS提供的“公共前缀”的功能,也可以很方便地模拟目录结构。公共前缀的概念请参考列出Object。 假设Bucket中已有如下文件: foo/xfoo/yfoo/bar/afoo/bar/bfoo/hello/C/1foo/hello/C/2...foo/hello/C/9999接下来我们实现一个函数叫listDir,列出指定目录下的文件和子目录: let OSS = require('ali-oss');let client = new OSS({ region: '<Your region>', accessKeyId: '<Your AccessKeyId>', accessKeySecret: '<Your AccessKeySecret>', bucket: 'Your bucket name'});async function listDir(dir) let result = await client.list({ prefix: dir, delimiter: '/' }); result.prefixes.forEach(function (subDir) { console.log('SubDir: %s', subDir); }); result.objects.forEach(function (obj) { console.log(Object: %s', obj.name); });end 运行结果如下: > await listDir('foo/')=> SubDir: foo/bar/ SubDir: foo/hello/ Object: foo/x Object: foo/y> await listDir('foo/bar/')=> Object: foo/bar/a Object: foo/bar/b> await listDir('foo/hello/C/')=> Object: foo/hello/C/1 Object: foo/hello/C/2 ... Object: foo/hello/C/9999文件元信息向OSS上传文件时,除了文件内容,还可以指定文件的一些属性信息,称为“元信息”。这些信息在上传时与文件一起存储,在下载时与文件一起返回。 因为文件元信息在上传/下载时是附在HTTP Headers中, HTTP协议规定不能包含复杂字符。因此元信息只能是简单的ASCII可见字符,不能包含换行。 所有元信息的总大小不能超过8KB。 使用put,putStream和multipartUpload时都可以通过指定meta参数来指定文件的元信息: let OSS = require('ali-oss')let client = new OSS({ region: '<Your region>', accessKeyId: '<Your AccessKeyId>', accessKeySecret: '<Your AccessKeySecret>', bucket: 'Your bucket name'});async function put () { try { let result = await client.put('object-key', 'local-file', { meta: { year: 2016, people: 'mary' } }); console.log(result); } catch (e) { console.log(e); }}put(); 通过putMeta接口来更新文件元信息: let OSS = require('ali-oss')let client = new OSS({ region: '<Your region>', accessKeyId: '<Your AccessKeyId>', accessKeySecret: '<Your AccessKeySecret>', bucket: 'Your bucket name'});async function putMeta () { try { let result = await client.putMeta('object-key', { meta: { year: 2015, people: 'mary' } }); console.log(result); } catch (e) { console.log(e); }}putMeta(); 拷贝文件使用copy拷贝一个文件。拷贝可以发生在下面两种情况: 同一个Bucket两个不同Bucket,但是它们在同一个region,此时的源Object名字应为’/bucket/object’的形式 另外,拷贝时对文件元信息的处理有两种选择: 如果没有指定meta参数,则与源文件相同,即拷贝源文件的元信息如果指定了meta参数,则使用新的元信息覆盖源文件的信息 let OSS = require('ali-oss')let client = new OSS({ region: '<Your region>', accessKeyId: '<Your AccessKeyId>', accessKeySecret: '<Your AccessKeySecret>', bucket: 'Your bucket name'});async function copy () { try { // 两个Bucket之间拷贝 let result = await client.copy('to', '/from-bucket/from'); console.log(result); // 拷贝元信息 let result = await client.copy('to', 'from'); console.log(result); // 覆盖元信息 let result = await client.copy('to', 'from', { meta: { year: 2015, people: 'mary' } }); console.log(result); } catch (e) { console.log(e); }} 删除文件通过delete来删除某个文件: let OSS = require('ali-oss')let client = new OSS({ region: '<Your region>', accessKeyId: '<Your AccessKeyId>', accessKeySecret: '<Your AccessKeySecret>', bucket: 'Your bucket name'});async function delete () { try { let result = yield client.delete('object-key'); console.log(result); } catch (e) { console.log(e); }}delete(); 批量删除文件通过deleteMulti来删除一批文件,用户可以通过quiet参数来指定是否返回删除的结果: let OSS = require('ali-oss')let client = new OSS({ region: '<Your region>', accessKeyId: '<Your AccessKeyId>', accessKeySecret: '<Your AccessKeySecret>', bucket: 'Your bucket name'});async function deleteMulti () { try { let result = await client.deleteMulti(['obj-1', 'obj-2', 'obj-3']); console.log(result); let result = await client.deleteMulti(['obj-1', 'obj-2', 'obj-3'], { quiet: true }); console.log(result); } catch (e) { console.log(e); }}deleteMulti();

2019-12-01 23:14:16 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档一个Bucket下可能有非常多的文件,SDK提供一系列的接口方便用户管理文件。 查看所有文件通过list来列出当前Bucket下的所有文件。主要的参数如下: prefix 指定只列出符合特定前缀的文件marker 指定只列出文件名大于marker之后的文件delimiter 用于获取文件的公共前缀max-keys 用于指定最多返回的文件个数 let OSS = require('ali-oss');let client = new OSS({ region: '<Your region>', accessKeyId: '<Your AccessKeyId>', accessKeySecret: '<Your AccessKeySecret>', bucket: 'Your bucket name'});async function list () { try { // 不带任何参数,默认最多返回1000个文件 let result = await client.list(); console.log(result); // 根据nextMarker继续列出文件 if (result.isTruncated) { let result = await client.list({ marker: result.nextMarker }); } // 列出前缀为'my-'的文件 let result = await client.list({ prefix: 'my-' }); console.log(result); // 列出前缀为'my-'且在'my-object'之后的文件 let result = await client.list({ prefix: 'my-', marker: 'my-object' }); console.log(result); } catch (e) { console.log(e); }}list(); 模拟目录结构OSS是基于对象的存储服务,没有目录的概念。存储在一个Bucket中所有文件都是通过文件的key唯一标识,并没有层级的结构。这种结构可以让OSS的存储非常高效,但是用户管理文件时希望能够像传统的文件系统一样把文件分门别类放到不同的“目录”下面。通过OSS提供的“公共前缀”的功能,也可以很方便地模拟目录结构。公共前缀的概念请参考列出Object。 假设Bucket中已有如下文件: foo/xfoo/yfoo/bar/afoo/bar/bfoo/hello/C/1foo/hello/C/2...foo/hello/C/9999接下来我们实现一个函数叫listDir,列出指定目录下的文件和子目录: let OSS = require('ali-oss');let client = new OSS({ region: '<Your region>', accessKeyId: '<Your AccessKeyId>', accessKeySecret: '<Your AccessKeySecret>', bucket: 'Your bucket name'});async function listDir(dir) let result = await client.list({ prefix: dir, delimiter: '/' }); result.prefixes.forEach(function (subDir) { console.log('SubDir: %s', subDir); }); result.objects.forEach(function (obj) { console.log(Object: %s', obj.name); });end 运行结果如下: > await listDir('foo/')=> SubDir: foo/bar/ SubDir: foo/hello/ Object: foo/x Object: foo/y> await listDir('foo/bar/')=> Object: foo/bar/a Object: foo/bar/b> await listDir('foo/hello/C/')=> Object: foo/hello/C/1 Object: foo/hello/C/2 ... Object: foo/hello/C/9999文件元信息向OSS上传文件时,除了文件内容,还可以指定文件的一些属性信息,称为“元信息”。这些信息在上传时与文件一起存储,在下载时与文件一起返回。 因为文件元信息在上传/下载时是附在HTTP Headers中, HTTP协议规定不能包含复杂字符。因此元信息只能是简单的ASCII可见字符,不能包含换行。 所有元信息的总大小不能超过8KB。 使用put,putStream和multipartUpload时都可以通过指定meta参数来指定文件的元信息: let OSS = require('ali-oss')let client = new OSS({ region: '<Your region>', accessKeyId: '<Your AccessKeyId>', accessKeySecret: '<Your AccessKeySecret>', bucket: 'Your bucket name'});async function put () { try { let result = await client.put('object-key', 'local-file', { meta: { year: 2016, people: 'mary' } }); console.log(result); } catch (e) { console.log(e); }}put(); 通过putMeta接口来更新文件元信息: let OSS = require('ali-oss')let client = new OSS({ region: '<Your region>', accessKeyId: '<Your AccessKeyId>', accessKeySecret: '<Your AccessKeySecret>', bucket: 'Your bucket name'});async function putMeta () { try { let result = await client.putMeta('object-key', { meta: { year: 2015, people: 'mary' } }); console.log(result); } catch (e) { console.log(e); }}putMeta(); 拷贝文件使用copy拷贝一个文件。拷贝可以发生在下面两种情况: 同一个Bucket两个不同Bucket,但是它们在同一个region,此时的源Object名字应为’/bucket/object’的形式 另外,拷贝时对文件元信息的处理有两种选择: 如果没有指定meta参数,则与源文件相同,即拷贝源文件的元信息如果指定了meta参数,则使用新的元信息覆盖源文件的信息 let OSS = require('ali-oss')let client = new OSS({ region: '<Your region>', accessKeyId: '<Your AccessKeyId>', accessKeySecret: '<Your AccessKeySecret>', bucket: 'Your bucket name'});async function copy () { try { // 两个Bucket之间拷贝 let result = await client.copy('to', '/from-bucket/from'); console.log(result); // 拷贝元信息 let result = await client.copy('to', 'from'); console.log(result); // 覆盖元信息 let result = await client.copy('to', 'from', { meta: { year: 2015, people: 'mary' } }); console.log(result); } catch (e) { console.log(e); }} 删除文件通过delete来删除某个文件: let OSS = require('ali-oss')let client = new OSS({ region: '<Your region>', accessKeyId: '<Your AccessKeyId>', accessKeySecret: '<Your AccessKeySecret>', bucket: 'Your bucket name'});async function delete () { try { let result = yield client.delete('object-key'); console.log(result); } catch (e) { console.log(e); }}delete(); 批量删除文件通过deleteMulti来删除一批文件,用户可以通过quiet参数来指定是否返回删除的结果: let OSS = require('ali-oss')let client = new OSS({ region: '<Your region>', accessKeyId: '<Your AccessKeyId>', accessKeySecret: '<Your AccessKeySecret>', bucket: 'Your bucket name'});async function deleteMulti () { try { let result = await client.deleteMulti(['obj-1', 'obj-2', 'obj-3']); console.log(result); let result = await client.deleteMulti(['obj-1', 'obj-2', 'obj-3'], { quiet: true }); console.log(result); } catch (e) { console.log(e); }}deleteMulti();

2019-12-01 23:14:16 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档一个Bucket下可能有非常多的文件,SDK提供一系列的接口方便用户管理文件。 查看所有文件通过list来列出当前Bucket下的所有文件。主要的参数如下: prefix 指定只列出符合特定前缀的文件marker 指定只列出文件名大于marker之后的文件delimiter 用于获取文件的公共前缀max-keys 用于指定最多返回的文件个数 let OSS = require('ali-oss');let client = new OSS({ region: '<Your region>', accessKeyId: '<Your AccessKeyId>', accessKeySecret: '<Your AccessKeySecret>', bucket: 'Your bucket name'});async function list () { try { // 不带任何参数,默认最多返回1000个文件 let result = await client.list(); console.log(result); // 根据nextMarker继续列出文件 if (result.isTruncated) { let result = await client.list({ marker: result.nextMarker }); } // 列出前缀为'my-'的文件 let result = await client.list({ prefix: 'my-' }); console.log(result); // 列出前缀为'my-'且在'my-object'之后的文件 let result = await client.list({ prefix: 'my-', marker: 'my-object' }); console.log(result); } catch (e) { console.log(e); }}list(); 模拟目录结构OSS是基于对象的存储服务,没有目录的概念。存储在一个Bucket中所有文件都是通过文件的key唯一标识,并没有层级的结构。这种结构可以让OSS的存储非常高效,但是用户管理文件时希望能够像传统的文件系统一样把文件分门别类放到不同的“目录”下面。通过OSS提供的“公共前缀”的功能,也可以很方便地模拟目录结构。公共前缀的概念请参考列出Object。 假设Bucket中已有如下文件: foo/xfoo/yfoo/bar/afoo/bar/bfoo/hello/C/1foo/hello/C/2...foo/hello/C/9999接下来我们实现一个函数叫listDir,列出指定目录下的文件和子目录: let OSS = require('ali-oss');let client = new OSS({ region: '<Your region>', accessKeyId: '<Your AccessKeyId>', accessKeySecret: '<Your AccessKeySecret>', bucket: 'Your bucket name'});async function listDir(dir) let result = await client.list({ prefix: dir, delimiter: '/' }); result.prefixes.forEach(function (subDir) { console.log('SubDir: %s', subDir); }); result.objects.forEach(function (obj) { console.log(Object: %s', obj.name); });end 运行结果如下: > await listDir('foo/')=> SubDir: foo/bar/ SubDir: foo/hello/ Object: foo/x Object: foo/y> await listDir('foo/bar/')=> Object: foo/bar/a Object: foo/bar/b> await listDir('foo/hello/C/')=> Object: foo/hello/C/1 Object: foo/hello/C/2 ... Object: foo/hello/C/9999文件元信息向OSS上传文件时,除了文件内容,还可以指定文件的一些属性信息,称为“元信息”。这些信息在上传时与文件一起存储,在下载时与文件一起返回。 因为文件元信息在上传/下载时是附在HTTP Headers中, HTTP协议规定不能包含复杂字符。因此元信息只能是简单的ASCII可见字符,不能包含换行。 所有元信息的总大小不能超过8KB。 使用put,putStream和multipartUpload时都可以通过指定meta参数来指定文件的元信息: let OSS = require('ali-oss')let client = new OSS({ region: '<Your region>', accessKeyId: '<Your AccessKeyId>', accessKeySecret: '<Your AccessKeySecret>', bucket: 'Your bucket name'});async function put () { try { let result = await client.put('object-key', 'local-file', { meta: { year: 2016, people: 'mary' } }); console.log(result); } catch (e) { console.log(e); }}put(); 通过putMeta接口来更新文件元信息: let OSS = require('ali-oss')let client = new OSS({ region: '<Your region>', accessKeyId: '<Your AccessKeyId>', accessKeySecret: '<Your AccessKeySecret>', bucket: 'Your bucket name'});async function putMeta () { try { let result = await client.putMeta('object-key', { meta: { year: 2015, people: 'mary' } }); console.log(result); } catch (e) { console.log(e); }}putMeta(); 拷贝文件使用copy拷贝一个文件。拷贝可以发生在下面两种情况: 同一个Bucket两个不同Bucket,但是它们在同一个region,此时的源Object名字应为’/bucket/object’的形式 另外,拷贝时对文件元信息的处理有两种选择: 如果没有指定meta参数,则与源文件相同,即拷贝源文件的元信息如果指定了meta参数,则使用新的元信息覆盖源文件的信息 let OSS = require('ali-oss')let client = new OSS({ region: '<Your region>', accessKeyId: '<Your AccessKeyId>', accessKeySecret: '<Your AccessKeySecret>', bucket: 'Your bucket name'});async function copy () { try { // 两个Bucket之间拷贝 let result = await client.copy('to', '/from-bucket/from'); console.log(result); // 拷贝元信息 let result = await client.copy('to', 'from'); console.log(result); // 覆盖元信息 let result = await client.copy('to', 'from', { meta: { year: 2015, people: 'mary' } }); console.log(result); } catch (e) { console.log(e); }} 删除文件通过delete来删除某个文件: let OSS = require('ali-oss')let client = new OSS({ region: '<Your region>', accessKeyId: '<Your AccessKeyId>', accessKeySecret: '<Your AccessKeySecret>', bucket: 'Your bucket name'});async function delete () { try { let result = yield client.delete('object-key'); console.log(result); } catch (e) { console.log(e); }}delete(); 批量删除文件通过deleteMulti来删除一批文件,用户可以通过quiet参数来指定是否返回删除的结果: let OSS = require('ali-oss')let client = new OSS({ region: '<Your region>', accessKeyId: '<Your AccessKeyId>', accessKeySecret: '<Your AccessKeySecret>', bucket: 'Your bucket name'});async function deleteMulti () { try { let result = await client.deleteMulti(['obj-1', 'obj-2', 'obj-3']); console.log(result); let result = await client.deleteMulti(['obj-1', 'obj-2', 'obj-3'], { quiet: true }); console.log(result); } catch (e) { console.log(e); }}deleteMulti();

2019-12-01 23:14:16 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档一个Bucket下可能有非常多的文件,SDK提供一系列的接口方便用户管理文件。 查看所有文件通过list来列出当前Bucket下的所有文件。主要的参数如下: prefix 指定只列出符合特定前缀的文件marker 指定只列出文件名大于marker之后的文件delimiter 用于获取文件的公共前缀max-keys 用于指定最多返回的文件个数 let OSS = require('ali-oss');let client = new OSS({ region: '<Your region>', accessKeyId: '<Your AccessKeyId>', accessKeySecret: '<Your AccessKeySecret>', bucket: 'Your bucket name'});async function list () { try { // 不带任何参数,默认最多返回1000个文件 let result = await client.list(); console.log(result); // 根据nextMarker继续列出文件 if (result.isTruncated) { let result = await client.list({ marker: result.nextMarker }); } // 列出前缀为'my-'的文件 let result = await client.list({ prefix: 'my-' }); console.log(result); // 列出前缀为'my-'且在'my-object'之后的文件 let result = await client.list({ prefix: 'my-', marker: 'my-object' }); console.log(result); } catch (e) { console.log(e); }}list(); 模拟目录结构OSS是基于对象的存储服务,没有目录的概念。存储在一个Bucket中所有文件都是通过文件的key唯一标识,并没有层级的结构。这种结构可以让OSS的存储非常高效,但是用户管理文件时希望能够像传统的文件系统一样把文件分门别类放到不同的“目录”下面。通过OSS提供的“公共前缀”的功能,也可以很方便地模拟目录结构。公共前缀的概念请参考列出Object。 假设Bucket中已有如下文件: foo/xfoo/yfoo/bar/afoo/bar/bfoo/hello/C/1foo/hello/C/2...foo/hello/C/9999接下来我们实现一个函数叫listDir,列出指定目录下的文件和子目录: let OSS = require('ali-oss');let client = new OSS({ region: '<Your region>', accessKeyId: '<Your AccessKeyId>', accessKeySecret: '<Your AccessKeySecret>', bucket: 'Your bucket name'});async function listDir(dir) let result = await client.list({ prefix: dir, delimiter: '/' }); result.prefixes.forEach(function (subDir) { console.log('SubDir: %s', subDir); }); result.objects.forEach(function (obj) { console.log(Object: %s', obj.name); });end 运行结果如下: > await listDir('foo/')=> SubDir: foo/bar/ SubDir: foo/hello/ Object: foo/x Object: foo/y> await listDir('foo/bar/')=> Object: foo/bar/a Object: foo/bar/b> await listDir('foo/hello/C/')=> Object: foo/hello/C/1 Object: foo/hello/C/2 ... Object: foo/hello/C/9999文件元信息向OSS上传文件时,除了文件内容,还可以指定文件的一些属性信息,称为“元信息”。这些信息在上传时与文件一起存储,在下载时与文件一起返回。 因为文件元信息在上传/下载时是附在HTTP Headers中, HTTP协议规定不能包含复杂字符。因此元信息只能是简单的ASCII可见字符,不能包含换行。 所有元信息的总大小不能超过8KB。 使用put,putStream和multipartUpload时都可以通过指定meta参数来指定文件的元信息: let OSS = require('ali-oss')let client = new OSS({ region: '<Your region>', accessKeyId: '<Your AccessKeyId>', accessKeySecret: '<Your AccessKeySecret>', bucket: 'Your bucket name'});async function put () { try { let result = await client.put('object-key', 'local-file', { meta: { year: 2016, people: 'mary' } }); console.log(result); } catch (e) { console.log(e); }}put(); 通过putMeta接口来更新文件元信息: let OSS = require('ali-oss')let client = new OSS({ region: '<Your region>', accessKeyId: '<Your AccessKeyId>', accessKeySecret: '<Your AccessKeySecret>', bucket: 'Your bucket name'});async function putMeta () { try { let result = await client.putMeta('object-key', { meta: { year: 2015, people: 'mary' } }); console.log(result); } catch (e) { console.log(e); }}putMeta(); 拷贝文件使用copy拷贝一个文件。拷贝可以发生在下面两种情况: 同一个Bucket两个不同Bucket,但是它们在同一个region,此时的源Object名字应为’/bucket/object’的形式 另外,拷贝时对文件元信息的处理有两种选择: 如果没有指定meta参数,则与源文件相同,即拷贝源文件的元信息如果指定了meta参数,则使用新的元信息覆盖源文件的信息 let OSS = require('ali-oss')let client = new OSS({ region: '<Your region>', accessKeyId: '<Your AccessKeyId>', accessKeySecret: '<Your AccessKeySecret>', bucket: 'Your bucket name'});async function copy () { try { // 两个Bucket之间拷贝 let result = await client.copy('to', '/from-bucket/from'); console.log(result); // 拷贝元信息 let result = await client.copy('to', 'from'); console.log(result); // 覆盖元信息 let result = await client.copy('to', 'from', { meta: { year: 2015, people: 'mary' } }); console.log(result); } catch (e) { console.log(e); }} 删除文件通过delete来删除某个文件: let OSS = require('ali-oss')let client = new OSS({ region: '<Your region>', accessKeyId: '<Your AccessKeyId>', accessKeySecret: '<Your AccessKeySecret>', bucket: 'Your bucket name'});async function delete () { try { let result = yield client.delete('object-key'); console.log(result); } catch (e) { console.log(e); }}delete(); 批量删除文件通过deleteMulti来删除一批文件,用户可以通过quiet参数来指定是否返回删除的结果: let OSS = require('ali-oss')let client = new OSS({ region: '<Your region>', accessKeyId: '<Your AccessKeyId>', accessKeySecret: '<Your AccessKeySecret>', bucket: 'Your bucket name'});async function deleteMulti () { try { let result = await client.deleteMulti(['obj-1', 'obj-2', 'obj-3']); console.log(result); let result = await client.deleteMulti(['obj-1', 'obj-2', 'obj-3'], { quiet: true }); console.log(result); } catch (e) { console.log(e); }}deleteMulti();

2019-12-01 23:14:17 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档一个Bucket下可能有非常多的文件,SDK提供一系列的接口方便用户管理文件。 查看所有文件通过list来列出当前Bucket下的所有文件。主要的参数如下: prefix 指定只列出符合特定前缀的文件marker 指定只列出文件名大于marker之后的文件delimiter 用于获取文件的公共前缀max-keys 用于指定最多返回的文件个数 let OSS = require('ali-oss');let client = new OSS({ region: '<Your region>', accessKeyId: '<Your AccessKeyId>', accessKeySecret: '<Your AccessKeySecret>', bucket: 'Your bucket name'});async function list () { try { // 不带任何参数,默认最多返回1000个文件 let result = await client.list(); console.log(result); // 根据nextMarker继续列出文件 if (result.isTruncated) { let result = await client.list({ marker: result.nextMarker }); } // 列出前缀为'my-'的文件 let result = await client.list({ prefix: 'my-' }); console.log(result); // 列出前缀为'my-'且在'my-object'之后的文件 let result = await client.list({ prefix: 'my-', marker: 'my-object' }); console.log(result); } catch (e) { console.log(e); }}list(); 模拟目录结构OSS是基于对象的存储服务,没有目录的概念。存储在一个Bucket中所有文件都是通过文件的key唯一标识,并没有层级的结构。这种结构可以让OSS的存储非常高效,但是用户管理文件时希望能够像传统的文件系统一样把文件分门别类放到不同的“目录”下面。通过OSS提供的“公共前缀”的功能,也可以很方便地模拟目录结构。公共前缀的概念请参考列出Object。 假设Bucket中已有如下文件: foo/xfoo/yfoo/bar/afoo/bar/bfoo/hello/C/1foo/hello/C/2...foo/hello/C/9999接下来我们实现一个函数叫listDir,列出指定目录下的文件和子目录: let OSS = require('ali-oss');let client = new OSS({ region: '<Your region>', accessKeyId: '<Your AccessKeyId>', accessKeySecret: '<Your AccessKeySecret>', bucket: 'Your bucket name'});async function listDir(dir) let result = await client.list({ prefix: dir, delimiter: '/' }); result.prefixes.forEach(function (subDir) { console.log('SubDir: %s', subDir); }); result.objects.forEach(function (obj) { console.log(Object: %s', obj.name); });end 运行结果如下: > await listDir('foo/')=> SubDir: foo/bar/ SubDir: foo/hello/ Object: foo/x Object: foo/y> await listDir('foo/bar/')=> Object: foo/bar/a Object: foo/bar/b> await listDir('foo/hello/C/')=> Object: foo/hello/C/1 Object: foo/hello/C/2 ... Object: foo/hello/C/9999文件元信息向OSS上传文件时,除了文件内容,还可以指定文件的一些属性信息,称为“元信息”。这些信息在上传时与文件一起存储,在下载时与文件一起返回。 因为文件元信息在上传/下载时是附在HTTP Headers中, HTTP协议规定不能包含复杂字符。因此元信息只能是简单的ASCII可见字符,不能包含换行。 所有元信息的总大小不能超过8KB。 使用put,putStream和multipartUpload时都可以通过指定meta参数来指定文件的元信息: let OSS = require('ali-oss')let client = new OSS({ region: '<Your region>', accessKeyId: '<Your AccessKeyId>', accessKeySecret: '<Your AccessKeySecret>', bucket: 'Your bucket name'});async function put () { try { let result = await client.put('object-key', 'local-file', { meta: { year: 2016, people: 'mary' } }); console.log(result); } catch (e) { console.log(e); }}put(); 通过putMeta接口来更新文件元信息: let OSS = require('ali-oss')let client = new OSS({ region: '<Your region>', accessKeyId: '<Your AccessKeyId>', accessKeySecret: '<Your AccessKeySecret>', bucket: 'Your bucket name'});async function putMeta () { try { let result = await client.putMeta('object-key', { meta: { year: 2015, people: 'mary' } }); console.log(result); } catch (e) { console.log(e); }}putMeta(); 拷贝文件使用copy拷贝一个文件。拷贝可以发生在下面两种情况: 同一个Bucket两个不同Bucket,但是它们在同一个region,此时的源Object名字应为’/bucket/object’的形式 另外,拷贝时对文件元信息的处理有两种选择: 如果没有指定meta参数,则与源文件相同,即拷贝源文件的元信息如果指定了meta参数,则使用新的元信息覆盖源文件的信息 let OSS = require('ali-oss')let client = new OSS({ region: '<Your region>', accessKeyId: '<Your AccessKeyId>', accessKeySecret: '<Your AccessKeySecret>', bucket: 'Your bucket name'});async function copy () { try { // 两个Bucket之间拷贝 let result = await client.copy('to', '/from-bucket/from'); console.log(result); // 拷贝元信息 let result = await client.copy('to', 'from'); console.log(result); // 覆盖元信息 let result = await client.copy('to', 'from', { meta: { year: 2015, people: 'mary' } }); console.log(result); } catch (e) { console.log(e); }} 删除文件通过delete来删除某个文件: let OSS = require('ali-oss')let client = new OSS({ region: '<Your region>', accessKeyId: '<Your AccessKeyId>', accessKeySecret: '<Your AccessKeySecret>', bucket: 'Your bucket name'});async function delete () { try { let result = yield client.delete('object-key'); console.log(result); } catch (e) { console.log(e); }}delete(); 批量删除文件通过deleteMulti来删除一批文件,用户可以通过quiet参数来指定是否返回删除的结果: let OSS = require('ali-oss')let client = new OSS({ region: '<Your region>', accessKeyId: '<Your AccessKeyId>', accessKeySecret: '<Your AccessKeySecret>', bucket: 'Your bucket name'});async function deleteMulti () { try { let result = await client.deleteMulti(['obj-1', 'obj-2', 'obj-3']); console.log(result); let result = await client.deleteMulti(['obj-1', 'obj-2', 'obj-3'], { quiet: true }); console.log(result); } catch (e) { console.log(e); }}deleteMulti();

2019-12-01 23:14:17 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档一个Bucket下可能有非常多的文件,SDK提供一系列的接口方便用户管理文件。 查看所有文件通过list来列出当前Bucket下的所有文件。主要的参数如下: prefix 指定只列出符合特定前缀的文件marker 指定只列出文件名大于marker之后的文件delimiter 用于获取文件的公共前缀max-keys 用于指定最多返回的文件个数 let OSS = require('ali-oss');let client = new OSS({ region: '<Your region>', accessKeyId: '<Your AccessKeyId>', accessKeySecret: '<Your AccessKeySecret>', bucket: 'Your bucket name'});async function list () { try { // 不带任何参数,默认最多返回1000个文件 let result = await client.list(); console.log(result); // 根据nextMarker继续列出文件 if (result.isTruncated) { let result = await client.list({ marker: result.nextMarker }); } // 列出前缀为'my-'的文件 let result = await client.list({ prefix: 'my-' }); console.log(result); // 列出前缀为'my-'且在'my-object'之后的文件 let result = await client.list({ prefix: 'my-', marker: 'my-object' }); console.log(result); } catch (e) { console.log(e); }}list(); 模拟目录结构OSS是基于对象的存储服务,没有目录的概念。存储在一个Bucket中所有文件都是通过文件的key唯一标识,并没有层级的结构。这种结构可以让OSS的存储非常高效,但是用户管理文件时希望能够像传统的文件系统一样把文件分门别类放到不同的“目录”下面。通过OSS提供的“公共前缀”的功能,也可以很方便地模拟目录结构。公共前缀的概念请参考列出Object。 假设Bucket中已有如下文件: foo/xfoo/yfoo/bar/afoo/bar/bfoo/hello/C/1foo/hello/C/2...foo/hello/C/9999接下来我们实现一个函数叫listDir,列出指定目录下的文件和子目录: let OSS = require('ali-oss');let client = new OSS({ region: '<Your region>', accessKeyId: '<Your AccessKeyId>', accessKeySecret: '<Your AccessKeySecret>', bucket: 'Your bucket name'});async function listDir(dir) let result = await client.list({ prefix: dir, delimiter: '/' }); result.prefixes.forEach(function (subDir) { console.log('SubDir: %s', subDir); }); result.objects.forEach(function (obj) { console.log(Object: %s', obj.name); });end 运行结果如下: > await listDir('foo/')=> SubDir: foo/bar/ SubDir: foo/hello/ Object: foo/x Object: foo/y> await listDir('foo/bar/')=> Object: foo/bar/a Object: foo/bar/b> await listDir('foo/hello/C/')=> Object: foo/hello/C/1 Object: foo/hello/C/2 ... Object: foo/hello/C/9999文件元信息向OSS上传文件时,除了文件内容,还可以指定文件的一些属性信息,称为“元信息”。这些信息在上传时与文件一起存储,在下载时与文件一起返回。 因为文件元信息在上传/下载时是附在HTTP Headers中, HTTP协议规定不能包含复杂字符。因此元信息只能是简单的ASCII可见字符,不能包含换行。 所有元信息的总大小不能超过8KB。 使用put,putStream和multipartUpload时都可以通过指定meta参数来指定文件的元信息: let OSS = require('ali-oss')let client = new OSS({ region: '<Your region>', accessKeyId: '<Your AccessKeyId>', accessKeySecret: '<Your AccessKeySecret>', bucket: 'Your bucket name'});async function put () { try { let result = await client.put('object-key', 'local-file', { meta: { year: 2016, people: 'mary' } }); console.log(result); } catch (e) { console.log(e); }}put(); 通过putMeta接口来更新文件元信息: let OSS = require('ali-oss')let client = new OSS({ region: '<Your region>', accessKeyId: '<Your AccessKeyId>', accessKeySecret: '<Your AccessKeySecret>', bucket: 'Your bucket name'});async function putMeta () { try { let result = await client.putMeta('object-key', { meta: { year: 2015, people: 'mary' } }); console.log(result); } catch (e) { console.log(e); }}putMeta(); 拷贝文件使用copy拷贝一个文件。拷贝可以发生在下面两种情况: 同一个Bucket两个不同Bucket,但是它们在同一个region,此时的源Object名字应为’/bucket/object’的形式 另外,拷贝时对文件元信息的处理有两种选择: 如果没有指定meta参数,则与源文件相同,即拷贝源文件的元信息如果指定了meta参数,则使用新的元信息覆盖源文件的信息 let OSS = require('ali-oss')let client = new OSS({ region: '<Your region>', accessKeyId: '<Your AccessKeyId>', accessKeySecret: '<Your AccessKeySecret>', bucket: 'Your bucket name'});async function copy () { try { // 两个Bucket之间拷贝 let result = await client.copy('to', '/from-bucket/from'); console.log(result); // 拷贝元信息 let result = await client.copy('to', 'from'); console.log(result); // 覆盖元信息 let result = await client.copy('to', 'from', { meta: { year: 2015, people: 'mary' } }); console.log(result); } catch (e) { console.log(e); }} 删除文件通过delete来删除某个文件: let OSS = require('ali-oss')let client = new OSS({ region: '<Your region>', accessKeyId: '<Your AccessKeyId>', accessKeySecret: '<Your AccessKeySecret>', bucket: 'Your bucket name'});async function delete () { try { let result = yield client.delete('object-key'); console.log(result); } catch (e) { console.log(e); }}delete(); 批量删除文件通过deleteMulti来删除一批文件,用户可以通过quiet参数来指定是否返回删除的结果: let OSS = require('ali-oss')let client = new OSS({ region: '<Your region>', accessKeyId: '<Your AccessKeyId>', accessKeySecret: '<Your AccessKeySecret>', bucket: 'Your bucket name'});async function deleteMulti () { try { let result = await client.deleteMulti(['obj-1', 'obj-2', 'obj-3']); console.log(result); let result = await client.deleteMulti(['obj-1', 'obj-2', 'obj-3'], { quiet: true }); console.log(result); } catch (e) { console.log(e); }}deleteMulti();

2019-12-01 23:14:17 0 浏览量 回答数 0

回答

自定义相似图库 API 功能 描述 DescribeImageLib 获取图库列表。 获取已创建的自定义图片库列表。 CreateImageLib 创建图库。 创建自定义图库。 UpdateImageLib 修改图库信息。 更新自定义图片库的名称及适用的bizTypes参数。 DeleteImageLib 删除图库。 删除自定义图片库。 DescribeImageFromLib 查询图库中的图片。 获取自定义图片库中已添加的图片列表。 DeleteImageFromLib 删除图片。 从自定义图片库中删除已添加的图片。 DescribeUploadInfo 获取图片上传签名。 在向自定义图片库中添加图片时,获取上传图片临时凭证信息。 UploadImageToLib 上传图片。 向自定义库中添加图片元信息。 说明 添加图片前需要调用DescribeUploadInfo接口获取上传凭证并上传图片。 自定义文本库 API 功能 描述 DescribeKeywordLib 获取文本库列表。 获取已创建文本库列表。 CreateKeywordLib 创建文本库。 创建自定义文本库。 UpdateKeywordLib 修改文本库基本信息。 更新自定义文本库信息。 DeleteKeywordLib 删除文本库。 删除自定义文本库。 CreateKeyword 添加文本。 向指定文本库中添加文本。 DescribeKeyword 搜索文本。 搜索指定文本库中的文本。 DeleteKeyword 删除文本。 删除文本库中的文本。 OSS内容检测结果管理 API 功能 描述 DescribeOssResultItems 获取OSS检测结果。 获取OSS违规检测的检测结果数据。 MarkOssResult 标记OSS检测结果。 对OSS违规检测结果进行审核和标记。 ExportOssResult 导出OSS检测结果。 以文件的形式导出OSS违规检测结果。

保持可爱mmm 2020-03-27 19:03:51 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档从数据流(io.Reader)中读取数据上传 通过Bucket.PutObject完成简单上传。 提示: 简单上传的示例代码在sample/put_object.go。 字符串上传 import "strings" import "github.com/aliyun/aliyun-oss-go-sdk/oss" client, err := oss.New("Endpoint", "AccessKeyId", "AccessKeySecret") if err != nil { // HandleError(err) } bucket, err := client.Bucket("my-bucket") if err != nil { // HandleError(err) } err = bucket.PutObject("my-object", strings.NewReader("MyObjectValue")) if err != nil { // HandleError(err) } byte数组上传 import "bytes" import "github.com/aliyun/aliyun-oss-go-sdk/oss" client, err := oss.New("Endpoint", "AccessKeyId", "AccessKeySecret") if err != nil { // HandleError(err) } bucket, err := client.Bucket("my-bucket") if err != nil { // HandleError(err) } err = bucket.PutObject("my-object", bytes.NewReader([]byte("MyObjectValue"))) if err != nil { // HandleError(err) } 文件流上传 import "os" import "github.com/aliyun/aliyun-oss-go-sdk/oss" client, err := oss.New("Endpoint", "AccessKeyId", "AccessKeySecret") if err != nil { // HandleError(err) } bucket, err := client.Bucket("my-bucket") if err != nil { // HandleError(err) } fd, err := os.Open("LocalFile") if err != nil { // HandleError(err) } defer fd.Close() err = bucket.PutObject("my-object", fd) if err != nil { // HandleError(err) } 根据本地文件名上传 通过Bucket.PutObjectFromFile可以上传指定的本地文件,把本地文件内容作为Object的值。 import "github.com/aliyun/aliyun-oss-go-sdk/oss" client, err := oss.New("Endpoint", "AccessKeyId", "AccessKeySecret") if err != nil { // HandleError(err) } bucket, err := client.Bucket("my-bucket") if err != nil { // HandleError(err) } err = bucket.PutObjectFromFile("my-object", "LocalFile") if err != nil { // HandleError(err) } 注意: 使用上述方法上传最大文件不能超过5G。如果超过请使用分片上传。 上传时指定元信息 使用数据流上传文件时,用户可以指定一个或多个文件的元信息。元数据的名称大小写不敏感,比如用户上传文件时,定义名字为“name”的meta,使用Bucket.GetObjectDetailedMeta读取结果是:“X-Oss-Meta-Name”,比较/读取时请忽略大小写。 可以指定的元信息如下: 参数 说明 CacheControl 指定该Object被下载时的网页的缓存行为。 ContentDisposition 指定该Object被下载时的名称。 ContentEncoding 指定该Object被下载时的内容编码格式。 Expires 指定过期时间。用户自定义格式,建议使用http.TimeFormat格式。 ServerSideEncryption 指定oss创建object时的服务器端加密编码算法。合法值:AES256。 ObjectACL 指定oss创建object时的访问权限。 Meta 自定义参数,以"X-Oss-Meta-"为前缀的参数。 import ( "strings" "time" "github.com/aliyun/aliyun-oss-go-sdk/oss" ) client, err := oss.New("Endpoint", "AccessKeyId", "AccessKeySecret") if err != nil { // HandleError(err) } bucket, err := client.Bucket("my-bucket") if err != nil { // HandleError(err) } expires := time.Date(2049, time.January, 10, 23, 0, 0, 0, time.UTC) options := []oss.Option{ oss.Expires(expires), oss.ObjectACL(oss.ACLPublicRead), oss.Meta("MyProp", "MyPropVal"), } err = bucket.PutObject("my-object", strings.NewReader("MyObjectValue"), options...) if err != nil { // HandleError(err) } 提示: Bucket.PutObject、Bucket.PutObjectFromFile、Bucket.UploadFile、Bucket.UploadFile都支持上传时指定元数据。 创建模拟文件夹 OSS服务是没有文件夹这个概念的,所有元素都是以文件来存储。但给用户提供了创建模拟文件夹的方式,如下代码: import "strings" import "github.com/aliyun/aliyun-oss-go-sdk/oss" client, err := oss.New("Endpoint", "AccessKeyId", "AccessKeySecret") if err != nil { // HandleError(err) } bucket, err := client.Bucket("my-bucket") if err != nil { // HandleError(err) } err = bucket.PutObject("my-dir/", strings.NewReader("")) if err != nil { // HandleError(err) } 提示: 创建模拟文件夹本质上来说是创建了一个空文件。 对于这个文件照样可以上传下载,只是控制台会对以"/"结尾的文件以文件夹的方式展示。 所以用户可以使用上述方式来实现创建模拟文件夹。 而对文件夹的访问可以参看文件夹功能模拟

2019-12-01 23:14:48 0 浏览量 回答数 0
阿里云大学 云服务器ECS com域名 网站域名whois查询 开发者平台 小程序定制 小程序开发 国内短信套餐包 开发者技术与产品 云数据库 图像识别 开发者问答 阿里云建站 阿里云备案 云市场 万网 阿里云帮助文档 免费套餐 开发者工具 企业信息查询 小程序开发制作 视频内容分析 企业网站制作 视频集锦 代理记账服务 企业建站模板