查看App消费状态
功能介绍
本接口用于查询APP消费状态。
调用方法
请参见如何调用API。
URI
GET /v2/{project_id}/apps/{app_name}/streams/{stream_name}
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
project_id |
是 |
String |
项目ID。 |
app_name |
是 |
String |
需要查询的App名称。 |
stream_name |
是 |
String |
需要查询的通道名称。 最大长度:60 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
limit |
否 |
Integer |
单次请求返回的最大分区数。最小值是1,最大值是1000;默认值是100。 最小值:1 最大值:1000 缺省值:100 |
start_partition_id |
否 |
String |
从该分区值开始返回分区列表,返回的分区列表不包括此分区。 |
checkpoint_type |
是 |
String |
Checkpoint类型。
枚举值:
|
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
X-Auth-Token |
是 |
String |
用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 |
响应参数
状态码: 200
参数 |
参数类型 |
描述 |
---|---|---|
has_more |
Boolean |
是否还有更多满足条件的App。
|
stream_name |
String |
要查询的通道名称。 最大长度:64 |
app_name |
String |
要查询的APP的名称,用户数据消费程序的唯一标识符。 |
partition_consuming_states |
Array of PartitionConsumingStates objects |
当前分区消费状态. |
参数 |
参数类型 |
描述 |
---|---|---|
partition_id |
String |
通道的分区标识符。可定义为如下两种样式:- shardId-0000000000- 0比如一个通道有三个分区,那么分区标识符分别为0, 1, 2,或者shardId-0000000000, shardId-0000000001, shardId-0000000002 |
sequence_number |
String |
需要提交的序列号,用来记录该通道的消费检查点,需要保证该序列号处于有效范围内。 |
latest_offset |
Long |
索引位置, 最新的一条索引位置。 |
earliest_offset |
Long |
索引位置, 最早的一条索引位置。 |
checkpoint_type |
String |
Checkpoint类型。
枚举值:
|
status |
String |
分区的当前状态。
枚举值:
|
请求示例
查询App消费状态
GET https://{Endpoint}/v2/{project_id}/apps/{app_name}/streams/{stream_name}
响应示例
状态码: 200
正常返回
{ "has_more" : false, "stream_name" : "disMonitorTest", "app_name" : "4aSiZ", "partition_consuming_states" : [ { "partition_id" : 0, "sequence_number" : -1, "latest_offset" : 1658297359, "earliest_offset" : 1653120573, "checkpoint_type" : "LAST_READ", "status" : "ACTIVE" } ] }
SDK代码示例
SDK代码示例如下。
Java
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 |
package com.huaweicloud.sdk.test; import com.huaweicloud.sdk.core.auth.ICredential; import com.huaweicloud.sdk.core.auth.BasicCredentials; import com.huaweicloud.sdk.core.exception.ConnectionException; import com.huaweicloud.sdk.core.exception.RequestTimeoutException; import com.huaweicloud.sdk.core.exception.ServiceResponseException; import com.huaweicloud.sdk.dis.v2.region.DisRegion; import com.huaweicloud.sdk.dis.v2.*; import com.huaweicloud.sdk.dis.v2.model.*; public class ShowConsumerStateSolution { public static void main(String[] args) { // 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 String ak = System.getenv("CLOUD_SDK_AK"); String sk = System.getenv("CLOUD_SDK_SK"); ICredential auth = new BasicCredentials() .withAk(ak) .withSk(sk); DisClient client = DisClient.newBuilder() .withCredential(auth) .withRegion(DisRegion.valueOf("<YOUR REGION>")) .build(); ShowConsumerStateRequest request = new ShowConsumerStateRequest(); request.withLimit(<limit>); request.withStartPartitionId("<start_partition_id>"); request.withCheckpointType(ShowConsumerStateRequest.CheckpointTypeEnum.fromValue("<checkpoint_type>")); try { ShowConsumerStateResponse response = client.showConsumerState(request); System.out.println(response.toString()); } catch (ConnectionException e) { e.printStackTrace(); } catch (RequestTimeoutException e) { e.printStackTrace(); } catch (ServiceResponseException e) { e.printStackTrace(); System.out.println(e.getHttpStatusCode()); System.out.println(e.getRequestId()); System.out.println(e.getErrorCode()); System.out.println(e.getErrorMsg()); } } } |
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 |
# coding: utf-8 import os from huaweicloudsdkcore.auth.credentials import BasicCredentials from huaweicloudsdkdis.v2.region.dis_region import DisRegion from huaweicloudsdkcore.exceptions import exceptions from huaweicloudsdkdis.v2 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.environ["CLOUD_SDK_AK"] sk = os.environ["CLOUD_SDK_SK"] credentials = BasicCredentials(ak, sk) client = DisClient.new_builder() \ .with_credentials(credentials) \ .with_region(DisRegion.value_of("<YOUR REGION>")) \ .build() try: request = ShowConsumerStateRequest() request.limit = <limit> request.start_partition_id = "<start_partition_id>" request.checkpoint_type = "<checkpoint_type>" response = client.show_consumer_state(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 |
package main import ( "fmt" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic" dis "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dis/v2" "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dis/v2/model" region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dis/v2/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 := dis.NewDisClient( dis.DisClientBuilder(). WithRegion(region.ValueOf("<YOUR REGION>")). WithCredential(auth). Build()) request := &model.ShowConsumerStateRequest{} limitRequest:= int32(<limit>) request.Limit = &limitRequest startPartitionIdRequest:= "<start_partition_id>" request.StartPartitionId = &startPartitionIdRequest request.CheckpointType = model.GetShowConsumerStateRequestCheckpointTypeEnum().<CHECKPOINT_TYPE> response, err := client.ShowConsumerState(request) if err == nil { fmt.Printf("%+v\n", response) } else { fmt.Println(err) } } |
更多
更多编程语言的SDK代码示例,请参见API Explorer的代码示例页签,可生成自动对应的SDK代码示例。
状态码
状态码 |
描述 |
---|---|
200 |
正常返回 |
错误码
请参见错误码。