云服务器内容精选

  • 基本概念 账号 用户注册时的账号,账号对其所拥有的资源及云服务具有完全的访问权限,可以重置用户密码、分配用户权限等。由于账号是付费主体,为了确保账号安全,建议您不要直接使用账号进行日常管理工作,而是创建用户并使用创建的用户进行日常管理工作。 用户 由账号在 IAM 中创建的用户,是云服务的使用人员,具有身份凭证(密码和访问密钥)。 通常在调用API的鉴权过程中,您需要用到账号、用户和密码等信息。 区域(Region) 从地理位置和网络时延维度划分,同一个Region内共享弹性计算、块存储、对象存储、VPC网络、弹性公网IP、镜像等公共服务。Region分为通用Region和专属Region,通用Region指面向公共租户提供通用云服务的Region;专属Region指只承载同一类业务或只面向特定租户提供业务服务的专用Region。 详情请参见区域和可用区。 可用区(AZ,Availability Zone) 一个AZ是一个或多个物理数据中心的集合,有独立的风火水电,AZ内逻辑上再将计算、网络、存储等资源划分成多个集群。一个Region中的多个AZ间通过高速光纤相连,以满足用户跨AZ构建高可用性系统的需求。 项目 区域默认对应一个项目,这个项目由系统预置,用来隔离物理区域间的资源(计算资源、存储资源和网络资源),以默认项目为单位进行授权,用户可以访问您账号中该区域的所有资源。如果您希望进行更加精细的权限控制,可以在区域默认的项目中创建子项目,并在子项目中创建资源,然后以子项目为单位进行授权,使得用户仅能访问特定子项目中资源,使得资源的权限控制更加精确。 图1 项目隔离模型
  • 概述 欢迎使用数据库安全服务(Database Security Service,DBSS)。数据库安全服务是一个智能的数据库安全服务,基于大数据分析技术,提供数据库审计,SQL注入攻击检测,风险操作识别等功能,保障云上数据库的安全。 您可以使用本文档提供的API对实例、规则进行相关操作,如创建、查询、删除等。支持的全部操作请参见API。 在调用数据库安全服务API之前,请确保已经充分了解数据库安全服务相关概念,详细信息请参见产品介绍。
  • 响应参数 状态码: 200 表8 响应Body参数 参数 参数类型 描述 description String 描述 code String 返回码 order_id String 订单ID 状态码: 400 表9 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表10 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码。 error_msg String 错误请求返回的错误信息。 状态码: 403 表11 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表12 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码。 error_msg String 错误请求返回的错误信息。 状态码: 500 表13 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表14 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码。 error_msg String 错误请求返回的错误信息。
  • 请求示例 /v2/{project_id}/dbss/audit/charge/period/order { "flavor_ref" : "st6.xlarge.4", "name" : "DBSS-acc3", "vpc_id" : "4c035747-f77b-4c6d-b23b-cb3a2b96c7e6", "availability_zone" : "xx-xx", "comment" : "", "region" : "xx-xx", "nics" : [ { "subnet_id" : "6201dcf2-1374-43ec-ae8b-78b4081572d3" } ], "security_groups" : [ { "id" : "04088976-9c63-4e6b-9070-84e6a30c782b" } ], "cloud_service_type" : "hws.service.type.dbss", "charging_mode" : 0, "period_type" : 2, "period_num" : 1, "subscription_num" : 1, "is_auto_renew" : 0, "product_infos" : [ { "product_id" : "00301-xxxxxxx-0--0", "cloud_service_type" : "hws.service.type.dbss", "resource_type" : "hws.resource.type.dbss", "resource_spec_code" : "dbss.bypassaudit.low", "product_spec_desc" : "{\"specDesc\":{\"zh-cn\":{},\"en-us\":{\"instance Name\":\"DBSS-test\",\"VPC\":\"default_vpc\",\"Subnet\":\"subnet-af32\"}}}" } ], "promotion_info" : "", "enterprise_project_id" : "0", "tags" : [ { "key" : "key_test", "value" : "1" } ] }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用IAM服务查询用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 name 是 String 实例名称。取值范围: 只能由中文字符、英文字母、数字、下划线、中划线组成,且长度小于等于64个字符。 flavor_ref 是 String 云服务器使用的规格ID vpc_id 是 String 虚拟私有云的ID availability_zone 是 String 云服务器对应可用分区信息。(两个主备分区,中间用“,”分割,例如az1.dc1,az2.dc2)。 enterprise_project_id 否 String 企业项目ID。对接EPS必输。 nics 是 Array of nics objects 云服务器对应的网卡信息 security_groups 是 Array of security_groups objects 云服务器对应安全组信息 comment 否 String 备注信息 region 是 String 云服务器所在区域ID cloud_service_type 是 String 服务类型: hws.service.type.dbss charging_mode 是 Integer 计费模式: 0: 包周期计费 1: 按需计费 period_type 是 Integer -订购周期类型 0: 天 1:周 2:月 3:年 4: 小时 5: 绝对时间 period_num 是 Integer 订购周期数 subscription_num 是 Integer 订购数量: DBSS只支持订购1套,不支持多套 product_infos 是 Array of product_infos objects 产品信息列表 tags 否 Array of KeyValueBean objects 资源标签 promotion_info 否 String 折扣信息 is_auto_renew 否 Integer 自动续费 1: 自动续费 0: 不自动续费 表4 nics 参数 是否必选 参数类型 描述 subnet_id 是 String 网卡对应的子网ID ip_address 否 String IP地址,不填或空字符串为自动分配 表5 security_groups 参数 是否必选 参数类型 描述 id 是 String 云服务器对应的安全组ID,会对创建云服务器中配置的网卡生效 表6 product_infos 参数 是否必选 参数类型 描述 product_id 是 String 产品ID cloud_service_type 是 String 服务类型: hws.service.type.dbss resource_type 是 String 资源类型: hws.resource.type.dbss resource_spec_code 是 String 资源规格:- dbss.bypassaudit.low- dbss.bypassaudit.medium- dbss.bypassaudit.high product_spec_desc 否 String 产品规格的中英文描述,规格包含:主机名称、规格、虚拟私有云、子网。json字符串格式 :{"specDesc":{"zh-cn":{"主机名称":"value1","规格":"value2","虚拟私有云":"value3","子网":"value4"},"en-us":{"Instance Name":"value1","Edition":"value2","VPC":"value3","Subnet":"value4"}}} 表7 KeyValueBean 参数 是否必选 参数类型 描述 key 是 String 键 value 否 String 值
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 azs Array of AzInfo objects 可用区集合 表4 AzInfo 参数 参数类型 描述 zone_name String 可用区名称 zone_number Integer 可用区编号 az_type String 可用区类型 alias String 可用区中文别名 alias_us String 可用区英文别名 状态码: 400 表5 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表6 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码。 error_msg String 错误请求返回的错误信息。 状态码: 403 表7 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表8 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码。 error_msg String 错误请求返回的错误信息。 状态码: 500 表9 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表10 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码。 error_msg String 错误请求返回的错误信息。
  • 响应示例 状态码: 200 成功 { "azs" : [ { "zone_name" : "xx-xx", "zone_number" : 2, "az_type" : "normal", "alias" : "可用区2", "alias_us" : "AZ2" }, { "zone_name" : "xx-xx", "zone_number" : 1, "az_type" : "normal", "alias" : "可用区1", "alias_us" : "AZ1" }, { "zone_name" : "xx-xx", "zone_number" : 3, "az_type" : "normal", "alias" : "可用区3", "alias_us" : "AZ3" } ] } 状态码: 400 客户端错误 { "error" : { "error_code" : "DBSS.XXXX", "error_msg" : "XXX" } }
  • 响应示例 状态码: 200 成功 { "illegal_db_id" : [ ], "legal_db_id" : [ "123751d3ee2f47aea64822e98318c6a8in01", "2343f7285d684fed8b09fac201c3fc7ain01" ] } 状态码: 400 失败 { "error" : { "error_code" : "DBSS.XXXX", "error_msg" : "XXX" } }
  • 请求示例 /v1/{project_id}/{instance_id}/dbss/audit/databases/rds { "databases" : [ { "id" : "123751d3ee2f47aea64822e98318c6a8in01", "db_name" : "rds1", "status" : "ACTIVE", "port" : "3306", "ip" : "192.168.0.119", "instance_name" : "rds1", "version" : "8.0", "type" : "MySQL", "enterprise_id" : "0", "enterprise_name" : "default" }, { "id" : "2343f7285d684fed8b09fac201c3fc7ain01", "db_name" : "rds2", "status" : "ACTIVE", "port" : "3306", "ip" : "192.168.0.92", "instance_name" : "rds2", "version" : "8.0", "type" : "MySQL", "enterprise_id" : "0", "enterprise_name" : "default" } ] }
  • Python 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 # coding: utf-8 from huaweicloudsdkcore.auth.credentials import BasicCredentials from huaweicloudsdkdbss.v1.region.dbss_region import DbssRegion from huaweicloudsdkcore.exceptions import exceptions from huaweicloudsdkdbss.v1 import * if __name__ == "__main__": # The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. # In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak = os.getenv("CLOUD_SDK_AK") sk = os.getenv("CLOUD_SDK_SK") credentials = BasicCredentials(ak, sk) \ client = DbssClient.new_builder() \ .with_credentials(credentials) \ .with_region(DbssRegion.value_of("xx-xx")) \ .build() try: request = AddRdsNoAgentDatabaseRequest() listDatabasesbody = [ RdsNoAgentDbRequestDatabases( id="123751d3ee2f47aea64822e98318c6a8in01", db_name="rds1", status="ACTIVE", port="3306", ip="192.168.0.119", instance_name="rds1", version="8.0", type="MySQL", enterprise_id="0", enterprise_name="default" ), RdsNoAgentDbRequestDatabases( id="2343f7285d684fed8b09fac201c3fc7ain01", db_name="rds2", status="ACTIVE", port="3306", ip="192.168.0.92", instance_name="rds2", version="8.0", type="MySQL", enterprise_id="0", enterprise_name="default" ) ] request.body = RdsNoAgentDbRequest( databases=listDatabasesbody ) response = client.add_rds_no_agent_database(request) print(response) except exceptions.ClientRequestException as e: print(e.status_code) print(e.request_id) print(e.error_code) print(e.error_msg)
  • Go 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 61 62 63 64 65 66 package main import ( "fmt" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic" dbss "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dbss/v1" "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dbss/v1/model" region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dbss/v1/region" ) func main() { // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak := os.Getenv("CLOUD_SDK_AK") sk := os.Getenv("CLOUD_SDK_SK") auth := basic.NewCredentialsBuilder(). WithAk(ak). WithSk(sk). Build() client := dbss.NewDbssClient( dbss.DbssClientBuilder(). WithRegion(region.ValueOf("xx-xx")). WithCredential(auth). Build()) request := &model.AddRdsNoAgentDatabaseRequest{} enterpriseNameDatabases:= "default" enterpriseNameDatabases1:= "default" var listDatabasesbody = []model.RdsNoAgentDbRequestDatabases{ { Id: "123751d3ee2f47aea64822e98318c6a8in01", DbName: "rds1", Status: "ACTIVE", Port: "3306", Ip: "192.168.0.119", InstanceName: "rds1", Version: "8.0", Type: "MySQL", EnterpriseId: "0", EnterpriseName: &enterpriseNameDatabases, }, { Id: "2343f7285d684fed8b09fac201c3fc7ain01", DbName: "rds2", Status: "ACTIVE", Port: "3306", Ip: "192.168.0.92", InstanceName: "rds2", Version: "8.0", Type: "MySQL", EnterpriseId: "0", EnterpriseName: &enterpriseNameDatabases1, }, } request.Body = &model.RdsNoAgentDbRequest{ Databases: listDatabasesbody, } response, err := client.AddRdsNoAgentDatabase(request) if err == nil { fmt.Printf("%+v\n", response) } else { fmt.Println(err) } }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token 表3 请求Body参数 参数 是否必选 参数类型 描述 databases 是 Array of databases objects 添加数据库信息列表 total_count 否 Integer 总数 表4 databases 参数 是否必选 参数类型 描述 id 是 String 数据库ID db_name 是 String 数据库名称 status 是 String 数据库状态 port 是 String 数据库端口 ip 是 String 数据库IP instance_name 是 String 数据库实例名称 version 是 String 数据库版本 type 是 String 数据库类型 enterprise_id 是 String 企业项目ID enterprise_name 否 String 企业项目名称
  • 响应参数 状态码: 200 表5 响应Body参数 参数 参数类型 描述 illegal_db_id Array of strings 添加失败的数据库实例id legal_db_id Array of strings 添加成功的数据库实例id 状态码: 400 表6 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表7 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码。 error_msg String 错误请求返回的错误信息。 状态码: 403 表8 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表9 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码。 error_msg String 错误请求返回的错误信息。 状态码: 500 表10 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表11 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码。 error_msg String 错误请求返回的错误信息。
  • URI DELETE /v1/{project_id}/instances/{instance_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户在某一region下的project ID。 获取方法请参见获取项目ID。 instance_id 是 String DDM实例ID。 表2 Query参数 参数 是否必选 参数类型 描述 delete_rds_data 否 String 是否同时删除关联后端数据库实例上存储的数据。 取值为空或“true”:删除。 取值为“false”:不删除。 默认值为空。 枚举值: true false
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 id String DDM实例ID。 状态码: 400 表5 响应Body参数 参数 参数类型 描述 errCode String 业务错误码。 externalMessage String 错误信息。 状态码: 500 表6 响应Body参数 参数 参数类型 描述 errCode String 业务错误码。 externalMessage String 错误信息。