
com.tencentcloudapi.tdmq.v20200217.models.CreateCmqSubscribeRequest Maven / Gradle / Ivy
/*
* Copyright (c) 2017-2018 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.
*/
package com.tencentcloudapi.tdmq.v20200217.models;
import com.tencentcloudapi.common.AbstractModel;
import com.google.gson.annotations.SerializedName;
import com.google.gson.annotations.Expose;
import java.util.HashMap;
public class CreateCmqSubscribeRequest extends AbstractModel{
/**
* 主题名字,在单个地域同一帐号下唯一。主题名称是一个不超过64个字符的字符串,必须以字母为首字符,剩余部分可以包含字母、数字和横划线(-)。
*/
@SerializedName("TopicName")
@Expose
private String TopicName;
/**
* 订阅名字,在单个地域同一帐号的同一主题下唯一。订阅名称是一个不超过64个字符的字符串,必须以字母为首字符,剩余部分可以包含字母、数字和横划线(-)。
*/
@SerializedName("SubscriptionName")
@Expose
private String SubscriptionName;
/**
* 订阅的协议,目前支持两种协议:http、queue。使用http协议,用户需自己搭建接受消息的web server。使用queue,消息会自动推送到CMQ queue,用户可以并发地拉取消息。
*/
@SerializedName("Protocol")
@Expose
private String Protocol;
/**
* 接收通知的Endpoint,根据协议Protocol区分:对于http,Endpoint必须以“`http://`”开头,host可以是域名或IP;对于Queue,则填QueueName。 请注意,目前推送服务不能推送到私有网络中,因此Endpoint填写为私有网络域名或地址将接收不到推送的消息,目前支持推送到公网和基础网络。
*/
@SerializedName("Endpoint")
@Expose
private String Endpoint;
/**
* 向Endpoint推送消息出现错误时,CMQ推送服务器的重试策略。取值有:1)BACKOFF_RETRY,退避重试。每隔一定时间重试一次,重试够一定次数后,就把该消息丢弃,继续推送下一条消息;2)EXPONENTIAL_DECAY_RETRY,指数衰退重试。每次重试的间隔是指数递增的,例如开始1s,后面是2s,4s,8s...由于Topic消息的周期是一天,所以最多重试一天就把消息丢弃。默认值是EXPONENTIAL_DECAY_RETRY。
*/
@SerializedName("NotifyStrategy")
@Expose
private String NotifyStrategy;
/**
* 消息正文。消息标签(用于消息过滤)。标签数量不能超过5个,每个标签不超过16个字符。与(Batch)PublishMessage的MsgTag参数配合使用,规则:1)如果FilterTag没有设置,则无论MsgTag是否有设置,订阅接收所有发布到Topic的消息;2)如果FilterTag数组有值,则只有数组中至少有一个值在MsgTag数组中也存在时(即FilterTag和MsgTag有交集),订阅才接收该发布到Topic的消息;3)如果FilterTag数组有值,但MsgTag没设置,则不接收任何发布到Topic的消息,可以认为是2)的一种特例,此时FilterTag和MsgTag没有交集。规则整体的设计思想是以订阅者的意愿为主。
*/
@SerializedName("FilterTag")
@Expose
private String [] FilterTag;
/**
* BindingKey数量不超过5个, 每个BindingKey长度不超过64字节,该字段表示订阅接收消息的过滤策略,每个BindingKey最多含有15个“.”, 即最多16个词组。
*/
@SerializedName("BindingKey")
@Expose
private String [] BindingKey;
/**
* 推送内容的格式。取值:1)JSON;2)SIMPLIFIED,即raw格式。如果Protocol是queue,则取值必须为SIMPLIFIED。如果Protocol是http,两个值均可以,默认值是JSON。
*/
@SerializedName("NotifyContentFormat")
@Expose
private String NotifyContentFormat;
/**
* Get 主题名字,在单个地域同一帐号下唯一。主题名称是一个不超过64个字符的字符串,必须以字母为首字符,剩余部分可以包含字母、数字和横划线(-)。
* @return TopicName 主题名字,在单个地域同一帐号下唯一。主题名称是一个不超过64个字符的字符串,必须以字母为首字符,剩余部分可以包含字母、数字和横划线(-)。
*/
public String getTopicName() {
return this.TopicName;
}
/**
* Set 主题名字,在单个地域同一帐号下唯一。主题名称是一个不超过64个字符的字符串,必须以字母为首字符,剩余部分可以包含字母、数字和横划线(-)。
* @param TopicName 主题名字,在单个地域同一帐号下唯一。主题名称是一个不超过64个字符的字符串,必须以字母为首字符,剩余部分可以包含字母、数字和横划线(-)。
*/
public void setTopicName(String TopicName) {
this.TopicName = TopicName;
}
/**
* Get 订阅名字,在单个地域同一帐号的同一主题下唯一。订阅名称是一个不超过64个字符的字符串,必须以字母为首字符,剩余部分可以包含字母、数字和横划线(-)。
* @return SubscriptionName 订阅名字,在单个地域同一帐号的同一主题下唯一。订阅名称是一个不超过64个字符的字符串,必须以字母为首字符,剩余部分可以包含字母、数字和横划线(-)。
*/
public String getSubscriptionName() {
return this.SubscriptionName;
}
/**
* Set 订阅名字,在单个地域同一帐号的同一主题下唯一。订阅名称是一个不超过64个字符的字符串,必须以字母为首字符,剩余部分可以包含字母、数字和横划线(-)。
* @param SubscriptionName 订阅名字,在单个地域同一帐号的同一主题下唯一。订阅名称是一个不超过64个字符的字符串,必须以字母为首字符,剩余部分可以包含字母、数字和横划线(-)。
*/
public void setSubscriptionName(String SubscriptionName) {
this.SubscriptionName = SubscriptionName;
}
/**
* Get 订阅的协议,目前支持两种协议:http、queue。使用http协议,用户需自己搭建接受消息的web server。使用queue,消息会自动推送到CMQ queue,用户可以并发地拉取消息。
* @return Protocol 订阅的协议,目前支持两种协议:http、queue。使用http协议,用户需自己搭建接受消息的web server。使用queue,消息会自动推送到CMQ queue,用户可以并发地拉取消息。
*/
public String getProtocol() {
return this.Protocol;
}
/**
* Set 订阅的协议,目前支持两种协议:http、queue。使用http协议,用户需自己搭建接受消息的web server。使用queue,消息会自动推送到CMQ queue,用户可以并发地拉取消息。
* @param Protocol 订阅的协议,目前支持两种协议:http、queue。使用http协议,用户需自己搭建接受消息的web server。使用queue,消息会自动推送到CMQ queue,用户可以并发地拉取消息。
*/
public void setProtocol(String Protocol) {
this.Protocol = Protocol;
}
/**
* Get 接收通知的Endpoint,根据协议Protocol区分:对于http,Endpoint必须以“`http://`”开头,host可以是域名或IP;对于Queue,则填QueueName。 请注意,目前推送服务不能推送到私有网络中,因此Endpoint填写为私有网络域名或地址将接收不到推送的消息,目前支持推送到公网和基础网络。
* @return Endpoint 接收通知的Endpoint,根据协议Protocol区分:对于http,Endpoint必须以“`http://`”开头,host可以是域名或IP;对于Queue,则填QueueName。 请注意,目前推送服务不能推送到私有网络中,因此Endpoint填写为私有网络域名或地址将接收不到推送的消息,目前支持推送到公网和基础网络。
*/
public String getEndpoint() {
return this.Endpoint;
}
/**
* Set 接收通知的Endpoint,根据协议Protocol区分:对于http,Endpoint必须以“`http://`”开头,host可以是域名或IP;对于Queue,则填QueueName。 请注意,目前推送服务不能推送到私有网络中,因此Endpoint填写为私有网络域名或地址将接收不到推送的消息,目前支持推送到公网和基础网络。
* @param Endpoint 接收通知的Endpoint,根据协议Protocol区分:对于http,Endpoint必须以“`http://`”开头,host可以是域名或IP;对于Queue,则填QueueName。 请注意,目前推送服务不能推送到私有网络中,因此Endpoint填写为私有网络域名或地址将接收不到推送的消息,目前支持推送到公网和基础网络。
*/
public void setEndpoint(String Endpoint) {
this.Endpoint = Endpoint;
}
/**
* Get 向Endpoint推送消息出现错误时,CMQ推送服务器的重试策略。取值有:1)BACKOFF_RETRY,退避重试。每隔一定时间重试一次,重试够一定次数后,就把该消息丢弃,继续推送下一条消息;2)EXPONENTIAL_DECAY_RETRY,指数衰退重试。每次重试的间隔是指数递增的,例如开始1s,后面是2s,4s,8s...由于Topic消息的周期是一天,所以最多重试一天就把消息丢弃。默认值是EXPONENTIAL_DECAY_RETRY。
* @return NotifyStrategy 向Endpoint推送消息出现错误时,CMQ推送服务器的重试策略。取值有:1)BACKOFF_RETRY,退避重试。每隔一定时间重试一次,重试够一定次数后,就把该消息丢弃,继续推送下一条消息;2)EXPONENTIAL_DECAY_RETRY,指数衰退重试。每次重试的间隔是指数递增的,例如开始1s,后面是2s,4s,8s...由于Topic消息的周期是一天,所以最多重试一天就把消息丢弃。默认值是EXPONENTIAL_DECAY_RETRY。
*/
public String getNotifyStrategy() {
return this.NotifyStrategy;
}
/**
* Set 向Endpoint推送消息出现错误时,CMQ推送服务器的重试策略。取值有:1)BACKOFF_RETRY,退避重试。每隔一定时间重试一次,重试够一定次数后,就把该消息丢弃,继续推送下一条消息;2)EXPONENTIAL_DECAY_RETRY,指数衰退重试。每次重试的间隔是指数递增的,例如开始1s,后面是2s,4s,8s...由于Topic消息的周期是一天,所以最多重试一天就把消息丢弃。默认值是EXPONENTIAL_DECAY_RETRY。
* @param NotifyStrategy 向Endpoint推送消息出现错误时,CMQ推送服务器的重试策略。取值有:1)BACKOFF_RETRY,退避重试。每隔一定时间重试一次,重试够一定次数后,就把该消息丢弃,继续推送下一条消息;2)EXPONENTIAL_DECAY_RETRY,指数衰退重试。每次重试的间隔是指数递增的,例如开始1s,后面是2s,4s,8s...由于Topic消息的周期是一天,所以最多重试一天就把消息丢弃。默认值是EXPONENTIAL_DECAY_RETRY。
*/
public void setNotifyStrategy(String NotifyStrategy) {
this.NotifyStrategy = NotifyStrategy;
}
/**
* Get 消息正文。消息标签(用于消息过滤)。标签数量不能超过5个,每个标签不超过16个字符。与(Batch)PublishMessage的MsgTag参数配合使用,规则:1)如果FilterTag没有设置,则无论MsgTag是否有设置,订阅接收所有发布到Topic的消息;2)如果FilterTag数组有值,则只有数组中至少有一个值在MsgTag数组中也存在时(即FilterTag和MsgTag有交集),订阅才接收该发布到Topic的消息;3)如果FilterTag数组有值,但MsgTag没设置,则不接收任何发布到Topic的消息,可以认为是2)的一种特例,此时FilterTag和MsgTag没有交集。规则整体的设计思想是以订阅者的意愿为主。
* @return FilterTag 消息正文。消息标签(用于消息过滤)。标签数量不能超过5个,每个标签不超过16个字符。与(Batch)PublishMessage的MsgTag参数配合使用,规则:1)如果FilterTag没有设置,则无论MsgTag是否有设置,订阅接收所有发布到Topic的消息;2)如果FilterTag数组有值,则只有数组中至少有一个值在MsgTag数组中也存在时(即FilterTag和MsgTag有交集),订阅才接收该发布到Topic的消息;3)如果FilterTag数组有值,但MsgTag没设置,则不接收任何发布到Topic的消息,可以认为是2)的一种特例,此时FilterTag和MsgTag没有交集。规则整体的设计思想是以订阅者的意愿为主。
*/
public String [] getFilterTag() {
return this.FilterTag;
}
/**
* Set 消息正文。消息标签(用于消息过滤)。标签数量不能超过5个,每个标签不超过16个字符。与(Batch)PublishMessage的MsgTag参数配合使用,规则:1)如果FilterTag没有设置,则无论MsgTag是否有设置,订阅接收所有发布到Topic的消息;2)如果FilterTag数组有值,则只有数组中至少有一个值在MsgTag数组中也存在时(即FilterTag和MsgTag有交集),订阅才接收该发布到Topic的消息;3)如果FilterTag数组有值,但MsgTag没设置,则不接收任何发布到Topic的消息,可以认为是2)的一种特例,此时FilterTag和MsgTag没有交集。规则整体的设计思想是以订阅者的意愿为主。
* @param FilterTag 消息正文。消息标签(用于消息过滤)。标签数量不能超过5个,每个标签不超过16个字符。与(Batch)PublishMessage的MsgTag参数配合使用,规则:1)如果FilterTag没有设置,则无论MsgTag是否有设置,订阅接收所有发布到Topic的消息;2)如果FilterTag数组有值,则只有数组中至少有一个值在MsgTag数组中也存在时(即FilterTag和MsgTag有交集),订阅才接收该发布到Topic的消息;3)如果FilterTag数组有值,但MsgTag没设置,则不接收任何发布到Topic的消息,可以认为是2)的一种特例,此时FilterTag和MsgTag没有交集。规则整体的设计思想是以订阅者的意愿为主。
*/
public void setFilterTag(String [] FilterTag) {
this.FilterTag = FilterTag;
}
/**
* Get BindingKey数量不超过5个, 每个BindingKey长度不超过64字节,该字段表示订阅接收消息的过滤策略,每个BindingKey最多含有15个“.”, 即最多16个词组。
* @return BindingKey BindingKey数量不超过5个, 每个BindingKey长度不超过64字节,该字段表示订阅接收消息的过滤策略,每个BindingKey最多含有15个“.”, 即最多16个词组。
*/
public String [] getBindingKey() {
return this.BindingKey;
}
/**
* Set BindingKey数量不超过5个, 每个BindingKey长度不超过64字节,该字段表示订阅接收消息的过滤策略,每个BindingKey最多含有15个“.”, 即最多16个词组。
* @param BindingKey BindingKey数量不超过5个, 每个BindingKey长度不超过64字节,该字段表示订阅接收消息的过滤策略,每个BindingKey最多含有15个“.”, 即最多16个词组。
*/
public void setBindingKey(String [] BindingKey) {
this.BindingKey = BindingKey;
}
/**
* Get 推送内容的格式。取值:1)JSON;2)SIMPLIFIED,即raw格式。如果Protocol是queue,则取值必须为SIMPLIFIED。如果Protocol是http,两个值均可以,默认值是JSON。
* @return NotifyContentFormat 推送内容的格式。取值:1)JSON;2)SIMPLIFIED,即raw格式。如果Protocol是queue,则取值必须为SIMPLIFIED。如果Protocol是http,两个值均可以,默认值是JSON。
*/
public String getNotifyContentFormat() {
return this.NotifyContentFormat;
}
/**
* Set 推送内容的格式。取值:1)JSON;2)SIMPLIFIED,即raw格式。如果Protocol是queue,则取值必须为SIMPLIFIED。如果Protocol是http,两个值均可以,默认值是JSON。
* @param NotifyContentFormat 推送内容的格式。取值:1)JSON;2)SIMPLIFIED,即raw格式。如果Protocol是queue,则取值必须为SIMPLIFIED。如果Protocol是http,两个值均可以,默认值是JSON。
*/
public void setNotifyContentFormat(String NotifyContentFormat) {
this.NotifyContentFormat = NotifyContentFormat;
}
public CreateCmqSubscribeRequest() {
}
/**
* NOTE: Any ambiguous key set via .set("AnyKey", "value") will be a shallow copy,
* and any explicit key, i.e Foo, set via .setFoo("value") will be a deep copy.
*/
public CreateCmqSubscribeRequest(CreateCmqSubscribeRequest source) {
if (source.TopicName != null) {
this.TopicName = new String(source.TopicName);
}
if (source.SubscriptionName != null) {
this.SubscriptionName = new String(source.SubscriptionName);
}
if (source.Protocol != null) {
this.Protocol = new String(source.Protocol);
}
if (source.Endpoint != null) {
this.Endpoint = new String(source.Endpoint);
}
if (source.NotifyStrategy != null) {
this.NotifyStrategy = new String(source.NotifyStrategy);
}
if (source.FilterTag != null) {
this.FilterTag = new String[source.FilterTag.length];
for (int i = 0; i < source.FilterTag.length; i++) {
this.FilterTag[i] = new String(source.FilterTag[i]);
}
}
if (source.BindingKey != null) {
this.BindingKey = new String[source.BindingKey.length];
for (int i = 0; i < source.BindingKey.length; i++) {
this.BindingKey[i] = new String(source.BindingKey[i]);
}
}
if (source.NotifyContentFormat != null) {
this.NotifyContentFormat = new String(source.NotifyContentFormat);
}
}
/**
* Internal implementation, normal users should not use it.
*/
public void toMap(HashMap map, String prefix) {
this.setParamSimple(map, prefix + "TopicName", this.TopicName);
this.setParamSimple(map, prefix + "SubscriptionName", this.SubscriptionName);
this.setParamSimple(map, prefix + "Protocol", this.Protocol);
this.setParamSimple(map, prefix + "Endpoint", this.Endpoint);
this.setParamSimple(map, prefix + "NotifyStrategy", this.NotifyStrategy);
this.setParamArraySimple(map, prefix + "FilterTag.", this.FilterTag);
this.setParamArraySimple(map, prefix + "BindingKey.", this.BindingKey);
this.setParamSimple(map, prefix + "NotifyContentFormat", this.NotifyContentFormat);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy