文档首页 > > SDK参考> 使用SDK> 使用SDK(C)> 查询通道详情

查询通道详情

分享
更新时间:2020/09/29 GMT+08:00

使用DIS SDK查询指定通道信息。

char *streamName = "myStream"; 
char *projectId = "d575b0b740e54221aeb9a165653b103d";
char *region = "southchina";
int ret = 0;
int i = 0;
DISResponseInfo RspInfo = { 0 };
DISDescribeStream streamDetail = { 0 };
streamDetail.streamName = streamName;
//streamDetail.startPartitionId="";
//streamDetail.limitPartitionNum=10;
printf("===================%s Begin=======================\n", __FUNCTION__);
ret = DescribeStream(host, projectId, region, &streamDetail, &RspInfo);
if (ret != 0)
{
printf("List Error: %d\r\n", ret);
printf("HttpResponseCode: %ld\r\n", RspInfo.HttpResponseCode);
printf("ErrorCode: %s\r\n", RspInfo.ErrorCode);
printf("ErrorDetail: %s\r\n", RspInfo.ErrorDetail);
return;
}
printf("HttpResponseCode: %ld\r\n", RspInfo.HttpResponseCode);
printf("streamId:%s\n", streamDetail.streamInfo.streamId);
printf("streamName:%s\n", streamDetail.streamInfo.streamName);
printf("createTime:%ld\n", streamDetail.streamInfo.createTime);
printf("lastModifyTime:%ld\n", streamDetail.streamInfo.lastModifyTime);
printf("retentionPeriod:%ld\n", streamDetail.streamInfo.retentionPeriod);
printf("dataType:%s\n", streamDetail.streamInfo.dataType == DISDataTypeBlob ? "BLOB"
: (streamDetail.streamInfo.dataType == DISDataTypeJson) ? "JSON"
: (streamDetail.streamInfo.dataType == DISDataTypeCsv) ? "CSV"
: "FILE");
printf("streamStatus:%s\n", streamDetail.streamInfo.streamStatus == DISStreamStatusCreating ? "CREATING"
: (streamDetail.streamInfo.streamStatus == DISStreamStatusRunning) ? "RUNNING"
: (streamDetail.streamInfo.streamStatus == DISStreamStatusTerminating) ? "TERMINATING"
: "FROZEN");
printf("streamType:%s\n", streamDetail.streamInfo.streamType == DISStreamTypeCommon ? "Common" : "Advanced");
printf("hasMorepartition:%s\n", streamDetail.streamInfo.hasMorepartition == 0 ? "false" : "true");
printf("currentNumber:%ld\n", streamDetail.streamInfo.currentNumber);
for (i = 0; i < streamDetail.streamInfo.currentNumber; i++)
{
printf("loop %d partitionStatus:%s\n", i, streamDetail.streamInfo.partitionList[i].partitionStatus == DISPartitionStatusCreating ? "CREATING"
: (streamDetail.streamInfo.partitionList[i].partitionStatus == DISPartitionStatusActive) ? "ACTIVE"
: (streamDetail.streamInfo.partitionList[i].partitionStatus == DISPartitionStatusDeleted) ? "DELETED"
: "EXPIRED");
printf("loop %d partitionId:%s\n", i, streamDetail.streamInfo.partitionList[i].partitionId);
printf("loop %d hashRange:%s\n", i, streamDetail.streamInfo.partitionList[i].hashRange);
printf("loop %d sequenceNumberRange:%s\n", i, streamDetail.streamInfo.partitionList[i].sequenceNumberRange);
}
printf("===================%s End=======================\n", __FUNCTION__);

表1 DISDescribeStream请求参数说明

名称

是否必选

类型

说明

streamName

Char *

需要查询的通道名称。

startPartitionId

Char *

从该分区值开始返回分区列表,返回的分区列表不包括此分区。

limitPartitionNum

long

单次请求返回的最大分区数。

取值范围:1~1000。

默认值:100。

查询通道的返回信息如下。

HttpResponseCode: 200
streamId:fXdsj6XzvxKJVLQoplg
streamName: myStream
createTime:1536546556151
lastModifyTime:1536546557001
retentionPeriod:72
dataType:FILE
streamStatus:RUNNING
streamType:Advanced
hasMorepartition:false
currentNumber:2
loop 0 partitionStatus:ACTIVE
loop 0 partitionId:shardId-0000000000
loop 0 hashRange:[0 : 4611686018427387902]
loop 0 sequenceNumberRange:[0 : 0]
loop 1 partitionStatus:ACTIVE
loop 1 partitionId:shardId-0000000001
loop 1 hashRange:[4611686018427387903 : 9223372036854775807]
loop 1 sequenceNumberRange:[0 : 0]
表2 DISDescribeStream响应的参数说明

名称

类型

说明

streamInfo

DISStreamDetailInfo

响应得到的通道详情信息。

表3 DISStreamDetailInfo的参数说明

参数名

类型

说明

streamName

Char *

通道名称。

streamId

Char *

通道唯一标示符。

createTime

Long

通道创建时间戳。

lastModifyTime

Long

通道最近一次修改时间戳。

retentionPeriod

Long

数据保留时长。

streamStatus

DISStreamStatus

通道的当前状态。

  • DISStreamStatusCreating
  • DISStreamStatusRunning
  • DISStreamStatusTerminating
  • DISStreamStatusFrozen

streamType

DISStreamType

通道类型。

  • DISStreamTypeCommon
  • DISStreamTypeAdvanced

hasMorepartition

long

是否还有更多满足请求条件的分区。

  • 是:1
  • 否:0

dataType

DISDataType

源数据类型

  • DISDataTypeBlob
  • DISDataTypeJson
  • DISDataTypeCsv
  • DISDataTypeFile

currentNumber

long

分区数量

partitionList

DISPartitionDetailInfo[100]

通道的分区列表。

表4 DISPartitionDetailInfo的参数说明

参数名

类型

说明

partitionStatus

DISPartitionStatus

分区的当前状态。

  • DISPartitionStatusCreating
  • DISPartitionStatusActive
  • DISPartitionStatusDeleted
  • DISPartitionStatusExpired

partitionId

Char [128]

分区的唯一标识符。

hashRange

Char [128]

分区的可能哈希键值范围。

sequenceNumberRange

Char [128]

分区的序列号范围。

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!非常感谢您的反馈,我们会继续努力做到更好!
反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问