云服务器内容精选
-
代码示例 本示例用于初始化examplebucket桶下的上传任务,并且指定上传对象名为example/objectname。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 package main import ( "fmt" "os" obs "github.com/huaweicloud/huaweicloud-sdk-go-obs/obs" ) func main() { //推荐通过环境变量获取AKSK,这里也可以使用其他外部引入方式传入,如果使用硬编码可能会存在泄露风险。 //您可以登录访问管理控制台获取访问密钥AK/SK,获取方式请参见https://support.huaweicloud.com/usermanual-ca/ca_01_0003.html。 ak := os.Getenv("AccessKeyID") sk := os.Getenv("SecretAccessKey") // 【可选】如果使用临时AK/SK和SecurityToken访问OBS,同样建议您尽量避免使用硬编码,以降低信息泄露风险。您可以通过环境变量获取访问密钥AK/SK,也可以使用其他外部引入方式传入。 // securityToken := os.Getenv("SecurityToken") // endpoint填写Bucket对应的Endpoint, 这里以华北-北京四为例,其他地区请按实际情况填写。 endPoint := "https://obs.cn-north-4.myhuaweicloud.com" // 创建obsClient实例 // 如果使用临时AKSK和SecurityToken访问OBS,需要在创建实例时通过obs.WithSecurityToken方法指定securityToken值。 obsClient, err := obs.New(ak, sk, endPoint/*, obs.WithSecurityToken(securityToken)*/) if err != nil { fmt.Printf("Create obsClient error, errMsg: %s", err.Error()) } input := &obs.InitiateMultipartUploadInput{} // 指定存储桶名称 input.Bucket = "examplebucket" // 指定对象名,此处以 example/objectname 为例。 input.Key = "example/objectname" // 初始化上传段任务 output, err := obsClient.InitiateMultipartUpload(input) if err == nil { fmt.Printf("Initiate multipart upload successful with bucket(%s) and object(%s)!\n", input.Bucket, input.Key) fmt.Printf("UploadId:%s\n", output.UploadId) return } fmt.Printf("Initiate multipart upload fail with bucket(%s) and object(%s)!\n", input.Bucket, input.Key) if obsError, ok := err.(obs.ObsError); ok { fmt.Println("An ObsError was found, which means your request sent to OBS was rejected with an error response.") fmt.Println(obsError.Error()) } else { fmt.Println("An Exception was found, which means the client encountered an internal problem when attempting to communicate with OBS, for example, the client was unable to access the network.") fmt.Println(err) } }
-
功能说明 使用多段上传特性时,用户必须首先调用创建多段上传任务接口创建任务,系统会给用户返回一个全局唯一的多段上传任务号,作为任务标识。后续用户可以根据这个标识发起相关的请求,如:上传段、合并段、列举段等。创建多段上传任务不影响已有的同名对象;同一个对象可以同时存在多个多段上传任务;每个多段上传任务在初始化时可以附加消息头信息,包括acl、用户自定义元数据和通用的HTTP消息头contentType、contentEncoding等,这些附加的消息头信息将先记录在多段上传任务元数据中。 在指定桶中初始化分段上传任务。
-
接口约束 您必须是桶拥有者或拥有初始化分段上传任务的权限,才能初始化分段上传任务。建议使用 IAM 或桶策略进行授权,如果使用IAM则需授予obs:object:PutObject权限,如果使用桶策略则需授予PutObject权限。相关授权方式介绍可参见OBS权限控制概述,配置方式详见使用IAM自定义策略、配置对象策略。 OBS支持的Region与Endpoint的对应关系,详细信息请参见地区与终端节点。 初始化上传段任务并上传一个或多个段之后,您必须合并段或取消多段上传任务,才能停止收取已上传的段的存储费用。仅当在合并段或取消多段上传任务之后,OBS才释放段存储并停止向您收取段存储费用。
-
返回结果说明 表7 返回结果 参数名称 参数类型 描述 output *InitiateMultipartUploadOutput 参数解释: 接口返回信息。详情参见InitiateMultipartUploadOutput。 err error 参数解释: 接口返回错误信息。 表8 InitiateMultipartUploadOutput 参数名称 参数类型 描述 StatusCode int 参数解释: HTTP状态码。 取值范围: 状态码是一组从2xx(成功)到4xx或5xx(错误)的数字代码,状态码表示了请求响应的状态。完整的状态码列表请参见状态码。 默认取值: 无 RequestId string 参数解释: OBS服务端返回的请求ID。 默认取值: 无 ResponseHeaders map[string][]string 参数解释: HTTP响应头信息。 默认取值: 无 Bucket string 参数解释: 分段上传任务的桶名。 约束限制: 桶的名字需全局唯一,不能与已有的任何桶名称重复,包括其他用户创建的桶。 桶命名规则如下: 3~63个字符,数字或字母开头,支持小写字母、数字、“-”、“.”。 禁止使用IP地址。 禁止以“-”或“.”开头及结尾。 禁止两个“.”相邻(如:“my..bucket”)。 禁止“.”和“-”相邻(如:“my-.bucket”和“my.-bucket”)。 同一用户在同一个区域多次创建同名桶不会报错,创建的桶属性以第一次请求为准。 默认取值: 无 Key string 参数解释: 分段上传任务的对象名。对象名是对象在存储桶中的唯一标识。对象名是对象在桶中的完整路径,路径中不包含桶名。 例如,您对象的访问地址为examplebucket.obs.cn-north-4.myhuaweicloud.com/folder/test.txt 中,对象名为folder/test.txt。 取值范围: 长度大于0且不超过1024的字符串。 默认取值: 无 UploadId string 参数解释: 分段上传任务的ID,例如:000001648453845DBB78F2340DD460D8 取值范围: 长度大于0且不超过32的字符串。 默认取值: 无 SseHeader SseCHeader 或 SseKmsHeader 参数解释: 服务端加密头信息。SSE-C加密方式详情参见SseCHeader,SSE-KMS加密方式详情参见SseKmsHeader。 EncodingType string 参数解释: 用于指定对响应中的Key进行指定类型的编码。如果Key包含xml 1.0标准不支持的控制字符,可通过设置该参数对响应中的Key进行编码。 取值范围: 可选值为url。 默认取值: 无,不设置则不编码。 表9 SseCHeader 参数名称 参数类型 是否必选 描述 Encryption string 作为请求参数时必选 参数解释: 表示服务端加密是SSE-C方式。对象使用SSE-C加密方式。 取值范围: 可选值:AES256,即选择SSE-C方式加密对象。 默认取值: 无 Key string 作为请求参数时必选 参数解释: SSE-C方式下加密使用的密钥,该密钥用于加密对象。 约束限制: 该头域由256bit的密钥经过Base64编码得到,示例:K7QkYpBkM5+hca27fsNkUnNVaobncnLht/rCB2o/9Cw= 默认取值: 无 KeyMD5 string 作为请求参数时可选 参数解释: SSE-C方式下加密使用密钥的MD5值,该值用于验证密钥传输过程中是否出错。 约束限制: 由密钥值经过MD5加密再经过Base64编码后得到,示例:4XvB3tbNTN+tIEVa0/fGaQ== 默认取值: 无 表10 SseKmsHeader 参数名称 参数类型 是否必选 描述 Encryption string 作为请求参数时必选 参数解释: 表示服务端加密是SSE-KMS方式。对象使用SSE-KMS方式加密。 取值范围: 可选值:kms,即选择SSE-KMS方式加密对象。 默认取值: 无 Key string 作为请求参数时可选 参数解释: SSE-KMS加密方式下使用的KMS主密钥的ID值。 取值范围: 有效值支持两种格式: regionID:domainID(账号ID):key/key_id key_id 其中: regionID是使用密钥所属region的ID,可在地区和终端节点页面获取; domainID是使用密钥所属账号的账号ID,获取方法参见如何获取账号ID和用户ID?; key_id是从 数据加密 服务创建的密钥ID,获取方法请参见查看密钥。 默认取值: 如果用户没有提供该头域,那么默认的主密钥将会被使用。 如果默认主密钥不存在,将默认创建并使用。
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格