云服务器内容精选

  • 配置密钥(C SDK) 开发过程中,您有任何问题可以在github上提交issue,或者在华为云 对象存储服务 论坛中发帖求助。 要接入OBS服务,您需要拥有一组有效的访问密钥(AK和SK)用来进行签名认证。具体可参考OBS服务环境搭建(C SDK)。 获取AK和SK之后,您便可以按照以下步骤进行初始化。 初始化SDK(C SDK) 配置option(C SDK) 配置SDK日志(C SDK) 父主题: 初始化(C SDK)
  • 操作步骤 登录手机app,选择“终端助手”并进入。 在终端助手页面,搜索附近设备。 手机和设备的蓝牙均需要保持为打开状态。 在已发现的设备中,选择设备进行绑定。 绑定后,点击进入设备详情。 如果做了相关操作,需要主动刷新设备信息,点击刷新设备。 表1 表2 设备详情说明 字段 说明 连接状态 “已连接”或“已断开” 设备信息 设备的基本信息 设备管理 安装应用 点击可以选择手机上的设备在设备上进行应用安装,安装成功后,设备会重启 连接WIFI 点击输入WIFI名称和WIFI密码,用于设备连接WIFI 说明: 点击右上方的刷新按钮查看设备下的Wifi信息 若WIFI名称或密码输入错误,连接WIFI页面无法显示是否错误,点击确定后在设备详情页查看设备信息下的WIFI信息。 更新漫游阈值 点击可以修改漫游阈值大小。 企业地址设置 点击可以设置企业 域名 地址 设备登录 显示设备是否为登录状态,点击可以进行设备登录或设备退出操作 主屏应用设置 点击可设置切换主屏应用 重启应用 点击可以重启应用 日志上传 点击可以进行日志上传 断开设备 点击断开设备连接
  • 配置OBS客户端(Node.js SDK) 开发过程中,您有任何问题可以在github上提交issue,或者在华为云对象存储服务论坛中发帖求助。 您可通过初始化参数对ObsClient进行配置,可以配置的参数见下表: 参数 描述 建议值 access_key_id 访问密钥中的AK。 N/A secret_access_key 访问密钥中的SK。 N/A server 连接OBS的服务地址。可包含协议类型、域名、端口号。示例:https://your-endpoint:443。(出于安全性考虑,建议使用https协议) N/A max_retry_count HTTP/HTTPS连接异常时的请求重试次数。默认为3次。 [1,5] timeout HTTP/HTTPS请求超时时间(单位:秒)。默认为60秒。 [10, 60] http_agent 配置使用http代理,可选项。默认不配置 N/A https_agent 配置使用https代理,可选项。默认不配置 N/A ssl_verify 验证服务端证书参数。可能的取值: 服务端pem格式根证书文件路径; true:使用默认的CAs验证服务端证书; false:表示不验证服务端证书。 默认为false。 N/A long_conn_param 长连接模式参数(单位:秒)。当该参数大于等于0时,开启长连接模式,并将该参数作为TCP Keep-Alive数据包的初始延迟。 默认为空,代表关闭长连接模式。 N/A is_cname 是否通过自定义域名访问OBS服务。默认为false。 N/A 建议值为N/A的表示需要根据实际情况进行设置。 如网络状况不佳,建议增大timeout的值。 如果设置的server不带协议类型,则默认使用HTTPS协议。 如果启用了长连接模式,使用完OBS客户端后必须调用ObsClient.close方法显式关闭,回收连接资源。 出于DNS解析性能和OBS服务可靠性的考虑,不允许将server设置为IP,必须使用域名访问OBS服务。 配置SDK代理请参见配置SDK代理(Node.js SDK)。 父主题: 初始化(Node.js SDK)
  • 初始化概述(Java SDK) 完成SDK安装之后,您还需要进行初始化工作,初始化工作主要包括两方面,一方面客户端的创建和配置,另一方面是SDK日志配置。 表1 初始化概述 初始化任务 子任务 是否必选 说明 创建并配置客户端 创建客户端 是 OBS客户端是使用Java SDK访问OBS服务的必备媒介,它为调用者提供一系列与OBS服务进行交互的接口,使用OBS Java SDK向OBS发起请求,您需要创建并初始化一个客户端,即一个ObsClient实例。 配置访问密钥 是 基于安全需要,您需要为客户端配置访问凭证以便服务端校验请求的合法性。 配置终端节点及其他选项 终端节点必选,其余配置项可选 为了快速创建和检索到您的资源,需要配置客户端的终端节点,即告知服务端资源所在的区域。 除了访问密钥和终端节点外,您可以根据自身使用场景,为客户端配置其他选项。 配置SDK日志 配置日志等级 否 OBS Java SDK基于Apache Log4j2开源库提供了日志功能,Log4j2框架按照优先级将日志进行了分级处理,您可以配置存储某个级别以上的日志,自行决定存储日志的范围。 OBS Java SDK默认将WARN及WARN以上级别的日志保存到本地。 配置日志存放路径 否 配置日志在本地的存储路径。 父主题: 初始化(Java SDK)
  • 可用的拓展请求头 创建方式 说明 WithTrafficLimitHeader(trafficLimit int64) 配置在请求中携带单链接限速头域。目前仅支持 GetObject 方法。 取值范围:819200 ~ 838860800,单位:bit/s。 表1 PayerType 常量名 原始值 说明 BucketOwnerPayer BucketOwner 表示桶拥有者支付所有费用。 RequesterPayer Requester 表示请求者支付流量和请求次数费用,桶拥有者支付存储费用。
  • 功能说明 通过开启SDK日志功能,可将接口调用过程中产生的日志信息记录到日志文件,用于后续的数据分析或问题定位。具体步骤如下: 找到OBS Python SDK开发包(github获取)中的log.conf文件。其内容格式如下: [ LOG CONF]#Configure log file dirLogFileDir = ./logs#Configure log file nameLogFileName = eSDK-OBS-PYTHON.log#Configure log file size, unit:MBLogFileSize = 30#Configure max log file numbersLogFileNumber = 5#Configure log level for log file (DEBUG | INFO | WARNING | ERROR)LogFileLevel = INFO#Configure whether to print log to console (Yes:1 No:0)PrintLogToConsole = 0#Configure log level for console (DEBUG | INFO | WARNING | ERROR)PrintLogLevel= WARNING 根据实际情况修改log.conf中的配置参数。 调用ObsClient.initLog开启日志功能。 日志功能默认是关闭的,需要主动开启。 您可以从 日志分析 章节获取更多关于SDK日志的信息。 您可以根据实际需要在系统中修改日志文件的权限。 OBS Python SDK的日志模块是线程安全非进程安全的,如果在多进程场景下使用ObsClient请务必为每个ObsClient配置独立的日志路径,防止多个进程并发写日志时发生冲突。
  • 代码样例 # 引入模块from obs import ObsClient# 推荐通过环境变量获取AKSK,这里也可以使用其他外部引入方式传入,如果使用硬编码可能会存在泄露风险。# 您可以登录访问管理控制台获取访问密钥AK/SK,获取方式请参见https://support.huaweicloud.com/usermanual-ca/ca_01_0003.html。ak = os.getenv("AccessKeyID")sk = os.getenv("SecretAccessKey")# 【可选】如果使用临时AKSK和SecurityToken访问OBS,则同样推荐通过环境变量获取security_token = os.getenv("SecurityToken")# server填写Bucket对应的Endpoint, 这里以华北-北京四为例,其他地区请按实际情况填写。server = "https://obs.cn-north-4.myhuaweicloud.com"# 创建obsClient实例# 如果使用临时AKSK和SecurityToken访问OBS,需要在创建实例时通过security_token参数指定securityToken值obsClient = ObsClient(access_key_id=ak, secret_access_key=sk, server=server)# 引入日志模块from obs import LogConf# 指定日志配置文件路径,初始化ObsClient日志obsClient.initLog(LogConf('./log.conf'), '*** Your Log Name ***')# 使用ObsClient访问OBS服务# 关闭ObsClient日志obsClient.close()
  • 参数描述 表1 ObsClientConfig 参数名称 参数类型 是否必选 描述 AccessKeyId string 可选 参数解释: 访问密钥中的AK。获取方式请参考准备访问密钥。 约束限制: 无 默认取值: 无,表示匿名用户。 SecretAccessKey string 可选 参数解释: 访问密钥中的SK。获取方式请参考准备访问密钥。 约束限制: 无 默认取值: 无,表示匿名用户。 SecurityToken string 可选,使用临时访问密钥时必选。 参数解释: 临时访问密钥中的SecurityToken。 如何获取临时访问密钥和securitytoken请参见临时访问密钥AK/SK获取。 默认取值: 无,表示匿名用户 Server string 必选 参数解释: 连接OBS的服务地址。包含协议类型、域名(或IP)、端口号。示例:https://your-endpoint:443。(出于安全性考虑,建议使用https协议)。 您可以从这里查看OBS当前开通的服务地址。 Timeout number 可选 参数解释: HTTP/HTTPS请求的总超时时间。 说明: 如网络状况不佳或者上传文件较大,建议增大Timeout的值。 约束限制: 无 取值范围: 0~(231-1),单位:秒。 默认取值: 300,单位:秒。 IsCname boolean 可选 参数解释: 是否通过自定义域名访问OBS服务。 约束限制: 无 取值范围: true:使用自定义域名访问OBS服务。 false:不使用自定义域名访问OBS服务。 默认取值: false
  • 代码示例 使用永久访问密钥(AK/SK)创建OBS客户端。 1 2 3 4 5 6 7 8 91011121314 // 引入依赖包import ObsClient from '@obs/esdk-obs-harmony';// 创建ObsClient实例const obsClient = new ObsClient({ // 推荐通过环境变量获取AKSK,这里也可以使用其他外部引入方式传入,如果使用硬编码可能会存在泄露风险 // 您可以登录访问管理控制台获取访问密钥AK/SK,获取方式请参见https://support.huaweicloud.com/usermanual-ca/ca_01_0003.html AccessKeyId: process.env.AC CES S_KEY_ID, SecretAccessKey: process.env.SECRET_ACCESS_KEY, // 【可选】如果使用临时AK/SK和SecurityToken访问OBS,同样建议您尽量避免使用硬编码,以降低信息泄露风险。您可以通过环境变量获取访问密钥AK/SK,也可以使用其他外部引入方式传入 // SecurityToken: process.env.SECURITY_TOKEN, // Server填写Bucket对应的Endpoint, 这里以华北-北京四为例,其他地区请按实际情况填写 Server: "https://obs.cn-north-4.myhuaweicloud.com",});
  • Token认证 参数authToken和graphEndpoint如何填写见初始化参数获取。 import com.huawei.ges.graph.v1.GESGraphClient; // 内存版客户端import com.huawei.ges.graph.v1.persistence.GESGraphPersistenceClient; // 持久化版客户端import com.huawei.ges.graph.v1.auth.token.GesGraphTokenCredentials;import com.huaweicloud.sdk.core.auth.ICredential;import com.huaweicloud.sdk.core.http.HttpConfig;import java.util.Arrays;String authToken = "";String graphEndpoint = "";ICredential auth = new GesGraphTokenCredentials().withXAuthToken(authToken);HttpConfig httpConfig = HttpConfig.getDefaultHttpConfig();// 内存版客户端GESGraphClient gesGraphClient = GESGraphClient.newBuilder().withCredential(auth).withEndpoints(Arrays.asList(graphEndpoint)).withHttpConfig(httpConfig).build();// 持久化版客户端GESGraphPersistenceClient gesGraphPersistenceClient = GESGraphPersistenceClient.newBuilder().withCredential(auth).withEndpoints(Arrays.asList(graphEndpoint)).withHttpConfig(httpConfig).build();
  • 密码认证 参数domainName、userName、password、projectId 、iamEndPoint和graphEndpoint如何填写见初始化参数获取。 import com.huawei.ges.graph.v1.GESGraphClient; // 内存版客户端import com.huawei.ges.graph.v1.persistence.GESGraphPersistenceClient; // 持久化版客户端import com.huawei.ges.graph.v1.auth.password.GesGraphPasswordCredentials;import com.huaweicloud.sdk.core.auth.ICredential;import com.huaweicloud.sdk.core.http.HttpConfig;import java.util.Arrays;// 认证用的密码硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全// 本示例以密码保存在环境变量中来实现身份验证为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_PWDString password = System.getenv("HUAWEICLOUD_SDK_PWD");String domainName = "";String userName = "";String projectId = "";String iamEndPoint = "";String graphEndpoint = "";ICredential auth = new GesGraphPasswordCredentials(userName, domainName, password, projectId, Arrays.asList(iamEndPoint));HttpConfig httpConfig = HttpConfig.getDefaultHttpConfig();// 内存版客户端GESGraphClient gesGraphClient = GESGraphClient.newBuilder().withCredential(auth).withEndpoints(Arrays.asList(graphEndpoint)).withHttpConfig(httpConfig).build();// 持久化版客户端GESGraphPersistenceClient gesGraphPersistenceClient = GESGraphPersistenceClient.newBuilder().withCredential(auth).withEndpoints(Arrays.asList(graphEndpoint)).withHttpConfig(httpConfig).build();
  • 磁盘分区操作指导 使用脚本初始化数据盘: 使用脚本初始化Windows数据盘 使用脚本初始化Linux数据盘 磁盘容量小于2 TiB的场景: 初始化Windows数据盘(Windows 2008) 初始化Windows数据盘(Windows 2019) 初始化Linux数据盘(fdisk) 初始化Linux数据盘(parted) 磁盘容量大于2 TiB的场景: 初始化容量大于2TiB的Windows数据盘(Windows 2008) 初始化容量大于2TiB的Windows数据盘(Windows 2012) 初始化容量大于2TiB的Linux数据盘(parted)
  • 操作场景 磁盘挂载至云服务器后,需要登录云服务器初始化磁盘,即格式化磁盘,之后磁盘才可以正常使用。 系统盘 系统盘不需要初始化,创建云服务器时会自带系统盘并且自动初始化,默认磁盘分区形式为主启动记录分区(MBR, Master boot record)。 数据盘 创建云服务器时直接创建数据盘,数据盘会自动挂载至云服务器。 单独创建数据盘,然后将该数据盘挂载至云服务器。 以上两种情况创建的数据盘挂载至云服务器后,均需要初始化后才可以使用,请您根据业务的实际规划选择合适的分区方式。
  • 磁盘分区形式 常用的磁盘分区形式如表1所示,并且针对Linux操作系统,不同的磁盘分区形式需要选择不同的分区工具。 表1 磁盘分区形式 磁盘分区形式 支持最大磁盘容量 支持分区数量 Linux分区工具 主启动记录分区(MBR) 2 TiB 4个主分区 3个主分区和1个扩展分区 MBR分区包含主分区和扩展分区,其中扩展分区里面可以包含若干个逻辑分区。扩展分区不可以直接使用,需要划分成若干个逻辑分区才可以使用。以创建6个分区为例,以下两种分区情况供参考: 3个主分区,1个扩展分区,其中扩展分区中包含3个逻辑分区。 1个主分区,1个扩展分区,其中扩展分区中包含5个逻辑分区。 以下两种工具均可以使用: fdisk工具 parted工具 全局分区表 (GPT, Guid Partition Table) 18 EiB 1 EiB = 1048576 TiB 不限制分区数量 GPT格式下没有主分区、扩展分区以及逻辑分区之分。 parted工具 MBR支持的云硬盘最大容量为2 TiB,GPT最大支持的云硬盘容量为18 EiB,当前数据盘支持的最大容量为32 TiB,如果您需要使用大于2 TiB的云硬盘容量,分区形式请采用GPT。 当云硬盘已经投入使用后,此时切换云硬盘分区形式时,云硬盘上的原有数据将会清除,因此请在云硬盘初始化时谨慎选择云硬盘分区形式。切换GPT分区形式前,请对云硬盘数据备份后,再格式化硬盘。
  • 参数描述 字段名 类型 约束 说明 FilePath string 必选 保存日志文件的目录。 FileName string 必选 日志文件名。 MaxFiles integer 必选 最大可保留的日志文件个数。 Level integer 必选 日志级别,SDK内部定义了四个integer类型的常量以对应不同的日志级别,有效值: DEBUG(100) INFO(200) WARN(300) ERROR(400)