云服务器内容精选

  • 代码示例 您可以通过obsClient.getBucketWebsite查看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 40 41 42 43 44 45 46 47 48 49 50 51 52 53 import com.obs.services.ObsClient; import com.obs.services.exception.ObsException; import com.obs.services.model.RouteRule; import com.obs.services.model.WebsiteConfiguration; public class GetBucketWebsite001 { 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 { // 查看桶的托管配置 WebsiteConfiguration config = obsClient.getBucketWebsite("examplebucket"); System.out.println("Key:" + config.getKey()); System.out.println("Suffix:" + config.getSuffix()); for(RouteRule rule : config.getRouteRules()){ System.out.println("rule:" +rule); } System.out.println("getBucketWebsite successfully"); } catch (ObsException e) { System.out.println("getBucketWebsite 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()); e.printStackTrace(); } catch (Exception e) { System.out.println("getBucketWebsite failed"); // 其他异常信息打印 e.printStackTrace(); } } }
  • 请求参数说明 表1 请求参数列表 参数名称 参数类型 是否必选 描述 request BaseBucketRequest 必选 参数解释: 桶基本信息参数列表,详见BaseBucketRequest。 表2 BaseBucketRequest 参数名称 参数类型 是否必选 描述 bucketName String 必选 参数解释: 桶名。 约束限制: 桶的名字需全局唯一,不能与已有的任何桶名称重复,包括其他用户创建的桶。 桶命名规则如下: 3~63个字符,数字或字母开头,支持小写字母、数字、“-”、“.”。 禁止使用IP地址。 禁止以“-”或“.”开头及结尾。 禁止两个“.”相邻(如:“my..bucket”)。 禁止“.”和“-”相邻(如:“my-.bucket”和“my.-bucket”)。 同一用户在同一个区域多次创建同名桶不会报错,创建的桶属性以第一次请求为准。 默认取值: 无
  • 接口约束 您必须是桶拥有者或拥有获取桶的网站配置的权限,才能获取桶的网站配置。建议使用 IAM 或桶策略进行授权,如果使用IAM则需授予obs:bucket:GetBucketWebsite权限,如果使用桶策略则需授予GetBucketWebsite权限。相关授权方式介绍可参见OBS权限控制概述,配置方式详见使用IAM自定义策略、自定义创建桶策略。 OBS支持的region以及region与endPoint的对应关系,详细信息请参见地区与终端节点。
  • 静态网站托管简介 开发过程中,您有任何问题可以在github上提交issue,或者在华为云 对象存储服务 论坛中发帖求助。接口参考文档详细介绍了每个接口的参数和使用方法。 您可以将静态网站文件上传至OBS的桶中作为对象,并对这些对象赋予公共读权限,然后将该桶配置成静态网站托管模式,以实现在OBS上托管静态网站的目的。第三方用户在访问您网站的时候,实际上是在访问OBS的桶中的对象。在使用静态网站托管功能时,OBS还支持配置请求重定向,通过重定向配置您可以将特定的请求或所有请求实施重定向。 更多关于静态网站托管的内容请参考静态网站托管。 父主题: 静态网站托管
  • 静态网站托管简介 开发过程中,您有任何问题可以在github上提交issue,或者在华为云对象存储服务论坛中发帖求助。接口参考文档详细介绍了每个接口的参数和使用方法。 您可以将静态网站文件上传至OBS的桶中作为对象,并对这些对象赋予公共读权限,然后将该桶配置成静态网站托管模式,以实现在OBS上托管静态网站的目的。第三方用户在访问您网站的时候,实际上是在访问OBS的桶中的对象。在使用静态网站托管功能时,OBS还支持配置请求重定向,通过重定向配置您可以将特定的请求或所有请求实施重定向。 更多关于静态网站托管的内容请参考静态网站托管。 父主题: 静态网站托管
  • 响应示例:设置桶的网站配置,并重定向错误 x-obs-id-2: 32AAAQAAEAABSAAgAAEAABAAAQAAEAA BCS /xBBLGZwRUiL439eWMw1v/vphFB6JY x-obs-request-id: 0000018A3A06C048D38610C04366B2F5 Server: OBS Content-Length: 0 Date: WED, 01 Jul 2015 02:37:22 GMT
  • 响应示例:设置桶的网站配置,不配置重定向 x-obs-id-2: 32AAAQAAEAABSAAgAAEAABAAAQAAEAAB CS fxlr+FrXuJzYpLod1lrLK45tVx+GPR x-obs-request-id: 0000018A39F07D0DD3888442DC29719E Server: OBS Content-Length: 0 Date: WED, 01 Jul 2015 02:37:22 GMT
  • 响应示例:设置桶的网站配置,并将文件夹请求重定向到页面 x-obs-id-2: 32AAAQAAEAABSAAgAAEAABAAAQAAEAABCSLjAKDDyha8LY/HcoFNfbLBeAKCAYcv x-obs-request-id: 0000018A3A09D30CD306902FC7572429 Server: OBS Content-Length: 0 Date: WED, 01 Jul 2015 02:37:22 GMT
  • 响应示例:设置桶的网站配置,并指定可选的重定向规则 x-obs-id-2: 32AAAQAAEAABSAAgAAEAABAAAQAAEAABCSxixo46vLYhGrY/zwgqlM0fMNpeFthi x-obs-request-id: 0000018A39F2E328D3888F46DB9BB5A2 Server: OBS Content-Length: 0 Date: WED, 01 Jul 2015 02:37:22 GMT
  • 响应示例:将该桶的所有请求重定向至其他桶或URL 1 2 3 4 5 6 HTTP/1.1 200 OK Server: OBS x-obs-request-id: BF2600000164360D144670B9D02AABC6 x-obs-id-2: 32AAAQAAEAABSAAgAAEAABAAAQAAEAABCSItqMZ/AoFUX97l1xx8s67V3cCQtXWk Date: WED, 01 Jul 2015 03:40:29 GMT Content-Length: 0
  • 请求消息元素 在此请求中,需要在请求的消息体中配置桶的网站配置信息,配置信息以XML格式上传。 如果重定向所有请求,网站配置元素如表1描述。 表1 重定向所有请求Website配置元素 名称 描述 是否必选 WebsiteConfiguration 网站配置的根节点。 类型:Container 父节点:无 是 RedirectAllRequestsTo 描述所有请求的重定向行为,如果这个节点出现,所有其他的兄弟节点都不能出现。 类型:Container 父节点:WebsiteConfiguration 是 HostName 描述重定向的站点名。 类型:String 父节点:RedirectAllRequestsTo 是 Protocol 描述重定向请求时使用的协议(http,https),默认使用http协议。 类型:String 父节点:RedirectAllRequestsTo 否 如果想要设定重定向规则,网站配置元素如表2描述。 表2 设定重定向规则Website配置元素 名称 描述 是否必选 WebsiteConfiguration Website配置的根节点。 类型:Container 父节点:无 是 IndexDocument Suff元素。 类型:Container 父节点:WebsiteConfiguration 是 Suffix Suffix元素被追加在对文件夹的请求的末尾(例如:Suffix配置的是“index.html”,请求的是“samplebucket/images/”,返回的数据将是“samplebucket”桶内名为“images/index.html”的对象的内容)。Suffix元素不能为空或者包含“/”字符。 类型:String 父节点:IndexDocument 是 ErrorDocument Key元素。 类型:Container 父节点:WebsiteConfiguration 否 Key 当4XX错误出现时使用的对象的名称。这个元素指定了当错误出现时返回的页面。 类型:String 父节点:ErrorDocument 条件:父节点ErrorDocument存在时 否 RoutingRules Routing元素。 类型:Container 父节点:WebsiteConfiguration 否 RoutingRule 重定向规则的元素。一条重定向规则包含一个Condition和一个Redirect,当Condition匹配时,Redirect生效。 类型:Container 父节点:RoutingRules 元素中至少要有一个RoutingRule元素 是 Condition 描述重定向规则匹配的条件的元素。 类型:Container 父节点:RoutingRule 否 KeyPrefixEquals 描述当重定向生效时对象名的前缀。 例如: 重定向ExamplePage.html对象的请求,KeyPrefixEquals设为ExamplePage.html。 类型:String 父节点:Condition 条件:父节点Condition存在,并且兄弟节点HttpErrorCodeReturnedEquals不存在。如果设定了两个条件,只有都匹配时,Redirect才生效。 否 HttpErrorCodeReturnedEquals 描述Redirect生效时的HTTP错误码。当发生错误时,如果错误码等于这个值,那么Redirect生效。 例如: 当返回的http错误码为404时重定向到NotFound.html,可以将Condition中的HttpErrorCodeReturnedEquals设置为404,Redirect中的ReplaceKeyWith设置为NotFound.html。 类型:String 父节点:Condition 条件:父节点Condition存在,并且兄弟节点KeyPrefixEquals不存在。如果设定了多个条件,需要同时匹配所有的条件,Redirect才可生效。 否 Redirect 重定向信息的元素。可以重定向到另一个站点、另一个页面或使用另一个协议。当事件或错误发生时,可以指定不同的返回码。 类型:Container 父节点:RoutingRule 是 Protocol 描述重定向请求时使用的协议。 类型:String 父节点:Redirect 可选值:http、https 条件:有其他兄弟节点存在时非必选 否 HostName 描述重定向请求时使用的站点名。 类型:String 父节点:Redirect 条件:有其他兄弟节点存在时非必选 否 ReplaceKeyPrefixWith 描述重定向请求时使用的对象名前缀,请求中的对象名会将KeyPrefixEquals的内容替换为ReplaceKeyPrefixWith的内容。 例如: 想把所有对docs(目录下的对象)的请求重定向到documents(目录下的对象),可以将Condition中的KeyPrefixEquals设置为docs,Redirect中的ReplaceKeyPrefixWith设置为documents。那么对于对象名称为"docs/a.html",重定向的结果为"documents/a.html"。 类型:String 父节点:Redirect 条件:有其他兄弟节点存在时非必选,不可与ReplaceKeyWith同时存在 否 ReplaceKeyWith 描述重定向请求时使用的对象名,请求中的整个对象名会被替换为ReplaceKeyWith的内容。 例如: 想把所有对"docs"目录下的所有对象的请求重定向到"documents/error.html",可以将Condition中的KeyPrefixEquals设置为docs,Redirect中的ReplaceKeyWith设置为"documents/error.html"。那么对于对象名称为"docs/a.html"和"docs/b.html",重定向的结果都为"documents/error.html"。 类型:String 父节点:Redirect 条件:有其他兄弟节点存在时非必选,不可与ReplaceKeyPrefixWith同时存在 否 HttpRedirectCode 描述响应中的HTTP状态码。 类型:String 父节点:Redirect 条件:有其他兄弟节点存在时非必选 否
  • 功能介绍 OBS允许在桶内保存静态的网页资源,如.html网页文件、flash文件、音视频文件等,当客户端通过桶的Website接入点访问这些对象资源时,浏览器可以直接解析出这些支持的网页资源,呈现给最终用户。典型的应用场景有: 重定向所有的请求到另外一个站点。 设定特定的重定向规则来重定向特定的请求。 本接口实现为桶创建或更新网站配置信息。 要正确执行此操作,需要确保执行者有PutBucketWebsite权限。默认情况下只有桶的所有者可以执行此操作,也可以通过设置桶策略或用户策略授权给其他用户。 1.尽量避免目标桶名中带有“.”,否则通过HTTPS访问时可能出现客户端校验证书出错。 2.设置桶的网络配置请求消息体的上限是10KB。
  • 返回结果 表8 返回结果 参数类型 描述 表9 说明: 该接口返回是一个Promise类型,需要使用Promise、async/await语法处理。 参数解释: 接口返回信息,详见 表9。 表9 Response 参数名称 参数类型 描述 CommonMsg ICommonMsg 参数解释: 接口调用完成后的公共信息,包含HTTP状态码,操作失败的错误码等,详见ICommonMsg。 InterfaceResult 表11 参数解释: 操作成功后的结果数据,详见表11。 约束限制: 当Status大于300时为空。 表10 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服务端返回的详细错误码。 表11 BaseResponseOutput 参数名称 参数类型 描述 RequestId string 参数解释: OBS服务端返回的请求ID。
  • 接口约束 尽量避免目标桶名中带有“.”,否则通过HTTPS访问时可能出现客户端校验证书出错。 设置桶的网站配置请求消息体的上限是10KB。 您必须是桶拥有者或拥有设置桶的网站配置的权限,才能设置桶的网站配置。建议使用IAM或桶策略进行授权,如果使用IAM则需授予obs:bucket:PutBucketWebsite权限,如果使用桶策略则需授予PutBucketWebsite权限。相关授权方式介绍可参见OBS权限控制概述,配置方式详见使用IAM自定义策略、自定义创建桶策略。 OBS支持的Region与Endpoint的对应关系,详细信息请参见地区与终端节点。
  • 请求参数 表1 请求参数列表 参数名称 参数类型 是否必选 描述 Bucket string 必选 参数解释: 桶名。 约束限制: 桶的名字需全局唯一,不能与已有的任何桶名称重复,包括其他用户创建的桶。 桶命名规则如下: 3~63个字符,数字或字母开头,支持小写字母、数字、“-”、“.”。 禁止使用IP地址。 禁止以“-”或“.”开头及结尾。 禁止两个“.”相邻(如:“my..bucket”)。 禁止“.”和“-”相邻(如:“my-.bucket”和“my.-bucket”)。 同一用户在同一个区域多次创建同名桶不会报错,创建的桶属性以第一次请求为准。 取值范围: 长度为3~63个字符。 默认取值: 无 RedirectAllRequestsTo RedirectAllRequestTo 可选 参数解释: 所有请求重定向规则。 约束限制: 无 取值范围: 详见RedirectAllRequestTo。 默认取值: 无 IndexDocument IndexDocument 可选 参数解释: 默认页面配置。 约束限制: 无 取值范围: 详见IndexDocument。 默认取值: 无 ErrorDocument ErrorDocument 可选 参数解释: 错误页面配置。 约束限制: 无 取值范围: 详见ErrorDocument。 默认取值: 无 RoutingRules RoutingRule[] 可选 参数解释: 请求重定向规则列表。 约束限制: 无 取值范围: 详见RoutingRule。 默认取值: 无 ErrorDocument、IndexDocument和RoutingRules必须配套使用,且与RedirectAllRequestsTo互斥。当设置了这三个字段时,不能设置RedirectAllRequestsTo;反之,当设置了RedirectAllRequestsTo时,不能设置ErrorDocument、IndexDocument和RoutingRules。 当ErrorDocument、IndexDocument和RoutingRules三个字段一起使用时,RoutingRules可为空。 ErrorDocument、IndexDocument、RoutingRules与RedirectAllRequestsTo不能全为空。