云服务器内容精选
-
接口约束 您必须拥有obs:bucket:CreateBucket权限,才能创建桶。建议使用 IAM 进行授权,配置方式详见使用IAM自定义策略。 OBS支持的region以及region与endPoint的对应关系,详细信息请参见地区与终端节点。 创建桶时,如果初始化客户端使用的终端节点(endPoint)为“obs.myhuaweicloud.com”,则可以不指定桶所在区域(location),系统会自动在华北-北京一(cn-north-1)创建桶;如果初始化客户端使用的终端节点(endPoint)不是obs.myhuaweicloud.com,则必须指定桶所在区域(location),且指定的区域必须与终端节点(endPoint)区域一致,否则会返回状态码400。 比如初始化时使用的终端节点endPoint是obs.cn-north-4. myhuaweicloud.com,那么在创建桶的时候必须指定Location:cn-north-4 才会创建成功,否则会返回状态码400。 同一账号下,可以创建多个存桶,数量上限是100个(不区分地域),存储桶中的对象数量和大小没有限制。 新创建桶的桶名在OBS中必须是唯一的。如果是同一个用户重复创建同一区域的同名桶时返回HTTP状态码200。除此以外的其他场景重复创建同名桶返回HTTP状态码409,表明桶已存在。 用户删除桶后,需要等待30分钟才能创建同名桶和并行文件系统。 并不是所有区域都支持创建多AZ桶,您可以在产品价格详情页面,查询指定区域是否支持多AZ。
-
返回结果说明 表3 返回结果 参数类型 描述 表4 说明: 该接口返回是一个Promise类型,需要使用Promise、async/await语法处理。 参数解释: 接口返回信息,详见表4。 表4 Response 参数名称 参数类型 描述 CommonMsg ICommonMsg 参数解释: 接口调用完成后的公共信息,包含HTTP状态码,操作失败的错误码等,详见ICommonMsg。 InterfaceResult ListBucketsOutput 参数解释: 操作成功后的结果数据,详见ListBucketsOutput。 约束限制: 当Status大于300时为空。 表5 ICommonMsg 参数名称 参数类型 描述 Status number 参数解释: OBS服务端返回的HTTP状态码。 取值范围: 状态码是一组从2xx(成功)到4xx或5xx(错误)的数字代码,状态码表示了请求响应的状态。完整的状态码列表请参见状态码。 Code string 参数解释: OBS服务端返回的错误码。 Message string 参数解释: OBS服务端返回的错误描述。 HostId string 参数解释: OBS服务端返回的请求服务端ID。 RequestId string 参数解释: OBS服务端返回的请求ID。 Id2 string 参数解释: OBS服务端返回的请求ID2。 Indicator string 参数解释: OBS服务端返回的详细错误码。 表6 ListBucketsOutput 参数名称 参数类型 描述 RequestId string 参数解释: OBS服务端返回的请求ID。 默认取值: 无 Owner Owner 参数解释: 桶的所有者。 取值范围: 桶所有者取值参见Owner。 Buckets Bucket[] 参数解释: 桶信息列表。 取值范围: 桶信息取值参见Bucket。 表7 Owner 参数名称 参数类型 是否必选 描述 ID string 作为请求参数时必选 参数解释: 所有者的账号ID,即domain_id。 取值范围: 如何获取账号ID请参见如何获取账号ID和用户ID?(Node.js SDK) 默认取值: 无 DisplayName string 可选 参数解释: 所有者的账号用户名。 默认取值: 无 表8 Bucket 参数名称 参数类型 描述 BucketName string 参数解释: 桶名。 约束限制: 桶的名字需全局唯一,不能与已有的任何桶名称重复,包括其他用户创建的桶。 桶命名规则如下: 3~63个字符,数字或字母开头,支持小写字母、数字、“-”、“.”。 禁止使用类IP地址。 禁止以“-”或“.”开头及结尾。 禁止两个“.”相邻(如:“my..bucket”)。 禁止“.”和“-”相邻(如:“my-.bucket”和“my.-bucket”)。 默认取值: 无 CreationDate string 参数解释: 桶的创建时间。 默认取值: 无 Location string 参数解释: 桶所在的区域。 约束限制: 该参数定义了桶将会被创建在哪个区域,如果使用的终端节点是obs.myhuaweicloud.com,可以不携带此参数;如果使用的终端节点不是obs.myhuaweicloud.com,则必须携带此参数。 取值范围: 当前有效的OBS区域和终端节点的更多信息,请参考地区和终端节点。终端节点即调用API的请求地址,不同服务不同区域的终端节点不同,您可以向企业管理员获取区域和终端节点信息。 默认取值: 终端节点为obs.myhuaweicloud.com且用户未设定区域时,默认为华北-北京一(cn-north-1)。 BucketType string 参数解释: 桶类型。 取值范围: 对象桶:OBJECT 并行文件系统:POSIX。 默认取值: 无
-
请求参数说明 表1 请求参数列表 参数名称 参数类型 是否必选 描述 QueryLocation boolean 可选 参数解释: 是否同时查询桶的区域位置。 约束限制: 无 取值范围: true:同时查询桶的区域位置 false:不查询桶的区域位置 默认取值: false BucketType string 可选 参数解释: 列举指定类型的桶。 约束限制: 无 取值范围: 桶类型取值可参见BucketType。 默认取值: 无,如果不赋值则默认获取所有桶和并行文件系统列表。 表2 BucketType 可选值 说明 OBJECT 对应类型为对象存储桶。 POSIX 对应类型为并行文件系统(POSIX)。
-
代码示例:带参数创建 创建桶时可以指定桶的访问权限、存储类别和区域位置。示例代码如下: 1 2 3 4 5 6 7 8 91011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 import com.obs.services.ObsClient;import com.obs.services.exception.ObsException;import com.obs.services.model.AccessControlList;import com.obs.services.model.AvailableZoneEnum;import com.obs.services.model.CreateBucketRequest;import com.obs.services.model.ObsBucket;import com.obs.services.model.StorageClassEnum;public class CreateBucket001 { public static void main(String[] args) { // 您可以通过环境变量获取访问密钥AK/SK,也可以使用其他外部引入方式传入。如果使用硬编码可能会存在泄露风险。 // 您可以登录访问管理控制台获取访问密钥AK/SK String ak = System.getenv("AC CES S_KEY_ID"); String sk = System.getenv("SECRET_ACCESS_KEY_ID"); // 【可选】如果使用临时AK/SK和SecurityToken访问OBS,同样建议您尽量避免使用硬编码,以降低信息泄露风险。 // 您可以通过环境变量获取访问密钥AK/SK/SecurityToken,也可以使用其他外部引入方式传入。 // String securityToken = System.getenv("SECURITY_TOKEN"); // endpoint填写桶所在的endpoint, 此处以华北-北京四为例,其他地区请按实际情况填写。 String endPoint = "https://obs.cn-north-4.myhuaweicloud.com"; // 您可以通过环境变量获取endPoint,也可以使用其他外部引入方式传入。 //String endPoint = System.getenv("ENDPOINT"); // 创建ObsClient实例 // 使用永久AK/SK初始化客户端 ObsClient obsClient = new ObsClient(ak, sk,endPoint); // 使用临时AK/SK和SecurityToken初始化客户端 // ObsClient obsClient = new ObsClient(ak, sk, securityToken, endPoint); try { CreateBucketRequest request = new CreateBucketRequest(); //示例桶名 String exampleBucket = "examplebucket"; //示例桶区域位置 String exampleLocation = "cn-north-4"; request.setBucketName(exampleBucket); // 设置桶访问权限为私有读写,默认也是私有读写 request.setAcl(AccessControlList.REST_CANNED_PRIVATE); // 设置桶的存储类别为标准存储 request.setBucketStorageClass(StorageClassEnum.STANDARD); // 设置桶区域位置(以区域为华北-北京四为例),location 需要与 endpoint的位置信息一致 request.setLocation(exampleLocation); // 指定创建多AZ桶,如果不设置,默认创建单AZ桶 request.setAvailableZone(AvailableZoneEnum.MULTI_AZ); // 创建桶 ObsBucket bucket = obsClient.createBucket(request); // 创建桶成功 System.out.println("CreateBucket successfully"); System.out.println("RequestId:"+bucket.getRequestId()); } catch (ObsException e) { System.out.println("CreateBucket failed"); // 请求失败,打印http状态码 System.out.println("HTTP Code: " + e.getResponseCode()); // 请求失败,打印服务端错误码 System.out.println("Error Code:" + e.getErrorCode()); // 请求失败,打印详细错误信息 System.out.println("Error Message: " + e.getErrorMessage()); // 请求失败,打印请求id System.out.println("Request ID:" + e.getErrorRequestId()); System.out.println("Host ID:" + e.getErrorHostId()); } catch (Exception e) { System.out.println("CreateBucket failed"); // 其他异常信息打印 e.printStackTrace(); } }}
-
方法定义 方法1:按照用户指定的桶名创建一个新桶 createBucket(String bucketName) 方法2:按照用户指定的桶名和指定的区域创建一个新桶 createBucket(String bucketName, String location) 方法3:按照用户指定的桶名和指定的区域创建一个新桶 createBucket(ObsBucket bucket) 方法4:创建桶, 支持设置访问权限、存储类别、区域位置、集群类型、桶类型(对象桶或并行文件系统)、企业ID、桶扩展权限 createBucket(CreateBucketRequest request)
-
代码示例:简单创建 以下代码展示如何新建一个桶,仅设置桶名和endPoint。 1 2 3 4 5 6 7 8 91011121314151617181920212223242526272829303132333435363738394041424344454647484950 import com.obs.services.ObsClient;import com.obs.services.exception.ObsException;import com.obs.services.model.ObsBucket;public class CreateBucket002 { public static void main(String[] args) { // 您可以通过环境变量获取访问密钥AK/SK,也可以使用其他外部引入方式传入。如果使用硬编码可能会存在泄露风险。 // 您可以登录访问管理控制台获取访问密钥AK/SK String ak = System.getenv("ACCESS_KEY_ID"); String sk = System.getenv("SECRET_ACCESS_KEY_ID"); // 【可选】如果使用临时AK/SK和SecurityToken访问OBS,同样建议您尽量避免使用硬编码,以降低信息泄露风险。 // 您可以通过环境变量获取访问密钥AK/SK/SecurityToken,也可以使用其他外部引入方式传入。 // String securityToken = System.getenv("SECURITY_TOKEN"); // endpoint填写桶所在的endpoint, 此处以华北-北京四为例,其他地区请按实际情况填写。 String endPoint = "https://obs.cn-north-4.myhuaweicloud.com"; // 您可以通过环境变量获取endPoint,也可以使用其他外部引入方式传入。 //String endPoint = System.getenv("ENDPOINT"); // 创建ObsClient实例 // 使用永久AK/SK初始化客户端 ObsClient obsClient = new ObsClient(ak, sk,endPoint); // 使用临时AK/SK和SecurityToken初始化客户端 // ObsClient obsClient = new ObsClient(ak, sk, securityToken, endPoint); try { // 示例桶名 String exampleBucket = "examplebucket"; // 创建桶 ObsBucket bucket = obsClient.createBucket(exampleBucket); System.out.println("CreateBucket successfully"); System.out.println("StatusCode: " + bucket.getStatusCode()); System.out.println("RequestId: " + bucket.getRequestId()); } catch (ObsException e) { System.out.println("CreateBucket failed"); // 请求失败,打印http状态码 System.out.println("HTTP Code: " + e.getResponseCode()); // 请求失败,打印服务端错误码 System.out.println("Error Code:" + e.getErrorCode()); // 请求失败,打印详细错误信息 System.out.println("Error Message: " + e.getErrorMessage()); // 请求失败,打印请求id System.out.println("Request ID:" + e.getErrorRequestId()); System.out.println("Host ID:" + e.getErrorHostId()); } catch (Exception e) { System.out.println("CreateBucket failed"); // 其他异常信息打印 e.printStackTrace(); } }}
-
接口约束 您必须拥有obs:bucket:CreateBucket权限,才能创建桶。建议使用IAM进行授权,配置方式详见使用IAM自定义策略。 OBS支持的region以及region与endPoint的对应关系,详细信息请参见地区与终端节点。 创建桶时,如果初始化客户端使用的终端节点(endPoint)为“obs.myhuaweicloud.com”,则可以不指定桶所在区域(location),系统会自动在华北-北京一(cn-north-1)创建桶;如果初始化客户端使用的终端节点(endPoint)不是obs.myhuaweicloud.com,则必须指定桶所在区域(location),且指定的区域必须与终端节点(endPoint)区域一致,否则会返回状态码400。 比如初始化时使用的终端节点endPoint是obs.cn-north-4.myhuaweicloud.com,那么在创建桶的时候必须指定Location:cn-north-4才会创建成功。 同一账号下,可以创建多个桶,数量上限是100个(包括对象桶和并行文件系统,不区分地域),存储桶中的对象数量和大小没有限制。 新创建桶的桶名在OBS中必须是唯一的。如果是同一个用户重复创建同一区域的同名桶时返回HTTP状态码200。除此以外的其他场景重复创建同名桶返回HTTP状态码409,表明桶已存在。 用户删除桶后,需要等待30分钟才能创建同名桶和并行文件系统。 并不是所有区域都支持创建多AZ桶,您可以在产品价格详情页面,查询指定区域是否支持多AZ。
-
设置桶配额 您可以通过ObsClient.setBucketQuota设置桶配额。以下代码展示如何设置桶配额: // 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全;本示例以ak和sk保存在环境变量中为例,运行本示例前请先在本地环境中设置环境变量ACCESS_KEY_ID和SECRET_ACCESS_KEY_ID。// 您可以登录访问管理控制台获取访问密钥AK/SK,获取方式请参见https://support.huaweicloud.com/usermanual-ca/ca_01_0003.htmlString ak = System.getenv("ACCESS_KEY_ID");String sk = System.getenv("SECRET_ACCESS_KEY_ID");String endPoint = "https://your-endpoint";// 创建ObsClient实例ObsClient obsClient = new ObsClient(ak, sk, endPoint);// 设置桶配额为100MBBucketQuota quota = new BucketQuota(1024 * 1024 * 100);obsClient.setBucketQuota("bucketname", quota); 桶配额值必须为非负整数,单位为字节,支持的最大值为263 - 1。
-
获取桶配额 您可以通过ObsClient.getBucketQuota获取桶配额。以下代码展示如何获取桶配额: // 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全;本示例以ak和sk保存在环境变量中为例,运行本示例前请先在本地环境中设置环境变量ACCESS_KEY_ID和SECRET_ACCESS_KEY_ID。// 您可以登录访问管理控制台获取访问密钥AK/SK,获取方式请参见https://support.huaweicloud.com/usermanual-ca/ca_01_0003.htmlString ak = System.getenv("ACCESS_KEY_ID");String sk = System.getenv("SECRET_ACCESS_KEY_ID");String endPoint = "https://your-endpoint";// 创建ObsClient实例ObsClient obsClient = new ObsClient(ak, sk, endPoint);BucketQuota quota = obsClient.getBucketQuota("bucketname");Log.i("GetBucketQuota", "\t" + quota.getBucketQuota());
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格