# -*- coding: utf8 -*- # Copyright (c) 2017-2021 THL A29 Limited, a Tencent company. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. import warnings from tencentcloud.common.abstract_model import AbstractModel class DeadLetterPolicy(AbstractModel): """死信队列策略 """ def __init__(self): r""" :param _DeadLetterQueue: 死信队列。 注意:此字段可能返回 null,表示取不到有效值。 :type DeadLetterQueue: str :param _DeadLetterQueueName: 死信队列名字。 注意:此字段可能返回 null,表示取不到有效值。 :type DeadLetterQueueName: str :param _MaxTimeToLive: 最大未消费过期时间。Policy为1时必选。范围300-43200,单位秒,需要小于消息最大保留时间MsgRetentionSeconds。 注意:此字段可能返回 null,表示取不到有效值。 :type MaxTimeToLive: int :param _Policy: 死信队列策略。 注意:此字段可能返回 null,表示取不到有效值。 :type Policy: int :param _MaxReceiveCount: 最大接收次数。 注意:此字段可能返回 null,表示取不到有效值。 :type MaxReceiveCount: int """ self._DeadLetterQueue = None self._DeadLetterQueueName = None self._MaxTimeToLive = None self._Policy = None self._MaxReceiveCount = None @property def DeadLetterQueue(self): """死信队列。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._DeadLetterQueue @DeadLetterQueue.setter def DeadLetterQueue(self, DeadLetterQueue): self._DeadLetterQueue = DeadLetterQueue @property def DeadLetterQueueName(self): """死信队列名字。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._DeadLetterQueueName @DeadLetterQueueName.setter def DeadLetterQueueName(self, DeadLetterQueueName): self._DeadLetterQueueName = DeadLetterQueueName @property def MaxTimeToLive(self): """最大未消费过期时间。Policy为1时必选。范围300-43200,单位秒,需要小于消息最大保留时间MsgRetentionSeconds。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._MaxTimeToLive @MaxTimeToLive.setter def MaxTimeToLive(self, MaxTimeToLive): self._MaxTimeToLive = MaxTimeToLive @property def Policy(self): """死信队列策略。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._Policy @Policy.setter def Policy(self, Policy): self._Policy = Policy @property def MaxReceiveCount(self): """最大接收次数。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._MaxReceiveCount @MaxReceiveCount.setter def MaxReceiveCount(self, MaxReceiveCount): self._MaxReceiveCount = MaxReceiveCount def _deserialize(self, params): self._DeadLetterQueue = params.get("DeadLetterQueue") self._DeadLetterQueueName = params.get("DeadLetterQueueName") self._MaxTimeToLive = params.get("MaxTimeToLive") self._Policy = params.get("Policy") self._MaxReceiveCount = params.get("MaxReceiveCount") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DeadLetterSource(AbstractModel): """死信源队列信息 """ def __init__(self): r""" :param _QueueId: 消息队列ID。 注意:此字段可能返回 null,表示取不到有效值。 :type QueueId: str :param _QueueName: 消息队列名字。 注意:此字段可能返回 null,表示取不到有效值。 :type QueueName: str """ self._QueueId = None self._QueueName = None @property def QueueId(self): """消息队列ID。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._QueueId @QueueId.setter def QueueId(self, QueueId): self._QueueId = QueueId @property def QueueName(self): """消息队列名字。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._QueueName @QueueName.setter def QueueName(self, QueueName): self._QueueName = QueueName def _deserialize(self, params): self._QueueId = params.get("QueueId") self._QueueName = params.get("QueueName") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DescribeQueueDetailRequest(AbstractModel): """DescribeQueueDetail请求参数结构体 """ def __init__(self): r""" :param _TagKey: 标签搜索 :type TagKey: str :param _Limit: 分页时本页获取队列的个数,如果不传递该参数,则该参数默认为20,最大值为50。 :type Limit: int :param _QueueName: 精确匹配QueueName :type QueueName: str :param _Filters: 筛选参数,目前支持QueueName筛选,且仅支持一个关键字 :type Filters: list of Filter :param _Offset: 分页时本页获取队列列表的起始位置。如果填写了该值,必须也要填写 limit 。该值缺省时,后台取默认值 0 :type Offset: int """ self._TagKey = None self._Limit = None self._QueueName = None self._Filters = None self._Offset = None @property def TagKey(self): """标签搜索 :rtype: str """ return self._TagKey @TagKey.setter def TagKey(self, TagKey): self._TagKey = TagKey @property def Limit(self): """分页时本页获取队列的个数,如果不传递该参数,则该参数默认为20,最大值为50。 :rtype: int """ return self._Limit @Limit.setter def Limit(self, Limit): self._Limit = Limit @property def QueueName(self): """精确匹配QueueName :rtype: str """ return self._QueueName @QueueName.setter def QueueName(self, QueueName): self._QueueName = QueueName @property def Filters(self): """筛选参数,目前支持QueueName筛选,且仅支持一个关键字 :rtype: list of Filter """ return self._Filters @Filters.setter def Filters(self, Filters): self._Filters = Filters @property def Offset(self): """分页时本页获取队列列表的起始位置。如果填写了该值,必须也要填写 limit 。该值缺省时,后台取默认值 0 :rtype: int """ return self._Offset @Offset.setter def Offset(self, Offset): self._Offset = Offset def _deserialize(self, params): self._TagKey = params.get("TagKey") self._Limit = params.get("Limit") self._QueueName = params.get("QueueName") if params.get("Filters") is not None: self._Filters = [] for item in params.get("Filters"): obj = Filter() obj._deserialize(item) self._Filters.append(obj) self._Offset = params.get("Offset") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DescribeQueueDetailResponse(AbstractModel): """DescribeQueueDetail返回参数结构体 """ def __init__(self): r""" :param _TotalCount: 总队列数。 :type TotalCount: int :param _QueueSet: 队列详情列表。 :type QueueSet: list of QueueSet :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._TotalCount = None self._QueueSet = None self._RequestId = None @property def TotalCount(self): """总队列数。 :rtype: int """ return self._TotalCount @TotalCount.setter def TotalCount(self, TotalCount): self._TotalCount = TotalCount @property def QueueSet(self): """队列详情列表。 :rtype: list of QueueSet """ return self._QueueSet @QueueSet.setter def QueueSet(self, QueueSet): self._QueueSet = QueueSet @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._TotalCount = params.get("TotalCount") if params.get("QueueSet") is not None: self._QueueSet = [] for item in params.get("QueueSet"): obj = QueueSet() obj._deserialize(item) self._QueueSet.append(obj) self._RequestId = params.get("RequestId") class DescribeTopicDetailRequest(AbstractModel): """DescribeTopicDetail请求参数结构体 """ def __init__(self): r""" :param _TagKey: 标签匹配。 :type TagKey: str :param _Limit: 分页时本页获取队列的个数,如果不传递该参数,则该参数默认为20,最大值为50。 :type Limit: int :param _TopicName: 精确匹配TopicName。 :type TopicName: str :param _Filters: 目前只支持过滤TopicName , 且只能填一个过滤值。 :type Filters: list of Filter :param _Offset: 分页时本页获取队列列表的起始位置。如果填写了该值,必须也要填写 limit 。该值缺省时,后台取默认值 0。 :type Offset: int """ self._TagKey = None self._Limit = None self._TopicName = None self._Filters = None self._Offset = None @property def TagKey(self): """标签匹配。 :rtype: str """ return self._TagKey @TagKey.setter def TagKey(self, TagKey): self._TagKey = TagKey @property def Limit(self): """分页时本页获取队列的个数,如果不传递该参数,则该参数默认为20,最大值为50。 :rtype: int """ return self._Limit @Limit.setter def Limit(self, Limit): self._Limit = Limit @property def TopicName(self): """精确匹配TopicName。 :rtype: str """ return self._TopicName @TopicName.setter def TopicName(self, TopicName): self._TopicName = TopicName @property def Filters(self): """目前只支持过滤TopicName , 且只能填一个过滤值。 :rtype: list of Filter """ return self._Filters @Filters.setter def Filters(self, Filters): self._Filters = Filters @property def Offset(self): """分页时本页获取队列列表的起始位置。如果填写了该值,必须也要填写 limit 。该值缺省时,后台取默认值 0。 :rtype: int """ return self._Offset @Offset.setter def Offset(self, Offset): self._Offset = Offset def _deserialize(self, params): self._TagKey = params.get("TagKey") self._Limit = params.get("Limit") self._TopicName = params.get("TopicName") if params.get("Filters") is not None: self._Filters = [] for item in params.get("Filters"): obj = Filter() obj._deserialize(item) self._Filters.append(obj) self._Offset = params.get("Offset") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DescribeTopicDetailResponse(AbstractModel): """DescribeTopicDetail返回参数结构体 """ def __init__(self): r""" :param _TotalCount: 主题列表总数。 :type TotalCount: int :param _TopicSet: 主题详情列表。 :type TopicSet: list of TopicSet :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._TotalCount = None self._TopicSet = None self._RequestId = None @property def TotalCount(self): """主题列表总数。 :rtype: int """ return self._TotalCount @TotalCount.setter def TotalCount(self, TotalCount): self._TotalCount = TotalCount @property def TopicSet(self): """主题详情列表。 :rtype: list of TopicSet """ return self._TopicSet @TopicSet.setter def TopicSet(self, TopicSet): self._TopicSet = TopicSet @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._TotalCount = params.get("TotalCount") if params.get("TopicSet") is not None: self._TopicSet = [] for item in params.get("TopicSet"): obj = TopicSet() obj._deserialize(item) self._TopicSet.append(obj) self._RequestId = params.get("RequestId") class Filter(AbstractModel): """过滤参数 """ def __init__(self): r""" :param _Values: 数值 :type Values: list of str :param _Name: 过滤参数的名字 :type Name: str """ self._Values = None self._Name = None @property def Values(self): """数值 :rtype: list of str """ return self._Values @Values.setter def Values(self, Values): self._Values = Values @property def Name(self): """过滤参数的名字 :rtype: str """ return self._Name @Name.setter def Name(self, Name): self._Name = Name def _deserialize(self, params): self._Values = params.get("Values") self._Name = params.get("Name") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class QueueSet(AbstractModel): """批量queue属性信息 """ def __init__(self): r""" :param _QueueId: 消息队列ID。 :type QueueId: str :param _RewindSeconds: 回溯队列的消息回溯时间最大值,取值范围0 - 43200秒,0表示不开启消息回溯。 注意:此字段可能返回 null,表示取不到有效值。 :type RewindSeconds: int :param _CreateUin: 创建者Uin。 注意:此字段可能返回 null,表示取不到有效值。 :type CreateUin: int :param _LastModifyTime: 最后一次修改队列属性的时间。返回 Unix 时间戳,精确到秒。 注意:此字段可能返回 null,表示取不到有效值。 :type LastModifyTime: int :param _VisibilityTimeout: 消息可见性超时。取值范围1 - 43200秒(即12小时内),默认值30。 注意:此字段可能返回 null,表示取不到有效值。 :type VisibilityTimeout: int :param _QueueName: 消息队列名字。 :type QueueName: str :param _Trace: 消息轨迹。true表示开启,false表示不开启。 注意:此字段可能返回 null,表示取不到有效值。 :type Trace: bool :param _Tags: 关联的标签。 注意:此字段可能返回 null,表示取不到有效值。 :type Tags: list of Tag :param _RewindMsgNum: 已调用 DelMsg 接口删除,但还在回溯保留时间内的消息数量。 注意:此字段可能返回 null,表示取不到有效值。 :type RewindMsgNum: int :param _MaxDelaySeconds: 飞行消息最大保留时间。 注意:此字段可能返回 null,表示取不到有效值。 :type MaxDelaySeconds: int :param _TransactionPolicy: 事务消息策略。 注意:此字段可能返回 null,表示取不到有效值。 :type TransactionPolicy: :class:`tencentcloud.cmq.v20190304.models.TransactionPolicy` :param _MsgRetentionSeconds: 消息保留周期。取值范围60-1296000秒(1min-15天),默认值345600秒(4 天)。 注意:此字段可能返回 null,表示取不到有效值。 :type MsgRetentionSeconds: int :param _DelayMsgNum: 延迟消息数。 注意:此字段可能返回 null,表示取不到有效值。 :type DelayMsgNum: int :param _MaxMsgHeapNum: 最大堆积消息数。取值范围在公测期间为 1,000,000 - 10,000,000,正式上线后范围可达到 1000,000-1000,000,000。默认取值在公测期间为 10,000,000,正式上线后为 100,000,000。 注意:此字段可能返回 null,表示取不到有效值。 :type MaxMsgHeapNum: int :param _PollingWaitSeconds: 消息接收长轮询等待时间。取值范围0 - 30秒,默认值0。 注意:此字段可能返回 null,表示取不到有效值。 :type PollingWaitSeconds: int :param _Bps: 带宽限制。 注意:此字段可能返回 null,表示取不到有效值。 :type Bps: int :param _InactiveMsgNum: 在队列中处于 Inactive 状态(正处于被消费状态)的消息总数,为近似值。 注意:此字段可能返回 null,表示取不到有效值。 :type InactiveMsgNum: int :param _DeadLetterPolicy: 死信队列策略。 注意:此字段可能返回 null,表示取不到有效值。 :type DeadLetterPolicy: :class:`tencentcloud.cmq.v20190304.models.DeadLetterPolicy` :param _ActiveMsgNum: 在队列中处于 Active 状态(不处于被消费状态)的消息总数,为近似值。 注意:此字段可能返回 null,表示取不到有效值。 :type ActiveMsgNum: int :param _MaxMsgSize: 消息最大长度。取值范围1024 - 1048576 Byte(即1K - 1024K),默认值65536。 注意:此字段可能返回 null,表示取不到有效值。 :type MaxMsgSize: int :param _MinMsgTime: 消息最小未消费时间,单位为秒。 注意:此字段可能返回 null,表示取不到有效值。 :type MinMsgTime: int :param _DeadLetterSource: 死信队列。 注意:此字段可能返回 null,表示取不到有效值。 :type DeadLetterSource: list of DeadLetterSource :param _Transaction: 事务消息队列。true表示是事务消息,false表示不是事务消息。 注意:此字段可能返回 null,表示取不到有效值。 :type Transaction: bool :param _Qps: 每秒钟生产消息条数的限制,消费消息的大小是该值的1.1倍。 注意:此字段可能返回 null,表示取不到有效值。 :type Qps: int :param _CreateTime: 队列的创建时间。返回 Unix 时间戳,精确到秒。 注意:此字段可能返回 null,表示取不到有效值。 :type CreateTime: int :param _Migrate: 是否迁移到新版本。0 表示仅同步元数据,1 表示迁移中,2 表示已经迁移完毕,3 表示回切状态,曾经迁移过,4 未迁移。 注意:此字段可能返回 null,表示取不到有效值。 :type Migrate: int """ self._QueueId = None self._RewindSeconds = None self._CreateUin = None self._LastModifyTime = None self._VisibilityTimeout = None self._QueueName = None self._Trace = None self._Tags = None self._RewindMsgNum = None self._MaxDelaySeconds = None self._TransactionPolicy = None self._MsgRetentionSeconds = None self._DelayMsgNum = None self._MaxMsgHeapNum = None self._PollingWaitSeconds = None self._Bps = None self._InactiveMsgNum = None self._DeadLetterPolicy = None self._ActiveMsgNum = None self._MaxMsgSize = None self._MinMsgTime = None self._DeadLetterSource = None self._Transaction = None self._Qps = None self._CreateTime = None self._Migrate = None @property def QueueId(self): """消息队列ID。 :rtype: str """ return self._QueueId @QueueId.setter def QueueId(self, QueueId): self._QueueId = QueueId @property def RewindSeconds(self): """回溯队列的消息回溯时间最大值,取值范围0 - 43200秒,0表示不开启消息回溯。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._RewindSeconds @RewindSeconds.setter def RewindSeconds(self, RewindSeconds): self._RewindSeconds = RewindSeconds @property def CreateUin(self): """创建者Uin。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._CreateUin @CreateUin.setter def CreateUin(self, CreateUin): self._CreateUin = CreateUin @property def LastModifyTime(self): """最后一次修改队列属性的时间。返回 Unix 时间戳,精确到秒。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._LastModifyTime @LastModifyTime.setter def LastModifyTime(self, LastModifyTime): self._LastModifyTime = LastModifyTime @property def VisibilityTimeout(self): """消息可见性超时。取值范围1 - 43200秒(即12小时内),默认值30。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._VisibilityTimeout @VisibilityTimeout.setter def VisibilityTimeout(self, VisibilityTimeout): self._VisibilityTimeout = VisibilityTimeout @property def QueueName(self): """消息队列名字。 :rtype: str """ return self._QueueName @QueueName.setter def QueueName(self, QueueName): self._QueueName = QueueName @property def Trace(self): """消息轨迹。true表示开启,false表示不开启。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: bool """ return self._Trace @Trace.setter def Trace(self, Trace): self._Trace = Trace @property def Tags(self): """关联的标签。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of Tag """ return self._Tags @Tags.setter def Tags(self, Tags): self._Tags = Tags @property def RewindMsgNum(self): """已调用 DelMsg 接口删除,但还在回溯保留时间内的消息数量。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._RewindMsgNum @RewindMsgNum.setter def RewindMsgNum(self, RewindMsgNum): self._RewindMsgNum = RewindMsgNum @property def MaxDelaySeconds(self): """飞行消息最大保留时间。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._MaxDelaySeconds @MaxDelaySeconds.setter def MaxDelaySeconds(self, MaxDelaySeconds): self._MaxDelaySeconds = MaxDelaySeconds @property def TransactionPolicy(self): """事务消息策略。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cmq.v20190304.models.TransactionPolicy` """ return self._TransactionPolicy @TransactionPolicy.setter def TransactionPolicy(self, TransactionPolicy): self._TransactionPolicy = TransactionPolicy @property def MsgRetentionSeconds(self): """消息保留周期。取值范围60-1296000秒(1min-15天),默认值345600秒(4 天)。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._MsgRetentionSeconds @MsgRetentionSeconds.setter def MsgRetentionSeconds(self, MsgRetentionSeconds): self._MsgRetentionSeconds = MsgRetentionSeconds @property def DelayMsgNum(self): """延迟消息数。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._DelayMsgNum @DelayMsgNum.setter def DelayMsgNum(self, DelayMsgNum): self._DelayMsgNum = DelayMsgNum @property def MaxMsgHeapNum(self): """最大堆积消息数。取值范围在公测期间为 1,000,000 - 10,000,000,正式上线后范围可达到 1000,000-1000,000,000。默认取值在公测期间为 10,000,000,正式上线后为 100,000,000。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._MaxMsgHeapNum @MaxMsgHeapNum.setter def MaxMsgHeapNum(self, MaxMsgHeapNum): self._MaxMsgHeapNum = MaxMsgHeapNum @property def PollingWaitSeconds(self): """消息接收长轮询等待时间。取值范围0 - 30秒,默认值0。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._PollingWaitSeconds @PollingWaitSeconds.setter def PollingWaitSeconds(self, PollingWaitSeconds): self._PollingWaitSeconds = PollingWaitSeconds @property def Bps(self): """带宽限制。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._Bps @Bps.setter def Bps(self, Bps): self._Bps = Bps @property def InactiveMsgNum(self): """在队列中处于 Inactive 状态(正处于被消费状态)的消息总数,为近似值。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._InactiveMsgNum @InactiveMsgNum.setter def InactiveMsgNum(self, InactiveMsgNum): self._InactiveMsgNum = InactiveMsgNum @property def DeadLetterPolicy(self): """死信队列策略。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cmq.v20190304.models.DeadLetterPolicy` """ return self._DeadLetterPolicy @DeadLetterPolicy.setter def DeadLetterPolicy(self, DeadLetterPolicy): self._DeadLetterPolicy = DeadLetterPolicy @property def ActiveMsgNum(self): """在队列中处于 Active 状态(不处于被消费状态)的消息总数,为近似值。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._ActiveMsgNum @ActiveMsgNum.setter def ActiveMsgNum(self, ActiveMsgNum): self._ActiveMsgNum = ActiveMsgNum @property def MaxMsgSize(self): """消息最大长度。取值范围1024 - 1048576 Byte(即1K - 1024K),默认值65536。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._MaxMsgSize @MaxMsgSize.setter def MaxMsgSize(self, MaxMsgSize): self._MaxMsgSize = MaxMsgSize @property def MinMsgTime(self): """消息最小未消费时间,单位为秒。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._MinMsgTime @MinMsgTime.setter def MinMsgTime(self, MinMsgTime): self._MinMsgTime = MinMsgTime @property def DeadLetterSource(self): """死信队列。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of DeadLetterSource """ return self._DeadLetterSource @DeadLetterSource.setter def DeadLetterSource(self, DeadLetterSource): self._DeadLetterSource = DeadLetterSource @property def Transaction(self): """事务消息队列。true表示是事务消息,false表示不是事务消息。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: bool """ return self._Transaction @Transaction.setter def Transaction(self, Transaction): self._Transaction = Transaction @property def Qps(self): """每秒钟生产消息条数的限制,消费消息的大小是该值的1.1倍。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._Qps @Qps.setter def Qps(self, Qps): self._Qps = Qps @property def CreateTime(self): """队列的创建时间。返回 Unix 时间戳,精确到秒。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._CreateTime @CreateTime.setter def CreateTime(self, CreateTime): self._CreateTime = CreateTime @property def Migrate(self): """是否迁移到新版本。0 表示仅同步元数据,1 表示迁移中,2 表示已经迁移完毕,3 表示回切状态,曾经迁移过,4 未迁移。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._Migrate @Migrate.setter def Migrate(self, Migrate): self._Migrate = Migrate def _deserialize(self, params): self._QueueId = params.get("QueueId") self._RewindSeconds = params.get("RewindSeconds") self._CreateUin = params.get("CreateUin") self._LastModifyTime = params.get("LastModifyTime") self._VisibilityTimeout = params.get("VisibilityTimeout") self._QueueName = params.get("QueueName") self._Trace = params.get("Trace") if params.get("Tags") is not None: self._Tags = [] for item in params.get("Tags"): obj = Tag() obj._deserialize(item) self._Tags.append(obj) self._RewindMsgNum = params.get("RewindMsgNum") self._MaxDelaySeconds = params.get("MaxDelaySeconds") if params.get("TransactionPolicy") is not None: self._TransactionPolicy = TransactionPolicy() self._TransactionPolicy._deserialize(params.get("TransactionPolicy")) self._MsgRetentionSeconds = params.get("MsgRetentionSeconds") self._DelayMsgNum = params.get("DelayMsgNum") self._MaxMsgHeapNum = params.get("MaxMsgHeapNum") self._PollingWaitSeconds = params.get("PollingWaitSeconds") self._Bps = params.get("Bps") self._InactiveMsgNum = params.get("InactiveMsgNum") if params.get("DeadLetterPolicy") is not None: self._DeadLetterPolicy = DeadLetterPolicy() self._DeadLetterPolicy._deserialize(params.get("DeadLetterPolicy")) self._ActiveMsgNum = params.get("ActiveMsgNum") self._MaxMsgSize = params.get("MaxMsgSize") self._MinMsgTime = params.get("MinMsgTime") if params.get("DeadLetterSource") is not None: self._DeadLetterSource = [] for item in params.get("DeadLetterSource"): obj = DeadLetterSource() obj._deserialize(item) self._DeadLetterSource.append(obj) self._Transaction = params.get("Transaction") self._Qps = params.get("Qps") self._CreateTime = params.get("CreateTime") self._Migrate = params.get("Migrate") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class Tag(AbstractModel): """标签 """ def __init__(self): r""" :param _TagKey: 标签Key 注意:此字段可能返回 null,表示取不到有效值。 :type TagKey: str :param _TagValue: 标签值 注意:此字段可能返回 null,表示取不到有效值。 :type TagValue: str """ self._TagKey = None self._TagValue = None @property def TagKey(self): """标签Key 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._TagKey @TagKey.setter def TagKey(self, TagKey): self._TagKey = TagKey @property def TagValue(self): """标签值 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._TagValue @TagValue.setter def TagValue(self, TagValue): self._TagValue = TagValue def _deserialize(self, params): self._TagKey = params.get("TagKey") self._TagValue = params.get("TagValue") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class TopicSet(AbstractModel): """topic返回信息展示字段 """ def __init__(self): r""" :param _MsgCount: 当前该主题中消息数目(消息堆积数)。 注意:此字段可能返回 null,表示取不到有效值。 :type MsgCount: int :param _TopicId: 主题的 ID。 注意:此字段可能返回 null,表示取不到有效值。 :type TopicId: str :param _MaxMsgSize: 消息最大长度。取值范围1024 - 1048576Byte(即1 - 1024K),默认值为65536。 注意:此字段可能返回 null,表示取不到有效值。 :type MaxMsgSize: int :param _Trace: 消息轨迹。true表示开启,false表示不开启。 注意:此字段可能返回 null,表示取不到有效值。 :type Trace: bool :param _Tags: 关联的标签。 注意:此字段可能返回 null,表示取不到有效值。 :type Tags: list of Tag :param _CreateUin: 创建者 Uin,CAM 鉴权 resource 由该字段组合而成。 注意:此字段可能返回 null,表示取不到有效值。 :type CreateUin: int :param _FilterType: 描述用户创建订阅时选择的过滤策略: FilterType = 1表示用户使用 FilterTag 标签过滤; FilterType = 2表示用户使用 BindingKey 过滤。 注意:此字段可能返回 null,表示取不到有效值。 :type FilterType: int :param _TopicName: 主题名称。 注意:此字段可能返回 null,表示取不到有效值。 :type TopicName: str :param _LastModifyTime: 最后一次修改主题属性的时间。返回 Unix 时间戳,精确到秒。 注意:此字段可能返回 null,表示取不到有效值。 :type LastModifyTime: int :param _MsgRetentionSeconds: 消息在主题中最长存活时间,从发送到该主题开始经过此参数指定的时间后,不论消息是否被成功推送给用户都将被删除,单位为秒。固定为一天(86400秒),该属性不能修改。 注意:此字段可能返回 null,表示取不到有效值。 :type MsgRetentionSeconds: int :param _Qps: 每秒钟发布消息的条数。 注意:此字段可能返回 null,表示取不到有效值。 :type Qps: int :param _CreateTime: 主题的创建时间。返回 Unix 时间戳,精确到秒。 注意:此字段可能返回 null,表示取不到有效值。 :type CreateTime: int :param _Migrate: 是否迁移到新版本。0 表示未迁移,1 表示迁移中,2 表示已经迁移完毕,3 表示回切状态,曾经迁移过,4 未知状态。 注意:此字段可能返回 null,表示取不到有效值。 :type Migrate: int """ self._MsgCount = None self._TopicId = None self._MaxMsgSize = None self._Trace = None self._Tags = None self._CreateUin = None self._FilterType = None self._TopicName = None self._LastModifyTime = None self._MsgRetentionSeconds = None self._Qps = None self._CreateTime = None self._Migrate = None @property def MsgCount(self): """当前该主题中消息数目(消息堆积数)。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._MsgCount @MsgCount.setter def MsgCount(self, MsgCount): self._MsgCount = MsgCount @property def TopicId(self): """主题的 ID。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._TopicId @TopicId.setter def TopicId(self, TopicId): self._TopicId = TopicId @property def MaxMsgSize(self): """消息最大长度。取值范围1024 - 1048576Byte(即1 - 1024K),默认值为65536。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._MaxMsgSize @MaxMsgSize.setter def MaxMsgSize(self, MaxMsgSize): self._MaxMsgSize = MaxMsgSize @property def Trace(self): """消息轨迹。true表示开启,false表示不开启。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: bool """ return self._Trace @Trace.setter def Trace(self, Trace): self._Trace = Trace @property def Tags(self): """关联的标签。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of Tag """ return self._Tags @Tags.setter def Tags(self, Tags): self._Tags = Tags @property def CreateUin(self): """创建者 Uin,CAM 鉴权 resource 由该字段组合而成。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._CreateUin @CreateUin.setter def CreateUin(self, CreateUin): self._CreateUin = CreateUin @property def FilterType(self): """描述用户创建订阅时选择的过滤策略: FilterType = 1表示用户使用 FilterTag 标签过滤; FilterType = 2表示用户使用 BindingKey 过滤。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._FilterType @FilterType.setter def FilterType(self, FilterType): self._FilterType = FilterType @property def TopicName(self): """主题名称。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._TopicName @TopicName.setter def TopicName(self, TopicName): self._TopicName = TopicName @property def LastModifyTime(self): """最后一次修改主题属性的时间。返回 Unix 时间戳,精确到秒。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._LastModifyTime @LastModifyTime.setter def LastModifyTime(self, LastModifyTime): self._LastModifyTime = LastModifyTime @property def MsgRetentionSeconds(self): """消息在主题中最长存活时间,从发送到该主题开始经过此参数指定的时间后,不论消息是否被成功推送给用户都将被删除,单位为秒。固定为一天(86400秒),该属性不能修改。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._MsgRetentionSeconds @MsgRetentionSeconds.setter def MsgRetentionSeconds(self, MsgRetentionSeconds): self._MsgRetentionSeconds = MsgRetentionSeconds @property def Qps(self): """每秒钟发布消息的条数。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._Qps @Qps.setter def Qps(self, Qps): self._Qps = Qps @property def CreateTime(self): """主题的创建时间。返回 Unix 时间戳,精确到秒。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._CreateTime @CreateTime.setter def CreateTime(self, CreateTime): self._CreateTime = CreateTime @property def Migrate(self): """是否迁移到新版本。0 表示未迁移,1 表示迁移中,2 表示已经迁移完毕,3 表示回切状态,曾经迁移过,4 未知状态。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._Migrate @Migrate.setter def Migrate(self, Migrate): self._Migrate = Migrate def _deserialize(self, params): self._MsgCount = params.get("MsgCount") self._TopicId = params.get("TopicId") self._MaxMsgSize = params.get("MaxMsgSize") self._Trace = params.get("Trace") if params.get("Tags") is not None: self._Tags = [] for item in params.get("Tags"): obj = Tag() obj._deserialize(item) self._Tags.append(obj) self._CreateUin = params.get("CreateUin") self._FilterType = params.get("FilterType") self._TopicName = params.get("TopicName") self._LastModifyTime = params.get("LastModifyTime") self._MsgRetentionSeconds = params.get("MsgRetentionSeconds") self._Qps = params.get("Qps") self._CreateTime = params.get("CreateTime") self._Migrate = params.get("Migrate") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class TransactionPolicy(AbstractModel): """事务消息策略 """ def __init__(self): r""" :param _MaxQueryCount: 最大查询次数。 注意:此字段可能返回 null,表示取不到有效值。 :type MaxQueryCount: int :param _FirstQueryInterval: 第一次回查时间。 注意:此字段可能返回 null,表示取不到有效值。 :type FirstQueryInterval: int """ self._MaxQueryCount = None self._FirstQueryInterval = None @property def MaxQueryCount(self): """最大查询次数。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._MaxQueryCount @MaxQueryCount.setter def MaxQueryCount(self, MaxQueryCount): self._MaxQueryCount = MaxQueryCount @property def FirstQueryInterval(self): """第一次回查时间。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._FirstQueryInterval @FirstQueryInterval.setter def FirstQueryInterval(self, FirstQueryInterval): self._FirstQueryInterval = FirstQueryInterval def _deserialize(self, params): self._MaxQueryCount = params.get("MaxQueryCount") self._FirstQueryInterval = params.get("FirstQueryInterval") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set))
Memory