云服务器内容精选
-
代码示例 以下代码展示了examplebucket桶如何实现网站文件托管:(1)上传对象时,设置对象的MIME类型;(2)设置对象访问权限为公共读。 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 54 55 56 57 58 59 60 import com.obs.services.ObsClient; import com.obs.services.exception.ObsException; import com.obs.services.model.AccessControlList; import com.obs.services.model.ObjectMetadata; import com.obs.services.model.PutObjectRequest; import java.io.File; public class PutObject001 { 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 { // 以下代码展示了如何实现网站文件托管 // 上传对象,设置对象MIME类型 PutObjectRequest request = new PutObjectRequest(); request.setBucketName("examplebucket"); request.setObjectKey("test.html"); request.setFile(new File("localfile.html")); ObjectMetadata metadata = new ObjectMetadata(); metadata.setContentType("text/html"); request.setMetadata(metadata); obsClient.putObject(request); // 设置对象访问权限为公共读 obsClient.setObjectAcl("examplebucket", "test.html", AccessControlList.REST_CANNED_PUBLIC_READ); System.out.println("putObject successfully"); } catch (ObsException e) { System.out.println("putObject 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("putObject failed"); // 其他异常信息打印 e.printStackTrace(); } } } 上例中您可以使用https://bucketname.your-endpoint/test.html在浏览器直接访问托管的文件。
-
接口约束 您必须是桶拥有者或拥有上传对象的权限,才能上传对象。建议使用 IAM 或桶策略进行授权,如果使用IAM则需授予obs:object:PutObject权限,如果使用桶策略则需授予PutObject权限。相关授权方式介绍可参见OBS权限控制概述,配置方式详见使用IAM自定义策略、配置对象策略。 您必须是桶拥有者或拥有设置桶ACL的权限,才能设置桶ACL。建议使用IAM或桶策略进行授权,如果使用IAM则需授予obs:bucket:PutBucketAcl权限,如果使用桶策略则需授予PutBucketAcl权限。相关授权方式介绍可参见OBS权限控制概述,配置方式详见使用IAM自定义策略、自定义创建桶策略。 OBS支持的region以及region与endPoint的对应关系,详细信息请参见地区与终端节点。
-
设置对象访问权限请求参数说明 表22 请求参数列表 参数名称 参数类型 是否必选 描述 request SetObjectAclRequest 必选 参数解释: 设置对象ACL请求参数,详见SetObjectAclRequest。 表23 SetObjectAclRequest 参数名称 参数类型 是否必选 描述 bucketName String 必选 参数解释: 桶名。 约束限制: 桶的名字需全局唯一,不能与已有的任何桶名称重复,包括其他用户创建的桶。 桶命名规则如下: 3~63个字符,数字或字母开头,支持小写字母、数字、“-”、“.”。 禁止使用IP地址。 禁止以“-”或“.”开头及结尾。 禁止两个“.”相邻(如:“my..bucket”)。 禁止“.”和“-”相邻(如:“my-.bucket”和“my.-bucket”)。 同一用户在同一个区域多次创建同名桶不会报错,创建的桶属性以第一次请求为准。 默认取值: 无 objectKey String 必选 参数解释: 对象名。对象名是对象在存储桶中的唯一标识。对象名是对象在桶中的完整路径,路径中不包含桶名。 例如,您对象的访问地址为examplebucket.obs.cn-north-4.myhuaweicloud.com/folder/test.txt 中,对象名为folder/test.txt。 取值范围: 长度大于0且不超过1024的字符串。 默认取值: 无 versionId String 可选 参数解释: 对象的版本号。 取值范围: 长度为32的字符串。 默认取值: 无 acl AccessControlList 可选 参数解释: 指定对象的ACL访问策略,您可以使用预定义的ACL策略,也可以自定义ACL策略,有关访问控制列表(Access Control List,ACL)功能的详细信息可参见ACL功能介绍。 取值范围: 如果使用预定义ACL策略,则可选策略参见ACL预定义访问策略。 如果选择自定义ACL策略,则可以根据AccessControlList参数描述,自行给参数赋值。 默认取值: AccessControlList.REST_CANNED_PRIVATE
-
静态网站托管简介(Java SDK) 开发过程中,您有任何问题可以在github上提交issue,或者在华为云 对象存储服务 论坛中发帖求助。 您可以将静态网站文件上传至OBS的桶中作为对象,并对这些对象赋予公共读权限,然后将该桶配置成静态网站托管模式,以实现在OBS上托管静态网站的目的。第三方用户在访问您网站的时候,实际上是在访问OBS的桶中的对象。 在使用静态网站托管功能时,OBS还支持配置请求重定向,通过重定向配置您可以将特定的请求或所有请求实施重定向。 更多关于静态网站托管的内容请参考静态网站托管。 父主题: 静态网站托管(Java SDK)
-
查看托管配置 开发过程中,您有任何问题可以在github上提交issue,或者在华为云对象存储服务论坛中发帖求助。接口参考文档详细介绍了每个接口的参数和使用方法。 您可以通过ObsClient.GetBucketWebsite查看桶的托管配置。 本示例用于查看桶名为“bucketname”的托管配置。 代码示例如下所示: // 初始化配置参数 ObsConfig config = new ObsConfig(); config.Endpoint = "https://your-endpoint"; // 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全;本示例以ak和sk保存在环境变量中为例,运行本示例前请先在本地环境中设置环境变量AccessKeyID和SecretAccessKey。 // 您可以登录访问管理控制台获取访问密钥AK/SK,获取方式请参见https://support.huaweicloud.com/usermanual-ca/ca_01_0003.html string accessKey= Environment.GetEnvironmentVariable("AccessKeyID", EnvironmentVariableTarget.Machine); string secretKey= Environment.GetEnvironmentVariable("SecretAccessKey", EnvironmentVariableTarget.Machine); // 创建ObsClient实例 ObsClient client = new ObsClient(accessKey, secretKey, config); // 查看托管配置 try { GetBucketWebsiteRequest request = new GetBucketWebsiteRequest(); request.BucketName = "bucketname"; GetBucketWebsiteResponse response = client.GetBucketWebsite(request); Console.WriteLine("GetBucketWebsite website configuration error document: {0}", response.Configuration.ErrorDocument); Console.WriteLine("GetBucketWebsite website configuration index document: {0}", response.Configuration.IndexDocument); Console.WriteLine("Get bucket website response: {0}", response.StatusCode); } catch (ObsException ex) { Console.WriteLine("ErrorCode: {0}", ex.ErrorCode); Console.WriteLine("ErrorMessage: {0}", ex.ErrorMessage); } 查看桶托管配置过程中返回的错误码含义、问题原因及处理措施可参考OBS服务端错误码。 父主题: 静态网站托管
-
静态网站托管简介 您可以将静态网站文件上传至OBS的桶中作为对象,并对这些对象赋予公共读权限,然后将该桶配置成静态网站托管模式,以实现在OBS上托管静态网站的目的。第三方用户在访问您网站的时候,实际上是在访问OBS的桶中的对象。在使用静态网站托管功能时,OBS还支持配置请求重定向,通过重定向配置您可以将特定的请求或所有请求实施重定向。 更多关于静态网站托管的内容请参考静态网站托管。 父主题: 静态网站托管
-
静态网站托管简介 开发过程中,您有任何问题可以在github上提交issue,或者在华为云对象存储服务论坛中发帖求助。接口参考文档详细介绍了每个接口的参数和使用方法。 静态网站通常仅包含静态网页,以及可能包含部分可在客户端运行的脚本,如JavaScript、Flash等。相比之下,动态网站则依赖于服务器端处理脚本,包括PHP、JSP或ASP.Net等。 您可以将静态网站文件上传至OBS的桶中作为对象,并对这些对象赋予公共读权限,然后将该桶配置成静态网站托管模式,以实现在OBS上托管静态网站的目的。 第三方用户在访问您网站的时候,实际上是在访问OBS的桶中的对象。 在使用静态网站托管功能时,OBS还支持配置请求重定向,通过重定向配置您可以将特定的请求或所有请求实施重定向。 更多关于静态网站托管的内容请参考静态网站托管。 父主题: 静态网站托管
-
静态网站托管简介 开发过程中,您有任何问题可以在github上提交issue,或者在华为云对象存储服务论坛中发帖求助。接口参考文档详细介绍了每个接口的参数和使用方法。 您可以将静态网站文件上传至OBS的桶中作为对象,并对这些对象赋予公共读权限,然后将该桶配置成静态网站托管模式,以实现在OBS上托管静态网站的目的。第三方用户在访问您网站的时候,实际上是在访问OBS的桶中的对象。在使用静态网站托管功能时,OBS还支持配置请求重定向,通过重定向配置您可以将特定的请求或所有请求实施重定向。 更多关于静态网站托管的内容请参考静态网站托管。 父主题: 静态网站托管
-
静态网站托管简介 开发过程中,您有任何问题可以在github上提交issue,或者在华为云对象存储服务论坛中发帖求助。接口参考文档详细介绍了每个接口的参数和使用方法。 您可以将静态网站文件上传至OBS的桶中作为对象,并对这些对象赋予公共读权限,然后将该桶配置成静态网站托管模式,以实现在OBS上托管静态网站的目的。第三方用户在访问您网站的时候,实际上是在访问OBS的桶中的对象。在使用静态网站托管功能时,OBS还支持配置请求重定向,通过重定向配置您可以将特定的请求或所有请求实施重定向。 更多关于静态网站托管的内容请参考静态网站托管。 父主题: 静态网站托管
-
响应示例:设置桶的网站配置,不配置重定向 x-obs-id-2: 32AAAQAAEAABSAAgAAEAABAAAQAAEAA BCS fxlr+FrXuJzYpLod1lrLK45tVx+GPR x-obs-request-id: 0000018A39F07D0DD3888442DC29719E 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: 32AAAQAAEAABSAAgAAEAABAAAQAAEAAB CS ItqMZ/AoFUX97l1xx8s67V3cCQtXWk Date: WED, 01 Jul 2015 03:40:29 GMT Content-Length: 0
-
响应示例:设置桶的网站配置,并重定向错误 x-obs-id-2: 32AAAQAAEAABSAAgAAEAABAAAQAAEAABCS/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: 32AAAQAAEAABSAAgAAEAABAAAQAAEAABCSxixo46vLYhGrY/zwgqlM0fMNpeFthi x-obs-request-id: 0000018A39F2E328D3888F46DB9BB5A2 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
-
请求消息元素 在此请求中,需要在请求的消息体中配置桶的网站配置信息,配置信息以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 条件:有其他兄弟节点存在时非必选 否
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格