华为云用户手册

  • 响应示例 状态码: 200 OK { "rsu_id" : "b58efc27-a6e5-4bca-9d12-c76ecfe3f102", "name" : "RSU001", "description" : "TEST", "esn" : "13518098671442480164720973683901", "last_modified_time" : "2020-09-01T01:37:01Z", "created_time" : "2020-09-01T01:37:01Z", "last_online_time" : "2020-09-01T01:37:01Z", "ip" : "127.0.0.1", "position_description" : "K08", "location" : { "lat" : 40.1234567, "lon" : 116.1234567 }, "status" : "ONLINE", "rsu_model_id" : "27652459499824704332521974743806", "intersection_id" : "1-301", "related_edge_num" : 0, "software_version" : "V100X00XX00X325" }
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 rsu_id String 参数说明:RSU的唯一标识符,在平台创建RSU时由平台生成。 最小长度:0 最大长度:255 name String 参数说明:RSU的名字。 取值范围:长度不低于1不超过128,只允许中文、字母、数字、下划线(_)、连接符(-)的组合。 description String 参数说明:RSU的描述。 取值范围:只允许中文、字母、数字、下划线(_)、中文分号(;)、中文冒号(:)、中文问号(?)、中文感叹号(!)中文逗号(,)、中文句号(。)、英文分号(;)、英文冒号(:)、英文逗号(,)、英文句号(.)、英文问号(?)、英文感叹号(!)、顿号(、)、连接符(-)、空格的组合。 最小长度:0 最大长度:255 esn String 参数说明:RSU的设备序列号。 取值范围:只允许字母、数字、下划线(_)的组合。 最小长度:1 最大长度:64 last_modified_time String 参数说明:最后修改的时间。 格式:yyyy-MM-dd'T'HH:mm:ss'Z' 例如 2020-09-01T01:37:01Z created_time String 参数说明:创建的时间。 格式:yyyy-MM-dd'T'HH:mm:ss'Z' 例如 2020-09-01T01:37:01Z last_online_time String 参数说明:最后的在线时间。 格式:yyyy-MM-dd'T'HH:mm:ss'Z' 例如 2020-09-01T01:37:01Z ip String 参数说明:RSU的IP。满足IP的格式,例如127.0.0.1。 position_description String 参数说明:安装位置编码,由用户自定义。 取值范围:长度不低于1不超过128,只允许字母、数字、下划线(_)的组合。 location RsuLocation object 参数说明:RSU的位置信息。 status String 参数说明:RSU设备状态。 取值范围: ONLINE:在线 OFFLINE:离线 INITIAL:初始化 UNKNOWN:未知 rsu_model_id String 参数说明:RSU型号ID,用于唯一标识一个RSU型号,在平台创建RSU型号后由平台分配获得,获取方法可参见 “创建RSU型号”接口。 取值范围:长度不低于1不超过36,只允许字母、数字、连接符(-)的组合。 intersection_id String 参数说明:在地图中,rsu所在区域对应的路口ID,也即区域ID拼接路口ID,格式为:region-node_id。其中路网最基本的构成即节点和节点之间连接的路段。节点可以是路口,也可以是一条 路的端点。一个节点的ID在同一个区域内是唯一的。 最小长度:0 最大长度:36 related_edge_num Integer 参数说明:RSU可关联的Edge的数量。 最小值:0 最大值:64 software_version String 参数说明:RSU的软件版本,由RSU上报其软件版本。 最小长度:0 最大长度:255 表5 RsuLocation 参数 参数类型 描述 lat Number 参数说明:定义纬度数值,北纬为正,南纬为负,单位°,精度小数点后7位。 最小值:-90 最大值:90 lon Number 参数说明:定义经度数值。东经为正,西经为负,单位°,精度小数点后7位。 最小值:-180 最大值:180
  • 响应示例 状态码: 200 Ok { "edge_app_id" : "13125481330735066213121901779837", "description" : "this is a test app", "created_time" : "2021-12-23T12:29:08", "last_modified_time" : "2021-12-23T12:29:09.367", "last_published_version" : null }
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 edge_app_id String 参数说明:用户自定义应用唯一ID。 取值范围:只允许字母、数字、下划线(_)、连接符(-)、美元符号($)的组合。 最小长度:1 最大长度:32 description String 参数说明:应用描述。 取值范围:只允许中文、字母、数字、下划线(_)、中文分号(;)、中文冒号(:)、中文问号(?)、中文感叹号(!)中文逗号(,)、中文句号(。)、英文引号(;)、英文冒号(:)、英文逗号(,)、英文句号(.)、英文问号(?)、英文感叹号(!)、顿号(、)、连接符(-)的组合。 最小长度:0 最大长度:255 created_time String 参数说明:创建时间。格式:yyyy-MM-dd'T'HH:mm:ss'Z' 例如 2020-09-01T01:37:01Z。 最小长度:0 最大长度:255 last_modified_time String 参数说明:更新时间。格式:yyyy-MM-dd'T'HH:mm:ss'Z' 例如 2020-09-01T01:37:01Z。 最小长度:0 最大长度:255 last_published_version String 参数说明:最新发布版本。 最小长度:0 最大长度:64
  • 响应示例 状态码: 200 OK { "count" : 1, "ipcs" : [ { "camera_id" : "8f6a6e23-f245-412a-92b7-4c4944284418", "v2x_edge_id" : "99678cc3-1665-4cc0-be01-b69346094542", "name" : "camera2", "cross_id" : "code", "focal_type" : "long", "parent_connect_code" : "connectcode", "connect_code" : "code", "description" : "test", "esn" : "124546416113", "ip" : "127.0.0.1", "status" : "ONLINE", "brief_type" : 101, "sequence_no" : 1, "direction" : 0, "lon" : 114.0398513, "lat" : 30.5087712, "sensor_angle" : 124.711914, "created_time" : "2021-12-23T12:59:43.935Z", "last_modified_time" : "2021-12-23T12:59:43.935Z", "last_online_time" : "2021-12-23T12:59:43.935Z" } ] }
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 platform_type String 参数说明:平台类型。 取值范围: DRIS:华为路网数字化平台 LITONG:利通 ZHONGQIYAN:中汽研 platform_para PlatformPara object 参数说明:platform_type为非DRIS时有效,表示第三方平台的对接参数 channel_status String 参数说明:华为路网数字化平台或第三方业务平台连接状态。 取值范围: ONLINE:在线 OFFLINE:离线 INITIAL:初始化 表4 PlatformPara 参数 参数类型 描述 address String 参数说明:第三方业务平台的ip地址和端口。 username String 参数说明:鉴权用户名。 取值范围:长度不超过255,只允许字母、数字、下划线(_)、问号(?)、反引号(')、井号(#)、左小括号(()、右小括号())、点(.)、逗号(,)、与(&)、百分号(%)、At(@)、感叹号(!)、连接符(-)的组合。 passwd String 参数说明:鉴权密码,ITS800或者ATLAS500的密码 取值范围:长度不超过255,只允许字母、数字、下划线(_)、问号(?)、反引号(')、井号(#)、左小括号(()、右小括号())、点(.)、逗号(,)、与(&)、百分号(%)、At(@)、感叹号(!)、连接符(-)的组合。
  • 响应示例 状态码: 200 OK { "count" : 1, "edges" : [ { "v2x_edge_id" : "74297d76-6f99-4fe2-a435-1e27a524e4c8", "name" : "name", "esn" : "ESN0001123234", "ip" : "127.0.0.1", "port" : 30080, "position_description" : "test", "status" : "ONLINE", "channel_status" : "ONLINE", "created_time" : "2020-09-01T01:37:01Z" } ] }
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 count Long 参数说明:总数。 最小值:0 最大值:2147483647 edges Array of V2XEdgeListResponseDTO objects 参数说明:数据列表。 数组长度:0 - 2147483647 表5 V2XEdgeListResponseDTO 参数 参数类型 描述 v2x_edge_id String 参数说明:Edge ID,用于唯一标识一个Edge。 最小长度:0 最大长度:255 name String 参数说明:V2XEdge的名称 取值范围:长度不超过128,只允许中文、字母、数字、以及_.-等字符的组合。 最大长度:128 esn String 参数说明:设备编码,全局唯一。 取值范围:长度不超过64,只允许字母、数字、以及_等字符的组合。 ip String 参数说明:网络IP,例如127.0.0.1。 port Integer 参数说明:ITS800,ATLAS 端口号。 最小值:0 最大值:65535 position_description String 参数说明:安装位置编码,由用户自定义。 取值范围:长度不低于1不超过128,只允许字母、数字、下划线(_)的组合。 location Location object 经纬度坐标 status String 参数说明:状态。 取值范围: UNINSTALLED: 待部署 INSTALLED:部署中 OFFLINE:离线 ONLINE:在线: UPGRADING:升级中 DELETING:删除中 channel_status String 参数说明:业务通道状态。 枚举值: ONLINE OFFLINE UNKNOWN created_time String 参数说明:创建时间。 格式:yyyy-MM-dd''T''HH:mm:ss''Z''。 例如 2020-09-01T01:37:01Z。 表6 Location 参数 参数类型 描述 lat Number 参数说明:定义纬度数值,北纬为正,南纬为负,单位°,精度小数点后7位。 最小值:-90 最大值:90 lon Number 参数说明:定义经度数值。东经为正,西经为负。单位°,精度小数点后7位。 最小值:-180 最大值:180
  • Message示例 { "header" : { "instance_id" : "f24b3b95-4a2a-4f6f-a80c-855156b50af7", "event" : "ADDED" }, "body" : { "source" : { "source_type" : "detection", "source_id" : "705183159624675328_2102312ETX10K7000037" }, "time" : "2020-09-01T01:37:01Z", "period" : 300, "direction" : 180, "flow" : 75, "average_speed" : 72.5, "cross_id" : "cross0123456789", "esn" : "2102312ETX10K7000037", "traffic_direction" : "0,", "road_kind" : "1,", "has_congestion" : "false,", "vehicle_class_flow" : [ { "vehicle_class" : 10, "flow" : 50, "average_speed" : 73.6 }, { "vehicle_class" : 20, "flow" : 25, "average_speed" : 71.4 } ], "occupancy" : [ { "lane_id" : 0, "space_occupancy" : 0.6, "time_occupancy" : 0.5 }, { "lane_id" : 1, "space_occupancy" : 0.6, "time_occupancy" : 0.5 } ], "lane_flow" : [ { "lane_id" : 10, "flow" : 50, "average_speed" : 73.6 }, { "lane_id" : 20, "flow" : 25, "average_speed" : 71.4 } ] } }
  • 响应参数 状态码: 200 表5 响应Body参数 参数 参数类型 描述 platform_type String 参数说明:平台类型。 取值范围: DRIS:华为路网数字化平台 LITONG:利通 ZHONGQIYAN:中汽研 platform_para PlatformPara object 参数说明:platform_type为非DRIS时有效,表示第三方平台的对接参数 channel_status String 参数说明:华为路网数字化平台或第三方业务平台连接状态。 取值范围: ONLINE:在线 OFFLINE:离线 INITIAL:初始化 表6 PlatformPara 参数 参数类型 描述 address String 参数说明:第三方业务平台的ip地址和端口。 username String 参数说明:鉴权用户名。 取值范围:长度不超过255,只允许字母、数字、下划线(_)、问号(?)、反引号(')、井号(#)、左小括号(()、右小括号())、点(.)、逗号(,)、与(&)、百分号(%)、At(@)、感叹号(!)、连接符(-)的组合。 passwd String 参数说明:鉴权密码,ITS800或者ATLAS500的密码 取值范围:长度不超过255,只允许字母、数字、下划线(_)、问号(?)、反引号(')、井号(#)、左小括号(()、右小括号())、点(.)、逗号(,)、与(&)、百分号(%)、At(@)、感叹号(!)、连接符(-)的组合。
  • 请求示例 PUT https://{endpoint}/v1/{project_id}/v2x-edges/{v2x_edge_id}/data-channel Content-Type:application/json X-Auth-Token:******** Instance-Id:******** { "platform_type" : "DRIS", "platform_para" : { "address" : "127.0.0.1:8080", "username" : "username", "passwd" : "password1" } }
  • 请求示例 POST https://{endpoint}/v1/{project_id}/rsu-models Content-Type:application/json X-Auth-Token:******** Instance-Id:******** { "name" : "RSU001", "manufacturer_name" : "ABC", "description" : "excellent" }
  • 响应参数 状态码: 201 表4 响应Body参数 参数 参数类型 描述 rsu_model_id String 参数说明:RSU型号ID,用于唯一标识一个RSU型号,在平台创建RSU型号后由平台分配获得。 取值范围:长度不小于1不超过36,只允许字母、数字、连接符(-)的组合。 name String 参数说明: RSU型号名称。 取值范围:长度不低于1不超过64,只允许中文、字母、数字、下划线(_)、问号(?)、反引号(')、井号(#)、左小括号(()、右小括号())、点(.)、逗号(,)、与(&)、百分号(%)、At(@)、感叹号(!)、连接符(-)的组合。 manufacturer_name String 参数说明: RSU的厂商名称。 取值范围:长度不低于1不超过32,只允许中文、字母、数字、下划线(_)、问号(?)、反引号(')、井号(#)、左小括号(()、右小括号())、点(.)、逗号(,)、与(&)、百分号(%)、At(@)、感叹号(!)、连接符(-)的组合。 description String 参数说明: RSU型号的描述信息。 取值范围:长度不低于1不超过128,只允许中文、字母、数字、下划线(_)、问号(?)、反引号(')、井号(#)、左小括号(()、右小括号())、点(.)、逗号(,)、与(&)、百分号(%)、At(@)、感叹号(!)、连接符(-)、空格的组合 last_modified_time String 参数说明: RSU型号更新的时间。 格式:yyyy-MM-dd'T'HH:mm:ss'Z' 例如:2020-12-07T01:32:17Z created_time String 参数说明: 在平台创建RSU型号的时间。 格式:yyyy-MM-dd'T'HH:mm:ss'Z' 例如:2020-12-07T01:32:17Z
  • 响应示例 状态码: 200 OK { "camera_id" : "816931939627432304820000000000000000", "v2x_edge_id" : "99678cc3-1665-4cc0-be01-b69346094542", "name" : "camera2", "cross_id" : "code", "focal_type" : "long", "parent_connect_code" : "connectcode", "connect_code" : "code", "description" : "test", "esn" : "124546416113", "ip" : "127.0.0.1", "status" : "ONLINE", "brief_type" : 101, "sequence_no" : 1, "direction" : 0, "lon" : 114.0398513, "lat" : 30.5087712, "created_time" : "2021-12-23T12:59:43.935Z", "last_modified_time" : "2021-12-23T12:59:43.935Z", "last_online_time" : "2021-12-23T12:59:43.935Z" }
  • Message示例 { "object_device_id" : "test_vehicle_001", "content" : "{\"topic\":\"obu.rsi.down\",\"payload\":{\"vehicle_id\": \"test_vehicle_001\",\"rtes\":[{\"rte_id\":10,\"event_type\":2,\"event_source\":2,\"event_pos\":{\"lat\":40.1234567,\"lon\":116.1234567,\"ele\":1000},\"event_radius\":2,\"description\":\"123456789\",\"time_details\":{\"start_time\":2,\"end_time\":2,\"end_time_confidence\":2},\"priority\":2,\"reference_paths\":[{\"active_path\":[{\"lat\":40.1234567,\"lon\":116.1234567,\"ele\":1000},{\"lat\":40.1234567,\"lon\":116.1234567,\"ele\":1000}],\"path_radius\":2}],\"reference_links\":[{\"upstream_node_id\":[{\"region\":2,\"id\":2},{\"region\":2,\"id\":2}],\"downstream_node_id\":[{\"region\":2,\"id\":2},{\"region\":2,\"id\":2}],\"reference_lanes\":[true,true]}],\"event_confidence\":2,\"duration\":0,\"event_status\":0}],\"rtss\":[{\"rts_id\":10,\"sign_type\":2,\"sign_pos\":{\"lat\":40.1234567,\"lon\":116.1234567,\"ele\":1000},\"description\":\"123456789\",\"time_details\":{\"start_time\":2,\"end_time\":2,\"end_time_confidence\":2},\"priority\":2,\"reference_paths\":[{\"active_path\":[{\"lat\":40.1234567,\"lon\":116.1234567,\"ele\":1000},{\"lat\":40.1234567,\"lon\":116.1234567,\"ele\":1000}],\"path_radius\":2}],\"reference_links\":[{\"upstream_node_id\":[{\"region\":2,\"id\":2},{\"region\":2,\"id\":2}],\"downstream_node_id\":[{\"region\":2,\"id\":2},{\"region\":2,\"id\":2}],\"reference_lanes\":[true,true]},{\"upstream_node_id\":[{\"region\":2,\"id\":2},{\"region\":2,\"id\":2}],\"downstream_node_id\":[{\"region\":2,\"id\":2},{\"region\":2,\"id\":2}],\"reference_lanes\":[true,true]}]}]}}" }
  • Message示例 { "vehicle_id" : "test_v_001", "time_stamp" : "2021-01-08T02:03:41.907Z", "speed" : 3000, "heading" : 10000, "transmission" : 2, "pos" : { "lat" : 40.1234567, "lon" : 116.1234567, "ele" : 1000 }, "brakes" : { "abs" : 1, "scs" : 1, "brake_boost" : 1, "aux_brakes" : 1, "brake_pedal" : 1, "traction" : 1, "wheel_brakes" : [ 1, 0, 0, 1, 1 ] }, "vehicle_class" : { "classification" : 54, "fuel_type" : 5 }, "accel_set" : { "long" : 0, "lat" : 0, "vert" : 0, "yaw" : 0 }, "size" : { "width" : 200, "length" : 3000, "height" : 40 }, "motion_cfd" : { "speed_cfd" : 5, "heading_cfd" : 5 }, "pos_confidence" : 10 }
  • DLI经典型跨源连接生命周期 表1 DLI经典型跨源连接生命周期 功能 状态 EOM时间 EOFS时间 EOS时间 DLI经典型跨源连接 计划下线,不推荐使用 2023年12月30日 2024年3月30日 2024年6月30日 EOM:End of Marketing,停止该功能销售。 EOFS:End of Full Support,停止该功能全面支持。 EOS:End of Service & support,停止该功能的服务。建议您使用增强型跨源连接。在该日期之后,不再提供该功能任何技术服务支持。
  • 请求参数说明 表1 请求参数列表 参数名称 参数类型 是否必选 描述 input *CreateSignedUrlInput 必选 参数解释: 生成带授权信息的URL请求参数,详情参见CreateSignedUrlInput。 表2 CreateSignedUrlInput 参数名称 参数类型 是否必选 描述 Method HttpMethodType 必选 参数解释: HTTP方法类型,详情参见HttpMethodType。 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的字符串。 默认取值: 无 SubResource SubResourceType 可选 参数解释: 要访问的子资源,详情参见SubResourceType。 Expires int 可选 参数解释: 带授权信息的URL的过期时间。 取值范围: 0~(231-1),单位:秒。 默认取值: 300 Headers map[string]string 可选 参数解释: 请求中携带的头域。 默认取值: 无 QueryParams map[string]string 可选 参数解释: 请求中携带的查询参数。 默认取值: 无 表3 HttpMethodType 常量名 原始值 说明 HttpMethodGet GET HTTP GET请求。 HttpMethodPut POST HTTP POST请求。 HttpMethodPost PUT HTTP PUT请求。 HttpMethodDelete DELETE HTTP DELETE请求。 HttpMethodHead HEAD HTTP HEAD请求。 HttpMethodOptions OPTIONS HTTP OPTIONS请求。 表4 SubResourceType 常量名 原始值 适用接口 SubResourceStoragePolicy storagePolicy 设置/获取桶存储类型。 SubResourceQuota quota 设置/获取桶配额。 SubResourceStorageInfo storageinfo 获取桶存量信息。 SubResourceLocation location 获取桶区域位置。 SubResourceAcl acl 设置/获取桶ACL、设置/获取对象ACL。 SubResourcePolicy policy 设置/获取/删除桶策略。 SubResourceCors cors 设置/获取/删除桶CORS配置。 SubResourceVersioning versioning 设置/获取桶多版本状态。 SubResourceWebsite website 设置/获取/删除桶Website配置。 SubResourceLogging logging 设置/获取桶日志管理配置。 SubResourceLifecycle lifecycle 设置/获取/删除桶生命周期配置。 SubResourceNotification notification 设置/获取桶时间通知配置。 SubResourceTagging tagging 设置/获取/删除桶标签。 SubResourceDelete delete 批量删除对象。 SubResourceVersions versions 列举桶内多版本对象。 SubResourceUploads uploads 列举桶内分段上传任务、初始化分段上传任务。 SubResourceRestore restore 恢复归档存储对象。
  • 返回结果说明 表5 返回结果 参数名称 参数类型 描述 output *CreateSignedUrlOutput 参数解释: 接口返回信息,详情参见CreateSignedUrlOutput。 err error 参数解释: 接口返回错误信息。 表6 CreateSignedUrlOutput 参数名称 参数类型 描述 SignedUrl string 参数解释: 带授权信息的URL。 默认取值: 无 ActualSignedRequestHeaders http.Header 参数解释: 通过带授权信息的URL发起请求时实际应携带的头域。 默认取值: 无
  • 接口约束 OBS支持的Region与Endpoint的对应关系,详细信息请参见地区与终端节点。 如果遇到跨域报错、签名不匹配问题,请参考以下步骤排查问题: 未配置跨域,需要在控制台配置CORS规则,请参考配置桶允许跨域请求。 签名计算问题,请参考URL中携带签名排查签名参数是否正确;比如上传对象功能,后端将Content-Type参与计算签名生成授权URL,但是前端使用授权URL时没有设置Content-Type字段或者传入错误的值,此时会出现跨域错误。解决方案为:Content-Type字段前后端保持一致。
  • 代码示例 本示例用于设置名为examplebucket的桶配额为1G 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.SetBucketQuotaInput{} // 指定存储桶名称 input.Bucket = "examplebucket" // 指定指定桶的配额值,此处以1G为例,单位为字节 input.Quota = 1024 * 1024 * 1024 // 设置桶配额 output, err := obsClient.SetBucketQuota(input) if err == nil { fmt.Printf("Set bucket(%s)'s quota successful!\n", input.Bucket) fmt.Printf("RequestId:%s\n", output.RequestId) return } fmt.Printf("Set bucket(%s)'s quota fail!\n", input.Bucket) 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) } }
  • 返回结果说明 表3 返回结果列表 参数名称 参数类型 描述 output *BaseModel 参数解释: 接口返回信息,详见BaseModel。 err error 参数解释: 接口返回错误信息。 表4 BaseModel 参数名称 参数类型 描述 StatusCode int 参数解释: HTTP状态码。 取值范围: 状态码是一组从2xx(成功)到4xx或5xx(错误)的数字代码,状态码表示了请求响应的状态。完整的状态码列表请参见状态码。 默认取值: 无 RequestId string 参数解释: OBS服务端返回的请求ID。 默认取值: 无 ResponseHeaders map[string][]string 参数解释: HTTP响应头信息。 默认取值: 无
  • 接口约束 桶配额值必须为非负整数,单位为字节,支持的最大值为263-1。 OBS没有提供删除桶配额的接口,您可以将桶配额设置为0来取消配额限制。 您必须是桶拥有者或拥有设置桶配额的权限,才能设置桶配额。建议使用IAM或桶策略进行授权,如果使用IAM则需授予obs:bucket:PutBucketQuota权限,如果使用桶策略则需授予PutBucketQuota权限。相关授权方式介绍可参见OBS权限控制概述,配置方式详见使用IAM自定义策略、自定义创建桶策略。 OBS支持的Region与Endpoint的对应关系,详细信息请参见地区与终端节点。
  • 功能介绍 桶配额是桶容量的上限值。默认情况下,OBS系统和单个桶都没有总数据容量和对象数量的限制。您可以根据需要,为桶设置配额限制来控制桶内允许上传的对象总容量,超过设置的对象容量后,上传对象会失败。例如您为桶设置配额为100G,那么当桶内所有对象的大小总和达到100G后,再上传对象就会因为超过配额导致上传失败。 容量限制只对桶配额设置生效后的对象上传操作有影响, 如果您设置桶配额时,桶配额的数值小于桶中已上传的对象容量,并不会导致桶中已有对象被删除,但该桶后续将不能再上传任何对象。这种情况下只有删除部分已有对象,将已用空间释放到配额限制以下之后才能再次上传新对象。
  • 返回结果说明 表2 返回结果列表 参数名称 参数类型 描述 output *BaseModel 参数解释: 接口返回信息,详情参考BaseModel。 err error 参数解释: 接口返回错误信息。 表3 BaseModel 参数名称 参数类型 描述 StatusCode int 参数解释: HTTP状态码。 取值范围: 状态码是一组从2xx(成功)到4xx或5xx(错误)的数字代码,状态码表示了请求响应的状态。完整的状态码列表请参见状态码。 默认取值: 无 RequestId string 参数解释: OBS服务端返回的请求ID。 默认取值: 无 ResponseHeaders map[string][]string 参数解释: HTTP响应头信息。 默认取值: 无
  • 代码示例 本示例用于判断examplebucket桶是否存在。 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 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()) } // 指定存储桶名称 bucketname := "examplebucket" // 判断桶是否存在 output, err := obsClient.HeadBucket(bucketname) if err == nil { fmt.Printf("Head bucket(%s) successful!\n", bucketname) fmt.Printf("RequestId:%s\n", output.RequestId) return } fmt.Printf("Head bucket(%s) fail!\n", bucketname) 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) } }
  • 请求参数说明 表1 请求参数列表 参数名称 参数类型 是否必选 描述 bucketName string 是 参数解释: 桶名。 约束限制: 桶的名字需全局唯一,不能与已有的任何桶名称重复,包括其他用户创建的桶。 桶命名规则如下: 3~63个字符,数字或字母开头,支持小写字母、数字、“-”、“.”。 禁止使用IP地址。 禁止以“-”或“.”开头及结尾。 禁止两个“.”相邻(如:“my..bucket”)。 禁止“.”和“-”相邻(如:“my-.bucket”和“my.-bucket”)。 同一用户在同一个区域多次创建同名桶不会报错,创建的桶属性以第一次请求为准。 默认取值: 无 extensions extensionOptions 否 参数解释: 桶相关扩展信息。通过调用拓展配置项为对应请求配置额外的拓展请求头,详情参考extensionOptions
  • 接口约束 您必须是桶拥有者或拥有判断桶是否存在的权限,才能判断桶是否存在。建议使用IAM或桶策略进行授权,如果使用IAM则需授予obs:bucket:HeadBucket权限,如果使用桶策略则需授予HeadBucket权限。相关授权方式介绍可参见OBS权限控制概述,配置方式详见使用IAM自定义策略、自定义创建桶策略。 OBS支持的Region与Endpoint的对应关系,详细信息请参见地区与终端节点。
  • 返回结果说明 表3 返回结果列表 参数名称 参数类型 描述 output *BaseModel 参数解释: 接口返回信息,详情参考BaseModel。 err error 参数解释: 接口返回错误信息。 表4 BaseModel 参数名称 参数类型 描述 StatusCode int 参数解释: HTTP状态码。 取值范围: 状态码是一组从2xx(成功)到4xx或5xx(错误)的数字代码,状态码表示了请求响应的状态。完整的状态码列表请参见状态码。 默认取值: 无 RequestId string 参数解释: OBS服务端返回的请求ID。 默认取值: 无 ResponseHeaders map[string][]string 参数解释: HTTP响应头信息。 默认取值: 无
  • 代码示例 本示例用于设置名为examplebucket桶的自定义域名为www.example.com 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.SetBucketCustomDomainInput{} // 指定存储桶名称 input.Bucket = "examplebucket" // 指定桶的自定义域名,此处以www.example.com为例 input.CustomDomain = "www.example.com" // 设置桶的自定义域名 output, err := obsClient.SetBucketCustomDomain(input) if err == nil { fmt.Printf("Set bucket(%s)'s customdomain successful!\n", input.Bucket) fmt.Printf("RequestId:%s\n", output.RequestId) return } fmt.Printf("Set bucket(%s)'s customdomain fail!\n", input.Bucket) 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) } }
共100000条