华为云用户手册

  • 代码示例 本示例用于获取名为examplebucket桶下的版本对象列表,其中列举的是以test/ 开头的所有对象中的按照字典顺序的最多前100个对象,并且是从起始位置test/test2(该对象的版本号是G001117FCE89978B0000401205D5DC9A,如果没有匹配,则忽略该参数)开始列举。 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 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.ListVersionsInput{} // 指定存储桶名称 input.Bucket = "examplebucket" // 指定列举对象前缀,此处以“test/”前缀为例,满足指定前缀的对象会被列举。 input.Prefix = "test/" // 指定返回的最大对象数,此处以 100 为例,返回的对象列表将是按照字典顺序的最多前max-keys个对象,默认值为1000。 input.MaxKeys = 100 // 指定列举版本对象的起始位置,此处以“test/test2”为例 input.KeyMarker = "test/test2" // 与KeyMarker配合使用,如果KeyMarker没有对应的VersionIdMarker ,则该参数忽略 input.VersionIdMarker = "G001117FCE89978B0000401205D5DC9A" // 指定编码方式,此处以“url”为例,如果列举对象中存在特殊字符,则该参数必传 input.EncodingType = "url" // 列举桶内版本对象 output, err := obsClient.ListVersions(input) if err == nil { fmt.Printf("List version objects under the bucket(%s) successful!\n", input.Bucket) fmt.Printf("RequestId:%s\n", output.RequestId) for index, val := range output.Versions { fmt.Printf("Version[%d]-OwnerId:%s, ETag:%s, Key:%s, VersionId:%s, LastModified:%s, Size:%d\n", index, val.Owner.ID, val.ETag, val.Key, val.VersionId, val.LastModified, val.Size) } for index, val := range output.DeleteMarkers { fmt.Printf("DeleteMarker[%d]-OwnerId:%s, Key:%s, VersionId:%s, LastModified:%s\n", index, val.Owner.ID, val.Key, val.VersionId, val.LastModified) } return } fmt.Printf("List version objects under the bucket(%s) 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) } }
  • 请求参数说明 表1 请求参数列表 参数名称 参数类型 是否必选 描述 bucketName string 必选 参数解释: 桶名。 约束限制: 桶的名字需全局唯一,不能与已有的任何桶名称重复,包括其他用户创建的桶。 桶命名规则如下: 3~63个字符,数字或字母开头,支持小写字母、数字、“-”、“.”。 禁止使用IP地址。 禁止以“-”或“.”开头及结尾。 禁止两个“.”相邻(如:“my..bucket”)。 禁止“.”和“-”相邻(如:“my-.bucket”和“my.-bucket”)。 同一用户在同一个区域多次创建同名桶不会报错,创建的桶属性以第一次请求为准。 默认取值: 无 extensions extensionOptions 可选 参数解释: 桶相关扩展信息。通过调用拓展配置项为对应请求配置额外的拓展请求头,详情参考extensionOptions。
  • 代码示例 本示例用于获取名为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 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.GetBucketStorageInfo(bucketname) if err == nil { fmt.Printf("Get bucket(%s)'s storage-info successful!\n", bucketname) fmt.Printf("RequestId:%s\n", output.RequestId) fmt.Printf("Size:%d, ObjectNumber:%d\n", output.Size, output.ObjectNumber) return } fmt.Printf("Get bucket(%s)'s storage-info 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) } }
  • 接口约束 您必须是桶拥有者或拥有获取桶存量信息的权限,才能获取桶存量信息。建议使用IAM或桶策略进行授权,如果使用IAM则需授予obs:bucket:GetBucketStorage权限,如果使用桶策略则需授予GetBucketStorage权限。相关授权方式介绍可参见OBS权限控制概述,配置方式详见使用IAM自定义策略、自定义创建桶策略。 OBS支持的Region与Endpoint的对应关系,详细信息请参见地区与终端节点。
  • 代码示例 本示例用于设置桶名为examplebucket的桶日志管理配置,使用委托名称为obs_test_agency,生成以TargetPrefixtest/为前缀的日志文件,并将此日志存放在桶名为TargetBucketname内。 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 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.SetBucketLoggingConfigurationInput{} // 指定桶名称 input.Bucket = "examplebucket" // 指定委托的名称,此处以obs_test_agency为例。 input.Agency = "obs_test_agency" // 指定用于存放产生的日志文件的桶名,此处以TargetBucketname为例。 input.TargetBucket = "TargetBucketname" // 指定用于生成的日志文件的名称前缀,此处以TargetPrefixtest/为例。 input.TargetPrefix = "TargetPrefixtest/" // 设置桶的日志管理配置 output, err := obsClient.SetBucketLoggingConfiguration(input) if err == nil { fmt.Printf("Set bucket(%s)'s logging configuration successful!\n", input.Bucket) fmt.Printf("RequestId:%s\n", output.RequestId) return } fmt.Printf("Set bucket(%s)'s logging configuration 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) } }
  • 返回结果说明 表8 返回结果列表 参数名称 参数类型 描述 output *BaseModel 参数解释: 接口返回信息,详见BaseModel。 err error 参数解释: 接口返回错误信息。 表9 BaseModel 参数名称 参数类型 描述 StatusCode int 参数解释: HTTP状态码。 取值范围: 状态码是一组从2xx(成功)到4xx或5xx(错误)的数字代码,状态码表示了请求响应的状态。完整的状态码列表请参见状态码。 默认取值: 无 RequestId string 参数解释: OBS服务端返回的请求ID。 默认取值: 无 ResponseHeaders map[string][]string 参数解释: HTTP响应头信息。 默认取值: 无
  • 功能说明 调用设置桶日志管理配置接口,您可以为指定桶打开桶日志功能,并配置日志存放的目标桶。创建桶时,默认是不生成桶的日志的,调用Go SDK的设置桶日志管理配置接口时,接口会自动为您打开桶日志配置。桶日志功能开启后,桶的每次操作将会产生一条日志,并将多条日志打包成一个日志文件。日志文件存放位置需要在开启桶日志功能时指定,可以存放到开启日志功能的桶中,也可以存放到其他您有权限的桶中,但需要和开启日志功能的桶在同一个region中。您还可以根据需要配置日志文件的访问权限,以及日志文件的文件名前缀。
  • 请求参数说明 表1 请求参数列表 参数名称 参数类型 是否必选 描述 input *SetBucketLoggingConfigurationInput 必选 参数解释: 设置桶日志管理配置请求参数,详见SetBucketLoggingConfigurationInput。 extensions extensionOptions 可选 参数解释: 桶相关扩展信息。通过调用拓展配置项为对应请求配置额外的拓展请求头,详情参考extensionOptions。
  • 接口约束 由于日志文件是OBS产生,并且由OBS上传到存放日志的桶中,因此OBS需要获得委托授权,用于上传生成的日志文件,所以在配置桶日志管理前,需要先到统一身份认证服务生成一个对OBS服务的委托,委托配置权限只需设置目标桶的上传对象权限。 您必须是桶拥有者或拥有设置桶日志管理配置的权限,才能设置桶日志管理配置。建议使用IAM或桶策略进行授权,如果使用IAM则需授予obs:bucket:PutBucketLogging权限,如果使用桶策略则需授予PutBucketLogging权限。相关授权方式介绍可参见OBS权限控制概述,配置方式详见使用IAM自定义策略、自定义创建桶策略。 OBS支持的Region与Endpoint的对应关系,详细信息请参见地区与终端节点。
  • 代码示例 本示例用于配置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 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.SetBucketTaggingInput{} // 指定存储桶名称 input.Bucket = "bucketname" // 指定桶的标签 input.Tags = []obs.Tag{ {Key: "key0", Value: "value0"}, {Key: "key1", Value: "value1"}, } // 设置桶标签 output, err := obsClient.SetBucketTagging(input) if err == nil { fmt.Printf("Set bucket(%s)'s tag configuration successful!\n", input.Bucket) fmt.Printf("RequestId:%s\n", output.RequestId) return } fmt.Printf("Set bucket(%s)'s tag configuration 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) } }
  • 返回结果说明 表4 返回结果列表 参数名称 参数类型 描述 output *BaseModel type BaseModel struct 参数解释: 接口返回信息,详见BaseModel。 err error 参数解释: 接口返回错误信息。 表5 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 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()) } // 指定存储桶名称 bucketname := "examplebucket" // 获取桶标签 output, err := obsClient.GetBucketTagging(bucketname) if err == nil { fmt.Printf("Get bucket(%s)'s tagging configuration successful!\n", bucketname) fmt.Printf("RequestId:%s\n", output.RequestId) for index, tag := range output.Tags { fmt.Printf("Tag[%d]-Key:%s, Value:%s\n", index, tag.Key, tag.Value) } return } fmt.Printf("Get bucket(%s)'s tagging configuration 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:GetBucketTagging权限,如果使用桶策略则需授予GetBucketTagging权限。相关授权方式介绍可参见OBS权限控制概述,配置方式详见使用IAM自定义策略、自定义创建桶策略。 OBS支持的Region与Endpoint的对应关系,详细信息请参见地区与终端节点。
  • 购买WAF时如何选择区域 原则上,在任何一个区域购买的WAF支持防护所有区域的Web业务。但是为了提高WAF的转发效率,建议您在购买WAF时,根据防护业务的所在区域就近选择购买的WAF区域。 例如,如果您只购买了北京region的WAF,需要同时覆盖不同地域的业务(如北京和上海),对于客户在上海的业务,可能转发时长相比于北京的业务会更长。为了提高转发效率,建议您购买2个WAF(北京region的WAF和上海region的WAF),分别防护北京和上海的业务。
  • 什么是区域、可用区? 我们用区域和可用区来描述数据中心的位置,您可以在特定的区域、可用区创建资源。 区域(Region):从地理位置和网络时延维度划分,同一个Region内共享弹性计算、块存储、对象存储、VPC网络、弹性公网IP、镜像等公共服务。Region分为通用Region和专属Region,通用Region指面向公共租户提供通用云服务的Region;专属Region指只承载同一类业务或只面向特定租户提供业务服务的专用Region。 可用区(AZ,Availability Zone):一个AZ是一个或多个物理数据中心的集合,有独立的风火水电,AZ内逻辑上再将计算、网络、存储等资源划分成多个集群。一个Region中的多个AZ间通过高速光纤相连,以满足用户跨AZ构建高可用性系统的需求。 图1阐明了区域和可用区之间的关系。 图1 区域和可用区 目前,华为云已在全球多个地域开放云服务,您可以根据需求选择适合自己的区域和可用区。
  • 如何选择区域? 选择区域时,您需要考虑以下几个因素: 地理位置 一般情况下,建议就近选择靠近您或者您的目标用户的区域,这样可以减少网络时延,提高访问速度。 在除中国大陆以外的亚太地区有业务的用户,可以选择“中国-香港”、“亚太-曼谷”或“亚太-新加坡”区域。 在非洲地区有业务的用户,可以选择“非洲-约翰内斯堡”区域。 在拉丁美洲地区有业务的用户,可以选择“拉美-圣地亚哥”区域。 资源的价格 不同区域的资源价格可能有差异,请参见华为云服务价格详情。
  • HTTP 2.0业务接入WAF防护是否会对源站有影响? HTTP 2.0业务接入WAF防护对源站有影响。HTTP 2.0业务接入WAF防护表示WAF可以处理客户端的HTTP 2.0请求,而WAF目前仅支持以HTTP 1.0/1.1协议转发回源请求,即WAF与源站间暂不支持HTTP 2.0。因此,如果您将HTTP 2.0业务接入WAF防护,则源站的HTTP 2.0特性将会受到影响,例如,源站HTTP 2.0的多路复用特性可能失效,造成源站业务请求量上升。 父主题: 功能说明类
  • Web应用防火墙是否支持SSL双向认证? 不支持。您可以在WAF上配置单向的SSL证书。 添加防护网站时,如果“对外协议”使用了HTTPS协议,您需要上传证书使证书绑定到防护网站。 建议您使用ELB+独享WAF的模式,在ELB上配置双向认证,具体的操作如下: 购买WAF独享模式。 将网站接入WAF并配置负载均衡(ELB),具体请参见网站接入流程(独享模式)。 在ELB上配置双向认证,具体请参见HTTPS双向认证。 父主题: 功能说明类
  • 接入WAF对现有业务和服务器运行有影响吗? 接入WAF不需要中断现有业务,不会影响源站服务器的运行状态,即不需要对源站服务站进行任何操作(例如关机或重启)。 以云模式部署方式接入WAF时,您需要修改DNS解析使流量经过WAF进行转发。修改DNS解析可能会影响网站访问业务,建议您在业务量少时进行修改。有关网站接入WAF的详细操作,请参见域名接入配置。 WAF支持云模式、独享模式和ELB模式三种部署模式,各部署模式支持防护的对象说明如下: 云模式:域名,华为云、非华为云或云下的Web业务 独享模式/ELB模式:域名或IP,华为云的Web业务 有关云模式、独享模式和ELB模式的应用场景和差异的详细说明,请参见服务版本差异。 父主题: 使用说明类
  • 如何转储云审计服务CTS的日志? 云审计CTS与LTS进行系统对接后,系统自动在云日志服务控制台创建的日志组和日志流,如果需要将CTS的日志转储至OBS中,您需要进行以下操作: 在云审计服务管理控制台,单击左侧导航栏中的“追踪器”。 单击追踪器“system”操作列的“配置”。 进入基本信息页面,单击下一步。 在“配置转储”页面,选择转储到OBS的相关信息和开启转储到LTS,单击下一步。 确认信息正确后,单击配置即可完成。 在云日志服务管理控制台,选择左侧导航栏中的“日志转储”,单击“配置转储”,完成将CTS日志转储至OBS的配置。 其中日志组名称选择“CTS”,日志流名称“system-trace”。 转储成功后在OBS控制台所选OBS桶中可以看到已转储的CTS日志。 父主题: 日志转储
  • CCE用户没有开通日志功能,为什么会开始计费? 用户在购买CCE集群时,系统会默认勾选自动采集容器标准输出,会采集日志(如标准输出日志)、指标、K8S事件等运维数据。如果想停止使用日志功能,请参考以下方法: 在云日志服务(LTS)控制台,单击左侧导航栏“主机管理”。 选择“主机”页签,单击“CCE集群”。 在CCE集群中,选择您需要关闭标准输出到AOM的CCE集群,关闭采集容器标准输出到AOM按钮。 图1 关闭采集容器标准输出到AOM 单击“确定”,待ICAgent重启完成后,已关闭CCE标准输出到AOM。 父主题: 计费
  • 方法2:配置定时任务 登录DataArts Studio服务控制台,确保已创建SQL实例。 选择实例,单击进入控制台。 在概览页签,单击工作空间下方的数据开发,进入数据开发详情页面。 在作业开发页面,单击新建作业,按照提示填写参数后,单击“确定”。详细操作请参考新建作业。 在已创建成功的作业页面,将DLI SQL拖动到空白区域。 在空白区域,单击DLI SQL图标,在DLI SQL页面,填写SQL语句“MSCK REPAIR TABLE table_name”,table_name为有分区表的表名称,数据库名称和队列名称选择用户配置转储DLI创建的数据库和队列。 更多DLI SQL属性信息请参考开发SQL脚本。 设置完成DLI SQL属性后,单击空白处,单击“调度配置”,设置定时操作时间,详细操作请参考调度作业。 设置完成后,先单击提交版本,然后单击,作业执行调度触发成功。
  • 集群管理功能 CloudTable服务是华为云提供的一项分布式、可扩展的KeyValue数据存储服务。CloudTable提供Web官网服务界面,CloudTable HBase集群管理的具体功能如下: 创建集群:在CloudTable服务界面完成集群的创建。支持按照用户创建集群时选择的计算单元个数、实际使用存储容量计费。用户可以自主地选择服务提供的高级特性,独立安装、独立收费。扣费时余额不足先提醒用户续费,在保留期冻结集群资源,续费后再解冻。通过计算存储分离架构和计算资源动态调整,尽可能的为用户降低成本。 扩容集群:支持集群扩容计算单元。 扩容计算单元:用户根据实际需要或业务情况,动态的增加计算单元的个数,保证读写性能。集群自适应的实现负载均衡,保证业务不中断,平滑扩容。扩容计算单元将会产生额外的费用。 管理集群:对创建的集群进行管理。 指标监控:集群运行中,收集各项监控数据,上报云监控(Cloud Eye),向用户以图形化的方式呈现集群运行状况。当指标出现异常时,通过消息通知用户和管理员,及时人工介入。 删除集群:当用户不再需要集群时,可选择删除集群。此操作为高危操作,删除集群可能导致数据丢失,因此在执行删除操作之前,请确认不存在正在运行的业务,所有数据都已经保存。 重启集群:当修改完集群HBase参数后,或者因长时间不重启导致系统运行缓慢等情况下,用户需要重启集群。重启操作将有可能会导致正在运行中的业务数据丢失,如果需要执行重启操作,请确定不存在正在运行的业务,所有数据都已经保存。 查询告警:集群运行异常或系统故障时,CloudTable服务会收集故障信息并上报网管系统,维护人员可根据用户提供的告警信息定位问题原因。 日志查询:记录用户对集群操作信息,便于集群运行异常时定位分析问题原因。
  • HBase产品简介 HBase是一个稳定可靠,性能卓越、可伸缩、面向列的分布式云存储系统,适用于海量数据存储以及分布式计算的场景,用户可以利用HBase搭建起TB至PB级数据规模的存储系统,对数据轻松进行过滤分析,毫秒级得到响应,快速发现数据价值。 HBase适用场景有: 海量数据存储。 适用于TB~PB级以上的数据存储,提供动态伸缩能力,方便用户在性能或容量需要改变时,改变集群资源,轻松构建企业海量数据存储系统。 实时查询。 HBase的列式KeyValue存储机制,适用于企业用户明细数据即时查询,基于主键的低时延点查,响应时延一般为秒级或毫秒级,方便用户对数据的实时分析。 HBase的架构和详细原理介绍,请参见:https://hbase.apache.org/book.html 当前CloudTable HBase暂无安全认证机制,如果需使用认证鉴权机制的HBase服务,建议使用华为云MapReduce服务。
  • 保存模型(tf接口) 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 # 导出模型 # 模型需要采用saved_model接口保存 print('Exporting trained model to', export_path) builder = tf.saved_model.builder.SavedModelBuilder(export_path) tensor_info_x = tf.saved_model.utils.build_tensor_info(x) tensor_info_y = tf.saved_model.utils.build_tensor_info(y) # 定义预测接口的inputs和outputs # inputs和outputs字典的key值会作为模型输入输出tensor的索引键 # 模型输入输出定义需要和推理自定义脚本相匹配 prediction_signature = ( tf.saved_model.signature_def_utils.build_signature_def( inputs={'images': tensor_info_x}, outputs={'scores': tensor_info_y}, method_name=tf.saved_model.signature_constants.PREDICT_METHOD_NAME)) legacy_init_op = tf.group(tf.tables_initializer(), name='legacy_init_op') builder.add_meta_graph_and_variables( # tag设为serve/tf.saved_model.tag_constants.SERVING sess, [tf.saved_model.tag_constants.SERVING], signature_def_map={ 'predict_images': prediction_signature, }, legacy_init_op=legacy_init_op) builder.save() print('Done exporting!')
  • 保存模型(keras接口) 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 from keras import backend as K # K.get_session().run(tf.global_variables_initializer()) # 定义预测接口的inputs和outputs # inputs和outputs字典的key值会作为模型输入输出tensor的索引键 # 模型输入输出定义需要和推理自定义脚本相匹配 predict_signature = tf.saved_model.signature_def_utils.predict_signature_def( inputs={"images" : model.input}, outputs={"scores" : model.output} ) # 定义保存路径 builder = tf.saved_model.builder.SavedModelBuilder('./mnist_keras/') builder.add_meta_graph_and_variables( sess = K.get_session(), # 推理部署需要定义tf.saved_model.tag_constants.SERVING标签 tags=[tf.saved_model.tag_constants.SERVING], """ signature_def_map:items只能有一个,或者需要定义相应的key为 tf.saved_model.signature_constants.DEFAULT_SERVING_SIGNATURE_DEF_KEY """ signature_def_map={ tf.saved_model.signature_constants.DEFAULT_SERVING_SIGNATURE_DEF_KEY: predict_signature } ) builder.save()
  • 训练模型(keras接口) 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 from keras.models import Sequential model = Sequential() from keras.layers import Dense import tensorflow as tf # 导入训练数据集 mnist = tf.keras.datasets.mnist (x_train, y_train),(x_test, y_test) = mnist.load_data() x_train, x_test = x_train / 255.0, x_test / 255.0 print(x_train.shape) from keras.layers import Dense from keras.models import Sequential import keras from keras.layers import Dense, Activation, Flatten, Dropout # 定义模型网络 model = Sequential() model.add(Flatten(input_shape=(28,28))) model.add(Dense(units=5120,activation='relu')) model.add(Dropout(0.2)) model.add(Dense(units=10, activation='softmax')) # 定义优化器,损失函数等 model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy']) model.summary() # 训练 model.fit(x_train, y_train, epochs=2) # 评估 model.evaluate(x_test, y_test)
  • 2022-07-15 镜像名称 内核版本 更新内容 Huawei Cloud EulerOS 2.0 标准版 64位 ARM版 5.10.0-60.18.0.50.h322_1.hce2.x86_64 第一次正式发布 发布区域:所有区域 Huawei Cloud EulerOS 2.0 标准版 64位 5.10.0-60.18.0.50.h322_1.hce2.x86_64 第一次正式发布 发布区域:所有区域 Huawei Cloud EulerOS 1.1 CentOS兼容版 64位 3.10.0-1160.66.1.hce1c.x86_64 5.10.0-60.18.0.50.h322_1.hce2.x86_64(默认内核) 第一次正式发布 发布区域:新加坡
  • 2022-09-30 镜像版本 内核版本 更新内容 Huawei Cloud EulerOS 2.0等保2.0三级版 64位 5.10.0-60.18.0.50.h322_1.hce2.x86_64 第一次正式发布 该镜像是根据《GB/T22239-2019信息安全技术网络安全等级保护基本要求》进行等保加固的镜像,您使用本镜像无需额外配置即可满足以下等保合规要求: 身份鉴别 访问控制 安全审计 入侵防范 恶意代码防范 更多信息,请参见Huawei Cloud EulerOS 2.0等保2.0三级版镜像概述。 发布区域:所有区域 Huawei Cloud EulerOS 2.0 标准版 64位 ARM版 5.10.0-60.18.0.50.r509_2.hce2.x86_64 第一次正式发布。 发布区域:所有区域 Huawei Cloud EulerOS 2.0等保2.0三级版 64位 ARM版 5.10.0-60.18.0.50.h322_1.hce2.x86_64 第一次正式发布 发布区域:所有区域
共100000条