华为云用户手册

  • 消费消息 执行如下命令消费消息。 ./kafka-console-consumer.sh --bootstrap-server ${连接地址} --topic ${Topic名称} --group ${消费组名称} --from-beginning --consumer.config ../config/consumer.properties 参数说明如下: 连接地址:从前提条件获取的连接地址。 Topic名称:Kafka实例下创建的Topic名称。 消费组名称:根据您的业务需求,设定消费组名称。如果已经在配置文件中指定了消费组名称,请确保命令行中的消费组名称与配置文件中的相同,否则可能消费失败。消费组名称开头包含特殊字符,例如#号“#”时,监控数据无法展示。 示例如下: [root@ecs-kafka bin]# ./kafka-console-consumer.sh --bootstrap-server 10.xxx.xxx.202:9095,10.xxx.xxx.197:9095,10.xxx.xxx.68:9095 --topic topic-demo --group order-test --from-beginning --consumer.config ../config/consumer.propertiesHelloKafka!DMS^CProcessed a total of 3 messages[root@ecs-kafka bin]# 如需停止消费使用Ctrl+C命令退出。
  • 前提条件 已配置正确的安全组,安全组规则请参考表1。 已获取连接Kafka实例的地址。 如果是使用内网通过同一个VPC访问,实例端口为9093,实例连接地址获取如下图。 图1 使用内网通过同一个VPC访问Kafka实例的连接地址(实例已开启SASL) 如果是公网访问,实例端口为9095,实例连接地址获取如下图。 图2 公网访问Kafka实例的连接地址(实例已开启SASL) 已获取开启的SASL认证机制。 在Kafka实例详情页的“连接信息”区域,查看“开启的SASL认证机制”。如果SCRAM-SHA-512和PLAIN都开启了,根据实际情况选择其中任意一种配置连接。如果页面未显示“开启的SASL认证机制”,默认使用PLAIN机制。 图3 开启的SASL认证机制 已获取启用的安全协议。 在Kafka实例详情页的“连接信息”区域,查看“启用的安全协议”。如果页面未显示“启用的安全协议”,默认使用SASL_SSL协议。 如果Kafka实例未开启自动创建Topic功能,获取Topic名称。 在实例的Topic管理页签中获取(可选)步骤三:创建Topic中创建的Topic名称。 图4 查看Topic名称 已购买ECS,并完成JDK安装、环境变量配置以及Kafka开源客户端下载,具体操作请参考准备环境。
  • 操作步骤 登录分布式消息服务Kafka版控制台,选择Kafka实例所在的区域。 在Kafka实例名称后,单击,进入云监控该实例的监控指标页面。 在实例监控指标页面中,找到需要创建告警的指标项,鼠标移动到指标区域,然后单击指标右上角的,创建告警规则,跳转到创建告警规则页面。 在告警规则页面,设置告警信息。 创建告警规则操作,请查看创建告警规则。 设置告警名称和告警的描述。 设置告警策略和告警级别。 如下图所示,在进行指标监控时,如果连续3个周期,磁盘容量使用率原始值超过85%,则产生告警,如果未及时处理,则产生告警通知。 图1 设置告警策略和告警级别 设置“发送通知”开关。当开启时,设置告警生效时间、产生告警时通知的对象以及触发的条件。 单击“立即创建”,等待创建告警规则成功。
  • 操作流程 图1 Kafka使用流程 环境准备 Kafka实例运行于虚拟私有云中,在创建实例前需要确保有可用的虚拟私有云。 Kafka实例创建后,您需要在弹性云服务器中下载和安装Kafka开源客户端,然后才能进行生产消息和消费消息。 创建Kafka实例 在创建实例时,您可以选择是否开启SASL访问,开启后,数据加密传输,安全性更高。同时,SASL开关只能在创建实例时设置,实例创建成功后,不支持修改。 (可选)创建Topic Kafka实例创建成功后,如果没有开启“Kafka自动创建Topic”,需要手动创建Topic,然后才能进行生产消息和消费消息。 连接实例 针对实例是否开启SASL开关,在连接时是否需要下载证书,区分以下两种场景: 未开启SASL:包含内网访问和公网访问。 开启SASL:包含内网访问和公网访问。 配置告警 配置Kafka实例监控告警策略,监控实际业务运行状态。 关于Kafka的相关概念,请参考Kafka基本概念。
  • 操作步骤 登录分布式消息服务Kafka版控制台,单击页面右上方的“购买Kafka实例”。 选择计费模式。 在“区域”下拉列表中,选择靠近您应用程序的区域,可降低网络延时、提高访问速度。 在“项目”下拉列表中,选择项目。 在“可用区”区域,根据实际情况选择1个或者3个及以上可用区。 设置“实例名称”和“企业项目”。 设置实例信息。 规格类型:选择“默认”或者“规格测算”。 选择默认时,您需要根据实际情况选择Kafka实例的版本号、代理规格、代理数量和存储空间。 版本:Kafka的版本号,支持1.1.0、2.3.0和2.7,根据实际情况选择,推荐使用2.7。Kafka实例创建后,版本号不支持修改。 CPU架构:支持“x86计算”,保持默认值即可。 在“代理规格”中,请根据业务需求选择相应的代理规格。 单个代理最大分区数*代理个数=实例分区数上限。当所有Topic的总分区数大于实例分区数上限时,创建Topic失败。 在“代理数量”中,选择代理个数。 在“存储空间”区域,您根据实际需要选择存储Kafka数据的磁盘类型和总磁盘大小。Kafka实例创建后,磁盘类型不支持修改。 存储空间包含所有副本存储空间总和,建议根据业务消息体积以及副本数量选择存储空间大小。假设业务存储数据保留天数内磁盘大小为100GB,则磁盘容量最少为100GB*副本数 + 预留磁盘大小100GB。 创建实例时会进行磁盘格式化,磁盘格式化会导致实际可用磁盘为总磁盘的93%~95%。 实例规格为kafka.2u4g.cluster.small时,存储空间取值范围:300GB ~ 300000GB。 实例规格为kafka.2u4g.cluster时,存储空间取值范围:300GB ~ 300000GB。 实例规格为kafka.4u8g.cluster时,存储空间取值范围:300GB~600000GB。 实例规格为kafka.8u16g.cluster时,存储空间取值范围:300GB~1500000GB。 实例规格为kafka.12u24g.cluster时,存储空间取值范围:300GB~1500000GB。 实例规格为kafka.16u32g.cluster时,存储空间取值范围:300GB~1500000GB。 在“容量阈值策略”区域,设置磁盘使用达到容量阈值后的消息处理策略,容量阈值为95%。 自动删除:可以正常生产和消费消息,但是会删除最早的10%的消息,以保证磁盘容量充足。该场景优先保障业务不中断,数据存在丢失的风险。 生产受限:无法继续生产消息,但可以继续消费消息。该场景适用于对数据不能丢的业务场景,但是会导致生产业务失败。 图1 默认的规格类型 选择规格测算时,系统根据您输入的参数(生产流量峰值、消费流量、单个Topic副本数、总分区数和老化时间内的生产消息量),为您计算出不同规格所需的代理个数和代理存储空间,您根据实际情况选择。 图2 规格测算 设置实例网络环境信息。 在“虚拟私有云”下拉列表,选择已经创建好的虚拟私有云和子网。 虚拟私有云和子网在Kafka实例创建完成后,不支持修改。 在“安全组”下拉列表,可以选择已经创建好的安全组。 安全组是一组对Kafka实例的访问规则的集合。您可以单击右侧的“管理安全组”,跳转到网络控制台的“安全组”页面,查看或创建安全组。 设置实例购买时长。 当选择了“包年/包月”付费模式时,页面才显示“购买时长”参数,您需要根据业务需要选择。 单击“更多配置”,设置更多相关信息。 设置“公网访问”。 “公网访问”默认为关闭状态,根据业务需求选择是否开启。开启公网访问后,还需要为每个代理设置对应的IPv4弹性IP地址。 开启公网访问后,还可以选择是否开启VPC内网明文访问。如果开启了VPC内网明文访问,无论实例是否开启SASL_SSL,通过内网连接实例时,数据都将明文传输。创建实例后,VPC内网明文访问开关不支持修改,请慎重选择。如果创建后需要修改,需要重新创建实例。 图3 设置公网访问开关 VPC内网明文访问支持的区域如下:华北-北京四和华北-乌兰察布一。 选择是否开启Smart Connect。 Smart Connect用于异构系统间的数据同步,开启Smart Connect后,设置Smart Connect任务可以实现Kafka实例和其他云服务之间的数据同步,或者两个Kafka实例之间的数据同步。 设置“Kafka SASL_SSL”。 客户端连接Kafka实例时,是否开启SSL认证。开启Kafka SASL_SSL,则数据加密传输,安全性更高。 “Kafka SASL_SSL”默认为关闭状态,您可以选择是否开启。Kafka实例创建后,Kafka SASL_SSL开关不支持修改,请慎重选择。如果创建后需要修改,需要重新创建实例。 开启Kafka SASL_SSL后,需要选择Kafka安全协议。Kafka安全协议如下: SASL_SSL:采用SSL证书进行加密传输,支持帐号密码认证,安全性更高。支持SCRAM-SHA-512机制和PLAIN机制。 您可以选择是否开启“SASL PLAIN 机制”。未开启“SASL PLAIN 机制”时,使用SCRAM-SHA-512机制对帐号密码进行认证,开启“SASL PLAIN 机制”后,同时支持SCRAM-SHA-512机制和PLAIN机制,根据实际情况选择其中任意一种配置连接。Kafka实例创建后,SASL PLAIN机制开关不支持修改。 SASL_PLAINTEXT:数据通过明文传输,支持帐号密码认证,性能更好。由于明文传输,仅支持SCRAM-SHA-512机制,对帐号密码生成凭证进行校验。 什么是SCRAM-SHA-512机制和PLAIN机制? SCRAM-SHA-512机制:采用哈希算法对用户名与密码生成凭证,进行身份校验的安全认证机制,比PLAIN机制安全性更高。 PLAIN机制:一种简单的用户名密码校验机制。 开启Kafka SASL_SSL后,您需要设置连接Kafka实例的用户名和密码。 设置“Kafka自动创建Topic”。 “Kafka自动创建Topic”默认为关闭状态,您可以选择是否开启。 开启“Kafka自动创建Topic”表示生产或消费一个未创建的Topic时,系统会自动创建此Topic,此Topic的默认参数值如下:分区数为3,副本数为3,老化时间为72小时,不开启同步复制和同步落盘。 如果在“配置参数”中修改“log.retention.hours”、“default.replication.factor”或“num.partitions”的参数值,此后自动创建的Topic参数值为修改后的参数值。例如:“num.partitions”修改为“5”,自动创建的Topic参数值如下:分区数为5,副本数为3,老化时间为72小时,不开启同步复制和同步落盘。 设置“标签”。 标签用于标识云资源,当您拥有相同类型的许多云资源时,可以使用标签按各种维度(例如用途、所有者或环境)对云资源进行分类。 如果您已经预定义了标签,在“标签键”和“标签值”中选择已经定义的标签键值对。另外,您可以单击“查看预定义标签”,跳转到标签管理服务页面,查看已经预定义的标签,或者创建新的标签。 您也可以直接在“标签键”和“标签值”中设置标签。 当前每个Kafka实例最多支持设置20个不同标签,标签的命名规格,请参考管理标签。 部分区域不支持标签功能,请以控制台为准。 设置实例的描述信息。 填写完上述信息后,单击“立即购买”,进入规格确认页面。 确认实例信息无误后,提交请求。 单击“返回Kafka专享版”,查看Kafka实例是否创建成功。 创建实例大约需要3到15分钟,此时实例的“状态”为“创建中”。 当实例的“状态”变为“运行中”时,说明实例创建成功。 如果创建实例失败,在信息栏的“创建失败任务”中查看创建失败的实例。请删除创建失败的实例,然后重新创建。如果重新创建仍然失败,请联系客服。 创建失败的实例,不会占用其他资源。
  • 响应示例 状态码: 200 OK { "policies" : [ { "name" : "policy001", "associated_vaults" : [ ], "enabled" : true, "trigger" : { "properties" : { "pattern" : [ "FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR,SA,SU;BYHOUR=14;BYMINUTE=00" ], "start_time" : "2019-05-08 06:57:05" }, "type" : "time", "id" : "d67269a6-5369-42d7-8150-5254bd446328", "name" : "default" }, "operation_definition" : { "retention_duration_days" : 1, "year_backups" : 0, "day_backups" : 0, "month_backups" : 0, "week_backups" : 0, "timezone" : "UTC+08:00" }, "operation_type" : "backup", "id" : "cbb3ce6f-3332-4e7c-b98e-77290d8471ff" } ], "count" : 10}
  • 响应示例 状态码: 200 OK { "agent_status" : [ { "code" : null, "is_old" : null, "resource_id" : "6c0e29fc-5eaa-4f76-af9e-cc79895f70d7", "installed" : false, "version" : null, "message" : null } ]}
  • 响应示例 状态码: 200 OK { "instance" : { "status" : "ACTIVE", "children" : [ { "status" : "in-use", "name" : "volume-f926-0001", "detail" : { "attachments" : [ { "server_id" : "55ecd8b8-1457-4a2a-a9df-53756a690082", "attachment_id" : "3b32cb75-bd96-493b-8fb2-13f063c876d5", "volume_id" : "8d3d519f-d409-4be3-8a1f-9f7a5ecb7a99", "host_name" : null, "attached_at" : "2019-05-08T06:56:25.891730", "device" : "/dev/vdb", "id" : "8d3d519f-d409-4be3-8a1f-9f7a5ecb7a99" } ], "links" : [ { "href" : "https://volume.region1.com/v2/3aec9116a6a5487ca14987121d2818fe/volumes/8d3d519f-d409-4be3-8a1f-9f7a5ecb7a99", "rel" : "self" }, { "href" : "https://volume.region1.com/3aec9116a6a5487ca14987121d2818fe/volumes/8d3d519f-d409-4be3-8a1f-9f7a5ecb7a99", "rel" : "bookmark" } ], "availability_zone" : "AZ1", "os-vol-host-attr:host" : "AZ1.xxxxxx#FusionStorage", "encrypted" : false, "updated_at" : "2019-05-08T06:56:26.207240", "replication_status" : "disabled", "snapshot_id" : null, "id" : "8d3d519f-d409-4be3-8a1f-9f7a5ecb7a99", "size" : 10, "user_id" : "f3d66502790d4ddaadef5056059ed8f4", "os-vol-tenant-attr:tenant_id" : "3aec9116a6a5487ca14987121d2818fe", "os-vol-mig-status-attr:migstat" : null, "metadata" : { "policy" : "cf3274fc-d23e-4c12-8be7-1e41b3c2faea", "readonly" : "False", "attached_mode" : "rw" }, "status" : "in-use", "description" : null, "multiattach" : false, "source_volid" : null, "consistencygroup_id" : null, "os-vol-mig-status-attr:name_id" : null, "name" : "volume-f926-0001", "bootable" : "false", "created_at" : "2019-03-26T09:30:46.783578", "volume_type" : "SATA", "shareable" : false }, "children" : [ ], "type" : "OS::Cinder::Volume", "id" : "8d3d519f-d409-4be3-8a1f-9f7a5ecb7a99", "size" : 10 }, { "status" : "in-use", "name" : "no_delete_for_cbr_interface-volume-0000", "detail" : { "attachments" : [ { "server_id" : "55ecd8b8-1457-4a2a-a9df-53756a690082", "attachment_id" : "e16631fa-0522-4ac8-8f78-19db435caf68", "volume_id" : "13eb535f-8635-4faf-9f08-584d21e78f0a", "host_name" : null, "attached_at" : "2019-05-08T06:55:26.563986", "device" : "/dev/vda", "id" : "13eb535f-8635-4faf-9f08-584d21e78f0a" } ], "links" : [ { "href" : "https://volume.region1.com/v2/3aec9116a6a5487ca14987121d2818fe/volumes/13eb535f-8635-4faf-9f08-584d21e78f0a", "rel" : "self" }, { "href" : "https://volume.region1.com/3aec9116a6a5487ca14987121d2818fe/volumes/13eb535f-8635-4faf-9f08-584d21e78f0a", "rel" : "bookmark" } ], "availability_zone" : "AZ1", "os-vol-host-attr:host" : "AZ1.xxxxxx#kvm_fusionstorage", "encrypted" : false, "updated_at" : "2019-05-08T08:33:07.855484", "replication_status" : "disabled", "snapshot_id" : null, "id" : "13eb535f-8635-4faf-9f08-584d21e78f0a", "size" : 40, "user_id" : "3204777a731c4ebea330350c04f41b92", "os-vol-tenant-attr:tenant_id" : "3aec9116a6a5487ca14987121d2818fe", "os-vol-mig-status-attr:migstat" : null, "metadata" : { "policy" : "2ecbcffd-08ba-43f7-bf8d-95daba753464", "readonly" : "False", "attached_mode" : "rw" }, "status" : "in-use", "volume_image_metadata" : { "container_format" : "bare", "min_ram" : "0", "__account_code" : "", "__os_bit" : "64", "size" : "2", "__os_version" : "CentOS 7.2 64bit", "__backup_id" : "", "__description" : "", "__support_diskintensive" : "true", "disk_format" : "vhd", "__isregistered" : "true", "__image_size" : "3295645696", "__platform" : "CentOS", "__root_origin" : "file", "__originalimagename" : "703eb90a-a65f-4c72-b4c1-f070a55d068b", "__quick_start" : "true", "image_name" : "CentOS7.2-cloudinit", "image_id" : "703eb90a-a65f-4c72-b4c1-f070a55d068b", "__os_type" : "Linux", "__image_location" : "172.100.45.130:443:pcsimsf8bd00bf6c304d2e8cf4e2beb0aed702:703eb90a-a65f-4c72-b4c1-f070a55d068b", "min_disk" : "40", "__data_origin" : "file,jingxiang:CentOS-7.2-64bit.zvhd2", "__support_kvm" : "true", "virtual_env_type" : "FusionCompute", "__image_source_type" : "uds", "__support_xen" : "true", "checksum" : "99914b932bd37a50b983c5e7c90ae93b", "__imagetype" : "gold", "__productcode" : "" }, "description" : null, "multiattach" : false, "source_volid" : null, "consistencygroup_id" : null, "os-vol-mig-status-attr:name_id" : null, "name" : "no_delete_for_cbr_interface-volume-0000", "bootable" : "true", "created_at" : "2019-05-08T06:54:58.477749", "volume_type" : "SATA", "shareable" : false }, "children" : [ ], "type" : "OS::Cinder::Volume", "id" : "13eb535f-8635-4faf-9f08-584d21e78f0a", "size" : 40 } ], "protectable" : { "vault" : null, "reason" : "", "code" : "", "result" : true }, "name" : "no_delete_for_cbr_interface", "detail" : { "OS-EXT-STS:task_state" : null, "addresses" : { "94b88790-c906-4450-b7c2-1c2b1ea639bf" : [ { "OS-EXT-IPS-MAC:mac_addr" : "fa:16:3e:9b:9d:af", "version" : 4, "addr" : "192.168.1.44", "OS-EXT-IPS:type" : "fixed" }, { "OS-EXT-IPS-MAC:mac_addr" : "fa:16:3e:9b:9d:af", "version" : 4, "addr" : "100.78.0.199", "OS-EXT-IPS:type" : "floating" } ] }, "links" : [ { "href" : "https://compute.region1.com/v2.1/3aec9116a6a5487ca14987121d2818fe/servers/55ecd8b8-1457-4a2a-a9df-53756a690082", "rel" : "self" }, { "href" : "https://compute.region1.com/3aec9116a6a5487ca14987121d2818fe/servers/55ecd8b8-1457-4a2a-a9df-53756a690082", "rel" : "bookmark" } ], "image" : "", "OS-EXT-STS:vm_state" : "active", "OS-EXT-SRV-ATTR:instance_name" : "instance-0004456e", "OS-SRV-USG:launched_at" : "2019-05-08T06:55:38.000000", "flavor" : { "id" : "s3.small.1", "links" : [ { "href" : "https://compute.region1.com/3aec9116a6a5487ca14987121d2818fe/flavors/s3.small.1", "rel" : "bookmark" } ] }, "id" : "55ecd8b8-1457-4a2a-a9df-53756a690082", "security_groups" : [ { "name" : "default" } ], "user_id" : "f3d66502790d4ddaadef5056059ed8f4", "OS-DCF:diskConfig" : "MANUAL", "accessIPv4" : "", "accessIPv6" : "", "progress" : 0, "OS-EXT-STS:power_state" : 1, "OS-EXT-AZ:availability_zone" : "AZ1", "config_drive" : "", "status" : "ACTIVE", "updated" : "2019-05-08T06:57:02Z", "hostId" : "179f22cafe6b951921bd6deb3b13a978df620427fb37bbb7c619de98", "OS-EXT-SRV-ATTR:host" : "AZ1.xxxxxx", "OS-SRV-USG:terminated_at" : null, "key_name" : null, "OS-EXT-SRV-ATTR:hypervisor_hostname" : "nova003@36", "name" : "no_delete_for_cbr_interface", "created" : "2019-05-08T06:55:22Z", "tenant_id" : "3aec9116a6a5487ca14987121d2818fe", "os-extended-volumes:volumes_attached" : [ { "id" : "8d3d519f-d409-4be3-8a1f-9f7a5ecb7a99" }, { "id" : "13eb535f-8635-4faf-9f08-584d21e78f0a" } ], "metadata" : { "metering.image_id" : "703eb90a-a65f-4c72-b4c1-f070a55d068b", "metering.imagetype" : "gold", "metering.resourcespeccode" : "s3.small.1.linux", "metering.cloudServiceType" : "sys.service.type.ec2", "virtual_env_type" : "FusionCompute", "image_name" : "CentOS7.2-cloudinit", "metering.resourcetype" : "1", "vpc_id" : "94b88790-c906-4450-b7c2-1c2b1ea639bf", "os_bit" : "64", "cascaded.instance_extrainfo" : "", "os_type" : "Linux", "charging_mode" : "0" } }, "type" : "OS::Nova::Server", "id" : "55ecd8b8-1457-4a2a-a9df-53756a690082", "size" : 50 }}
  • 头域说明 表1 头域说明 协议头字段名 说明 Accept 能够接受的回应内容类型(Content-Types)。 Accept-Charset 能够接受的字符集。 Accept-Datetime 能够接受的按照时间来表示的版本。 Accept-Encoding 能够接受的编码方式列表。 Accept-Language 能够接受的回应内容的自然语言列表。 Authorization 用于超文本传输协议认证的认证信息。 Cache-Control 用来指定在这次的请求/响应链中的所有缓存机制都必须遵守的指令。 Connection 该浏览器想要优先使用的连接类型。 Content-Length 以八位字节数组(8位的字节)表示的请求体的长度。 Content-MD5 请求体的内容的二进制MD5散列值,以 Base64 编码的结果。 Content-Type 请求体的多媒体类型 (用于POST和PUT请求中)。 Cookie 之前由服务器通过 Set- Cookie 发送的一个超文本传输协议Cookie。 Date 发送该消息的日期和时间。 Expect 表明客户端要求服务器做出特定的行为。 From 发起此请求的用户的邮件地址。 Host 服务器的域名(用于虚拟主机 ),以及服务器所监听的传输控制协议端口号。如果所请求的端口是对应的服务的标准端口,则端口号可被省略。 自超文件传输协议版本1.1(HTTP/1.1)开始便是必需字段,在本服务中如果URL中填写的域名为IP地址会自动添加该字段,否则请将被测应用的IP与端口信息填写在该字段。 If-Match 仅当客户端提供的实体与服务器上对应的实体相匹配时,才进行对应的操作。主要作用是,用作像 PUT 这样的方法中,仅当从用户上次更新某个资源以来,该资源未被修改的情况下,才更新该资源。 If-Modified-Since 允许在对应的内容未被修改的情况下返回304未修改( 304 Not Modified )。 If-None-Match 允许在对应的内容未被修改的情况下返回304未修改( 304 Not Modified ),参考超文本传输协议的实体标记。 在典型用法中,当一个URL被请求,Web服务器会返回资源和其相应的ETag值,它会被放置在HTTP的“ETag”字段中,然后,客户端可以决定是否缓存这个资源和它的ETag。以后,如果客户端想再次请求相同的URL,将会发送一个包含已保存的ETag和“If-None-Match”字段的请求。 If-Range 如果该实体未被修改过,则向发送方发送其所缺少的那一个或多个部分;否则,发送整个新的实体。 If-Unmodified-Since 仅当该实体自某个特定时间以来未被修改的情况下,才发送回应。 Max-Forwards 限制该消息可被代理及网关转发的次数。 Origin 发起一个针对跨来源资源共享的请求(要求服务器在回应中加入一个‘访问控制-允许来源’('Access-Control-Allow-Origin')字段)。 Pragma 与具体的实现相关,这些字段可能在请求/回应链中的任何时候产生多种效果。 Proxy-Authorization 用来向代理进行认证的认证信息。 Range 仅请求某个实体的一部分。字节偏移以0开始。 Referer 表示浏览器所访问的前一个页面,正是那个页面上的某个链接将浏览器带到了当前所请求的这个页面。 TE 浏览器预期接受的传输编码方式:可使用回应协议头 Transfer-Encoding 字段中的值;另外还可用“trailers”(与“分块”传输方式相关)这个值来表明浏览器希望在最后一个尺寸为0的块之后还接收到一些额外的字段。 Upgrade 要求服务器升级到另一个协议。 User-Agent 浏览器的浏览器身份标识字符串。 Via 向服务器告知,这个请求是由哪些代理发出的。 Warning 一个一般性的警告,告知,在实体内容体中可能存在错误。 X-Wap-Profile 链接到互联网上的一个XML文件,其完整、仔细地描述了正在连接的设备。 X-Requested-With 主要用于标识Ajax及可扩展标记语言请求。大部分的JavaScript框架会发送这个字段,且将其值设置为XMLHttpRequest。 X-Http-Method-Override 请求某个网页应用程序使用该协议头字段中指定的方法(一般是PUT或DELETE)来覆盖掉在请求中所指定的方法(一般是POST)。当某个浏览器或防火墙阻止直接发送PUT 或DELETE 方法时(注意,这可能是因为软件中的某个漏洞,因而需要修复,也可能是因为某个配置选项就是如此要求的,因而不应当设法绕过),可使用这种方式。 X-Forwarded-Proto 一个事实标准,用于标识某个超文本传输协议请求最初所使用的协议。 X-Forwarded-Host 一个事实标准,用于识别客户端最初发出的Host请求头部。 X-Forwarded-For 一个事实标准,用于标识某个通过超文本传输协议代理或负载均衡连接到某个网页服务器的客户端的原始互联网地址。 X-Csrf-Token 用于防止跨站请求伪造 辅助用的头部有X-CSRFToken或X-XSRF-TOKEN X-ATT-DeviceId 使服务器更容易解读AT&T设备User-Agent字段中常见的设备型号、固件信息。 Proxy-Connection 该字段源于早期超文本传输协议版本实现中的错误。与标准的连接(Connection)字段的功能完全相同。 Front-End-Https 被微软的服务器和负载均衡器所使用的非标准头部字段。 DNT 请求某个网页应用程序停止跟踪某个用户。在火狐浏览器中,相当于X-Do-Not-Track协议头字段(自 Firefox/4.0 Beta 11 版开始支持)。Safari和Internet Explorer 9 也支持这个字段。 父主题: 参考知识
  • 设置全局变量(高性能测试工程) 全局变量用于构造数据集合,使测试数据更加丰富。在报文事务请求信息的报文内容中引用全局变量,执行压测任务过程会将报文内容中的变量值动态替换为指定的值。 全局变量适用于很多场景,例如需要用户名密码的业务,需要使用不同的用户名以及对应密码模拟多用户场景进行压测。 整型、枚举型和文本型全局变量添加 csv格式或者xlsx格式全局变量文件添加 变量读取规则 插入变量 父主题: PerfTest测试用例管理
  • 导入Swagger文件 登录PerfTest控制台,在左侧导航栏中选择“PerfTest测试工程”。 在待编辑PerfTest测试工程所在行,单击编辑事务库。 在“事务库”页签中,单击“导入脚本”。 “脚本类型”选择“Swagger文件”,单击“上传文件”,选择要上传的Swagger文件。 仅支持YAML、YML和JSON格式的Swagger文件。 设置完成后,单击“导入”。 父主题: 事务库管理
  • 调试可扩展测试用例 可扩展测试工程功能为白名单特性,需要联系后台管理人员开通后方可使用。 新增或修改用例后,可通过调试快速发现语法或配置错误,确保该模型在任务中可用。 登录PerfTest控制台,在左侧导航栏中选择“PerfTest测试工程”。 在待编辑PerfTest测试工程所在行,单击工程名称进入测试工程详情页面。 选择“测试用例”页签,在左侧“用例列表”下选择待调试的测试用例。 单击页面右上角的“调试”。 在调试页面中选择执行器后单击“确定”,启动调试,此时可以在调试页面看到调试进展。 共享资源组:无需创建即可使用,最大支持10000并发和100Mb带宽,支持外网地址压测。 私有资源组:本机创建的私有资源组。 调试完成后,如果调试结果报错,可根据异常信息,修改用例后重新调试。 单击“查看日志”查看测试用例调试的具体内容。 在“调试记录”页签,查看调试的历史操作记录。
  • 响应参数 状态码: 200 表6 响应Body参数 参数 参数类型 描述 resources Array of FilterTagResource objects 资源实例实例列表。 request_id String 请求ID。 最小长度:0 最大长度:36 total_count Integer 符合过滤条件的资源总数量。 最小值:0 最大值:2000 表7 FilterTagResource 参数 参数类型 描述 resource_id String 资源ID 最小长度:0 最大长度:36 resource_name String 资源名称 最小长度:0 最大长度:64 resource_detail String 资源详情 最小长度:0 最大长度:255 tags Array of Tag objects 资源下包含的标签 表8 Tag 参数 参数类型 描述 key String 键 最小长度:1 最大长度:128 value String 值 最小长度:0 最大长度:255
  • URI POST /v3/{domain_id}/ccaas/{resource_type}/resource-instances/action 表1 路径参数 参数 是否必选 参数类型 描述 domain_id 是 String 帐号ID。 最小长度:10 最大长度:32 resource_type 是 String 资源类型: cloud-connection: 云连接 bandwidth-package: 带宽包
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 否 String 用户Token 最小长度:0 最大长度:102400 表3 请求Body参数 参数 是否必选 参数类型 描述 action 否 String 动作。|- filter:过滤。 count:查询总条数。 limit 否 Integer 查询结果数量限制 最小值:1 最大值:1000 offset 否 Integer 查询结果偏移 最小值:0 最大值:999 tags 否 Array of AggTag objects 是否包含以下tag(多个key取"与"关系,多个value取"或"关系) matches 否 Array of Tag objects 是否匹配以下tag,key必须为"resource_name",value如果有值则模糊匹配,如果为空字符串则精确匹配 表4 AggTag 参数 是否必选 参数类型 描述 key 否 String 键 最小长度:1 最大长度:128 values 否 Array of strings 相同键的值列表 最小长度:0 最大长度:255 表5 Tag 参数 是否必选 参数类型 描述 key 否 String 键 最小长度:1 最大长度:128 value 否 String 值 最小长度:0 最大长度:255
  • 请求示例 根据指定筛选条件查询资源例详情 POST https://{cc_endpoint}/v3/{domain_id}/ccaas/{resource_type}/resource-instances/action{ "offset" : "0", "limit" : "100", "action" : "filter", "matches" : [ { "key" : "resource_name", "value" : "resource1" } ], "tags" : [ { "key" : "key1", "values" : [ "value1", "value2" ] } ]} 根据指定筛选条件查询资源实例数量 POST https://{cc_endpoint}/v3/{domain_id}/ccaas/cloud-connection/resource-instances/action{ "action" : "count", "tags" : [ { "key" : "key1", "values" : [ "value1", "value2" ] }, { "key" : "key2", "values" : [ "value1", "value2" ] } ], "matches" : [ { "key" : "resource_name", "value" : "resource1" } ]}
  • 响应示例 状态码: 200 查询资源实例成功 { "resources" : [ { "resource_detail" : null, "resource_id" : "cdfs_cefs_wesas_12_dsad", "resource_name" : "resouece1", "tags" : [ { "key" : "key1", "value" : "value1" }, { "key" : "key2", "value" : "value1" } ] } ], "request_id" : "XXX", "total_count" : 1000}
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 cloud_connection_route CloudConnectionRoute object 云连接路由实例。 request_id String 请求ID。 最小长度:0 最大长度:36 表4 CloudConnectionRoute 参数 参数类型 描述 id String 云连接实例路由的ID。 最小长度:0 最大长度:36 cloud_connection_id String 云连接实例的ID。 最小长度:0 最大长度:36 domain_id String 帐号ID。 最小长度:10 最大长度:32 project_id String 网络实例的项目ID。 最小长度:0 最大长度:36 instance_id String 路由条目下一跳指向的网络实例的ID。 最小长度:0 最大长度:36 type String 路由条目下一跳指向的网络实例的类型。 VPC:虚拟私有云。 VGW:虚拟网关。 最小长度:2 最大长度:3 region_id String Region的ID。 最小长度:0 最大长度:36 destination String 目的地址。 最小长度:0 最大长度:36
  • 响应示例 状态码: 200 查询云连接路由条目详情成功。 { "request_id" : "844d75196c487081d2a32187ea9d3757", "cloud_connection_route" : { "id" : "XXX", "cloud_connection_id" : "XXX", "domain_id" : "XXX", "project_id" : "XXX", "instance_id" : "XXX", "type" : "vpc", "region_id" : "br-iaas-odin1", "destination" : "192.168.1.0/24" }}
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 network_instance NetworkInstance object 网络实例。 request_id String 请求ID。 最小长度:0 最大长度:36 表4 NetworkInstance 参数 参数类型 描述 id String 网络实例的ID。 最小长度:0 最大长度:36 name String 网络实例的名字。 最小长度:0 最大长度:64 description String 网络实例的描述。 最小长度:0 最大长度:85 domain_id String 帐号ID。 最小长度:10 最大长度:32 status String 网络实例的状态。 ACTIVE:处理成功。 PENDING:处理中。 ERROR:处理失败。 最小长度:0 最大长度:36 created_at String 网络实例的创建时间。 UTC时间格式,yyyy-MM-ddTHH:mm:ss updated_at String 网络实例的更新时间。 UTC时间格式,yyyy-MM-ddTHH:mm:ss type String 网络实例的类型。 vpc:虚拟私有云。 vgw:虚拟网关。 最小长度:0 最大长度:36 cloud_connection_id String 云连接实例ID。 最小长度:0 最大长度:36 instance_id String 网络实例的ID。 最小长度:0 最大长度:36 instance_domain_id String 网络实例所属账户ID。 最小长度:0 最大长度:36 region_id String 网络实例所在Region的ID。 最小长度:0 最大长度:36 project_id String 网络实例所在租户的项目ID。 最小长度:0 最大长度:36 cidrs Array of strings 网络实例发布的网段路由列表。 最小长度:0 最大长度:64
  • 响应示例 状态码: 200 查询网络实例详情成功。 { "request_id" : "b961d5fcda6b993b5b750f1b96e484e0", "network_instance" : { "id" : "XXX", "name" : "", "description" : "", "domain_id" : "XXX", "created_at" : "2022-06-24T09:33:15Z", "updated_at" : "2022-06-24T09:33:16Z", "project_id" : "XXX", "instance_domain_id" : "", "cloud_connection_id" : "XXX", "region_id" : "br-iaas-odin1", "type" : "vpc", "instance_id" : "XXX", "cidrs" : [ "192.168.1.0/24" ], "status" : "ACTIVE" }}
  • 响应示例 状态码: 200 查询云连接实例详情成功。 { "cloud_connection" : { "status" : "ACTIVE", "id" : "XXX", "name" : "test", "description" : "", "domain_id" : "XXX", "created_at" : "2022-06-24T08:28:28Z", "updated_at" : "2022-06-24T08:28:28Z", "admin_state_up" : true, "used_scene" : "vpc", "enterprise_project_id" : "0", "network_instance_number" : 0, "bandwidth_package_number" : 0, "inter_region_bandwidth_number" : 0 }, "request_id" : "c4a34234aa46915cb04531216c1cc379"}
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 cloud_connection CloudConnection object 云连接实例。 request_id String 请求ID。 最小长度:0 最大长度:36 表4 CloudConnection 参数 参数类型 描述 id String 云连接实例的ID。 最小长度:0 最大长度:36 name String 云连接实例的名字。 最小长度:1 最大长度:64 description String 云连接实例的描述。 最小长度:0 最大长度:255 domain_id String 帐号ID。 最小长度:10 最大长度:32 enterprise_project_id String 云连接实例的企业项目ID。 缺省值:0 最小长度:0 最大长度:36 status String 云连接实例的状态。ACTIVE:表示状态可用。 最小长度:0 最大长度:36 admin_state_up Boolean 云连接实例的管理状态。 created_at String 云连接实例的创建时间。UTC时间格式,yyyy-MM-ddTHH:mm:ss updated_at String 云连接实例的更新时间。UTC时间格式,yyyy-MM-ddTHH:mm:ss used_scene String 云连接使用场景。 VPC:虚拟私有云。 缺省值:vpc 最小长度:0 最大长度:36 tags Array of Tag objects 标签列表。 network_instance_number Integer 云连接实例关联网络实例的个数。 最小值:0 最大值:10000 bandwidth_package_number Integer 云连接实例关联带宽包的个数。 最小值:0 最大值:10000 inter_region_bandwidth_number Integer 云连接实例关联域间带宽的个数。 最小值:0 最大值:10000 表5 Tag 参数 参数类型 描述 key String 键 最小长度:1 最大长度:128 value String 值 最小长度:0 最大长度:255
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 bandwidth_package BandwidthPackage object 带宽包实例。 request_id String 请求ID。 最小长度:0 最大长度:36 表4 BandwidthPackage 参数 参数类型 描述 id String 带宽包实例的ID。 最小长度:0 最大长度:36 name String 带宽包实例的名字。 最小长度:1 最大长度:64 description String 带宽包实例的描述。 最小长度:0 最大长度:85 domain_id String 帐号ID。 最小长度:0 最大长度:36 enterprise_project_id String 带宽包实例的企业项目ID。 缺省值:0 最小长度:0 最大长度:36 status String 带宽包实例的状态。ACTIVE表示状态 最小长度:0 最大长度:36 created_at String 带宽包实例的创建时间。 updated_at String 带宽包实例的更新时间。 admin_state_up Boolean 带宽包实例的管理状态。 order_id String 带宽包实例的订单ID。 最小长度:0 最大长度:32 product_id String 带宽包实例的产品ID。 最小长度:0 最大长度:36 spec_code String 带宽包实例的规格编码。 bandwidth.aftoela:大陆站+国际站南非-拉美东 bandwidth.aftonla:大陆站+国际站南非-拉美北 bandwidth.aftowla:大陆站+国际站南非-拉美西 bandwidth.aptoaf:国际站亚太-南非 bandwidth.aptoap:国际站亚太-亚太 bandwidth.aptoela:大陆站+国际站亚太-拉美东 bandwidth.aptonla:大陆站+国际站亚太-拉美北 bandwidth.aptowla:大陆站+国际站亚太-拉美西 bandwidth.cmtoaf:国际站中国大陆-南非 bandwidth.cmtoap:国际站中国大陆-亚太 bandwidth.cmtocm:国际站中国大陆-中国大陆 bandwidth.cmtoela:大陆站+国际站中国大陆-拉美东 bandwidth.cmtonla:大陆站+国际站中国大陆-拉美北 bandwidth.cmtowla:大陆站+国际站中国大陆-拉美西 bandwidth.elatoela:大陆站+国际站拉美东-拉美东 bandwidth.elatonla:大陆站+国际站拉美东-拉美北 bandwidth.wlatoela:大陆站+国际站拉美西-拉美东 bandwidth.wlatonla:大陆站+国际站拉美西-拉美北 bandwidth.wlatowla:大陆站+国际站拉美西-拉美西 最小长度:0 最大长度:32 billing_mode String 带宽包实例在大陆站或国际站的计费方式。 1:大陆站包周期 2:国际站包周期 3:大陆站按需计费 4:国际站按需计费 5:大陆站按95方式计费 6:国际站按95方式计费 charge_mode String 带宽包实例的计费方式。 bandwidth是按带宽计费。 最小长度:0 最大长度:64 bandwidth Integer 带宽包实例中的带宽值。 最小值:2 最大值:999999 resource_id String 带宽包实例绑定的资源ID。 最小长度:0 最大长度:36 resource_type String 带宽包实例绑定的资源类型。 cloud_connection: 云连接实例。 最小长度:0 最大长度:32 local_area_id String 本端大区。 云连接支持的大区有: | Chinese-Mainland | 中国大陆 | | Asia-Pacific | 亚太 | | Africa | 非洲 | | Western-Latin-America | 拉美西 | | Eastern-Latin-America | 拉美东 | | Northern-Latin-America | 拉美北 | 最小长度:0 最大长度:32 remote_area_id String 远端大区。 云连接支持的大区有: | Chinese-Mainland | 中国大陆 | | Asia-Pacific | 亚太 | | Africa | 非洲 | | Western-Latin-America | 拉美西 | | Eastern-Latin-America | 拉美东 | | Northern-Latin-America | 拉美北 | 最小长度:0 最大长度:32 project_id String 项目ID。 最小长度:0 最大长度:36 interflow_mode String 互通类型: Area: 大区互通 Region: 城域互通 最小长度:0 最大长度:32 tags Array of Tag objects 标签列表。 表5 Tag 参数 参数类型 描述 key String 键 最小长度:1 最大长度:128 value String 值 最小长度:0 最大长度:255
  • 响应示例 状态码: 200 查询带宽包实例详情成功。 { "bandwidth_package" : { "bandwidth" : 5, "status" : "ACTIVE", "id" : "XXX", "name" : "test_bwp_name", "description" : "", "domain_id" : "XXX", "created_at" : "2022-12-06T01:37:15Z", "updated_at" : "2022-12-08T07:41:42Z", "project_id" : "XXX", "resource_type" : "", "resource_id" : "", "local_area_id" : "Chinese-Mainland", "remote_area_id" : "Chinese-Mainland", "admin_state_up" : true, "charge_mode" : "bandwidth", "billing_mode" : "3", "spec_code" : "bandwidth.cmtocm", "order_id" : "", "product_id" : "", "enterprise_project_id" : "0", "tags" : [ ], "interflow_mode" : "Area" }, "request_id" : "39421c95a1d4308d964180f5d51d2f3c"}
  • 响应示例 状态码: 200 查询域间带宽实例详情成功。 { "request_id" : "fd403735e22a5213845afbf69425a976", "inter_region_bandwidth" : { "id" : "XXX", "name" : "", "description" : "", "domain_id" : "XXX", "created_at" : "2022-12-08T11:41:53Z", "updated_at" : "2022-12-08T11:41:53Z", "bandwidth_package_id" : "XXX", "cloud_connection_id" : "XXX", "bandwidth" : 5, "inter_regions" : [ { "id" : "XXX", "project_id" : "", "local_region_id" : "region_a", "remote_region_id" : "region_b" }, { "id" : "XXX", "project_id" : "", "local_region_id" : "region_b", "remote_region_id" : "region_a" } ] }}
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 inter_region_bandwidth InterRegionBandwidth object 域间带宽实例。 request_id String 请求ID。 最小长度:0 最大长度:36 表4 InterRegionBandwidth 参数 参数类型 描述 id String 域间带宽实例的ID。 最小长度:0 最大长度:36 name String 域间带宽实例的名字。 最小长度:0 最大长度:64 description String 域间带宽实例的描述。 最小长度:0 最大长度:85 domain_id String 帐号ID。 最小长度:0 最大长度:36 bandwidth_package_id String 带宽包实例的ID。 最小长度:0 最大长度:36 created_at String 域间带宽实例的创建时间。 updated_at String 域间带宽实例的更新时间。 cloud_connection_id String 云连接实例的ID。 最小长度:0 最大长度:36 inter_regions Array of InterRegion objects 域间实例信息。 bandwidth Integer 域间带宽的值。 最小值:1 最大值:999999 表5 InterRegion 参数 参数类型 描述 id String 域间实例的ID。 最小长度:0 最大长度:36 project_id String 域间实例本段的项目ID。 最小长度:0 最大长度:36 local_region_id String 域间实例本段的RegionID。 最小长度:0 最大长度:36 remote_region_id String 域间实例对段的RegionID。 最小长度:0 最大长度:36
  • 响应示例 状态码: 200 更新授权实例成功。 { "request_id" : "7ef7cd8fc2d5140da1cd59eb2dd25a57", "authorisation" : { "id" : "XXX", "name" : "", "description" : "update_test_cc_authorisation_description", "domain_id" : "XXX", "created_at" : "2022-12-03T08:03:51Z", "updated_at" : "2022-12-03T08:07:07Z", "project_id" : "XXX", "region_id" : "region_id", "instance_type" : "vpc", "instance_id" : "XXX", "cloud_connection_domain_id" : "XXX", "cloud_connection_id" : "XXX", "status" : "authorized" }}
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 最小长度:0 最大长度:102400 表3 请求Body参数 参数 是否必选 参数类型 描述 authorisation 是 UpdateAuthorisation object 更新授权的详细信息。 表4 UpdateAuthorisation 参数 是否必选 参数类型 描述 name 否 String 授权的名称。 最小长度:0 最大长度:64 description 否 String 授权的描述信息。 最小长度:0 最大长度:85
  • 响应参数 状态码: 200 表5 响应Body参数 参数 参数类型 描述 authorisation Authorisation object 授权 request_id String 请求ID。 最小长度:0 最大长度:36 表6 Authorisation 参数 参数类型 描述 id String 授权的ID。 最小长度:0 最大长度:36 name String 授权的名称。 最小长度:0 最大长度:64 description String 授权的描述信息。 最小长度:0 最大长度:255 status String 授权的状态。 最小长度:0 最大长度:255 created_at String 创建授权的时间。 updated_at String 更新授权的时间。 domain_id String 授权者的账户ID。 最小长度:0 最大长度:36 instance_id String 授权实例的ID。 最小长度:0 最大长度:36 instance_type String 授权实例的类型。 最小长度:0 最大长度:255 region_id String 授权实例所属Region。 最小长度:0 最大长度:255 project_id String 授权实例所属项目ID。 最小长度:0 最大长度:36 cloud_connection_domain_id String 被授权云连接实例所属的账户ID。 最小长度:0 最大长度:36 cloud_connection_id String 被授权云连接实例ID。 最小长度:0 最大长度:36
共100000条