All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.sns.model.PublishBatchRequestEntry Maven / Gradle / Ivy

Go to download

The AWS Java SDK for Amazon SNS module holds the client classes that are used for communicating with Amazon Simple Notification Service

There is a newer version: 1.12.772
Show newest version
/*
 * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. 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. A copy of the License is located at
 * 
 * http://aws.amazon.com/apache2.0
 * 
 * or in the "license" file accompanying this file. This file 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.amazonaws.services.sns.model;

import java.io.Serializable;
import javax.annotation.Generated;

/**
 * 

* Contains the details of a single Amazon SNS message along with an Id that identifies a message within * the batch. *

* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class PublishBatchRequestEntry implements Serializable, Cloneable { /** *

* An identifier for the message in this batch. *

* *

* The Ids of a batch request must be unique within a request. *

*

* This identifier can have up to 80 characters. The following characters are accepted: alphanumeric characters, * hyphens(-), and underscores (_). *

*
*/ private String id; /** *

* The body of the message. *

*/ private String message; /** *

* The subject of the batch message. *

*/ private String subject; /** *

* Set MessageStructure to json if you want to send a different message for each protocol. * For example, using one publish action, you can send a short message to your SMS subscribers and a longer message * to your email subscribers. If you set MessageStructure to json, the value of the * Message parameter must: *

*
    *
  • *

    * be a syntactically valid JSON object; and *

    *
  • *
  • *

    * contain at least a top-level JSON key of "default" with a value that is a string. *

    *
  • *
*

* You can define other top-level keys that define the message you want to send to a specific transport protocol * (e.g. http). *

*/ private String messageStructure; /** *

* Each message attribute consists of a Name, Type, and Value. For more * information, see Amazon SNS * message attributes in the Amazon SNS Developer Guide. *

*/ private com.amazonaws.internal.SdkInternalMap messageAttributes; /** *

* This parameter applies only to FIFO (first-in-first-out) topics. *

*

* The token used for deduplication of messages within a 5-minute minimum deduplication interval. If a message with * a particular MessageDeduplicationId is sent successfully, subsequent messages with the same * MessageDeduplicationId are accepted successfully but aren't delivered. *

*
    *
  • *

    * Every message must have a unique MessageDeduplicationId. *

    *
      *
    • *

      * You may provide a MessageDeduplicationId explicitly. *

      *
    • *
    • *

      * If you aren't able to provide a MessageDeduplicationId and you enable * ContentBasedDeduplication for your topic, Amazon SNS uses a SHA-256 hash to generate the * MessageDeduplicationId using the body of the message (but not the attributes of the message). *

      *
    • *
    • *

      * If you don't provide a MessageDeduplicationId and the topic doesn't have * ContentBasedDeduplication set, the action fails with an error. *

      *
    • *
    • *

      * If the topic has a ContentBasedDeduplication set, your MessageDeduplicationId overrides * the generated one. *

      *
    • *
    *
  • *
  • *

    * When ContentBasedDeduplication is in effect, messages with identical content sent within the * deduplication interval are treated as duplicates and only one copy of the message is delivered. *

    *
  • *
  • *

    * If you send one message with ContentBasedDeduplication enabled, and then another message with a * MessageDeduplicationId that is the same as the one generated for the first * MessageDeduplicationId, the two messages are treated as duplicates and only one copy of the message * is delivered. *

    *
  • *
* *

* The MessageDeduplicationId is available to the consumer of the message (this can be useful for * troubleshooting delivery issues). *

*

* If a message is sent successfully but the acknowledgement is lost and the message is resent with the same * MessageDeduplicationId after the deduplication interval, Amazon SNS can't detect duplicate messages. *

*

* Amazon SNS continues to keep track of the message deduplication ID even after the message is received and * deleted. *

*
*

* The length of MessageDeduplicationId is 128 characters. *

*

* MessageDeduplicationId can contain alphanumeric characters (a-z, A-Z, 0-9) and * punctuation (!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~). *

*/ private String messageDeduplicationId; /** *

* This parameter applies only to FIFO (first-in-first-out) topics. *

*

* The tag that specifies that a message belongs to a specific message group. Messages that belong to the same * message group are processed in a FIFO manner (however, messages in different message groups might be processed * out of order). To interleave multiple ordered streams within a single topic, use MessageGroupId * values (for example, session data for multiple users). In this scenario, multiple consumers can process the * topic, but the session data of each user is processed in a FIFO fashion. *

*

* You must associate a non-empty MessageGroupId with a message. If you don't provide a * MessageGroupId, the action fails. *

*

* The length of MessageGroupId is 128 characters. *

*

* MessageGroupId can contain alphanumeric characters (a-z, A-Z, 0-9) and punctuation * (!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~). *

* *

* MessageGroupId is required for FIFO topics. You can't use it for standard topics. *

*
*/ private String messageGroupId; /** *

* An identifier for the message in this batch. *

* *

* The Ids of a batch request must be unique within a request. *

*

* This identifier can have up to 80 characters. The following characters are accepted: alphanumeric characters, * hyphens(-), and underscores (_). *

*
* * @param id * An identifier for the message in this batch.

*

* The Ids of a batch request must be unique within a request. *

*

* This identifier can have up to 80 characters. The following characters are accepted: alphanumeric * characters, hyphens(-), and underscores (_). *

*/ public void setId(String id) { this.id = id; } /** *

* An identifier for the message in this batch. *

* *

* The Ids of a batch request must be unique within a request. *

*

* This identifier can have up to 80 characters. The following characters are accepted: alphanumeric characters, * hyphens(-), and underscores (_). *

*
* * @return An identifier for the message in this batch.

*

* The Ids of a batch request must be unique within a request. *

*

* This identifier can have up to 80 characters. The following characters are accepted: alphanumeric * characters, hyphens(-), and underscores (_). *

*/ public String getId() { return this.id; } /** *

* An identifier for the message in this batch. *

* *

* The Ids of a batch request must be unique within a request. *

*

* This identifier can have up to 80 characters. The following characters are accepted: alphanumeric characters, * hyphens(-), and underscores (_). *

*
* * @param id * An identifier for the message in this batch.

*

* The Ids of a batch request must be unique within a request. *

*

* This identifier can have up to 80 characters. The following characters are accepted: alphanumeric * characters, hyphens(-), and underscores (_). *

* @return Returns a reference to this object so that method calls can be chained together. */ public PublishBatchRequestEntry withId(String id) { setId(id); return this; } /** *

* The body of the message. *

* * @param message * The body of the message. */ public void setMessage(String message) { this.message = message; } /** *

* The body of the message. *

* * @return The body of the message. */ public String getMessage() { return this.message; } /** *

* The body of the message. *

* * @param message * The body of the message. * @return Returns a reference to this object so that method calls can be chained together. */ public PublishBatchRequestEntry withMessage(String message) { setMessage(message); return this; } /** *

* The subject of the batch message. *

* * @param subject * The subject of the batch message. */ public void setSubject(String subject) { this.subject = subject; } /** *

* The subject of the batch message. *

* * @return The subject of the batch message. */ public String getSubject() { return this.subject; } /** *

* The subject of the batch message. *

* * @param subject * The subject of the batch message. * @return Returns a reference to this object so that method calls can be chained together. */ public PublishBatchRequestEntry withSubject(String subject) { setSubject(subject); return this; } /** *

* Set MessageStructure to json if you want to send a different message for each protocol. * For example, using one publish action, you can send a short message to your SMS subscribers and a longer message * to your email subscribers. If you set MessageStructure to json, the value of the * Message parameter must: *

*
    *
  • *

    * be a syntactically valid JSON object; and *

    *
  • *
  • *

    * contain at least a top-level JSON key of "default" with a value that is a string. *

    *
  • *
*

* You can define other top-level keys that define the message you want to send to a specific transport protocol * (e.g. http). *

* * @param messageStructure * Set MessageStructure to json if you want to send a different message for each * protocol. For example, using one publish action, you can send a short message to your SMS subscribers and * a longer message to your email subscribers. If you set MessageStructure to json, * the value of the Message parameter must:

*
    *
  • *

    * be a syntactically valid JSON object; and *

    *
  • *
  • *

    * contain at least a top-level JSON key of "default" with a value that is a string. *

    *
  • *
*

* You can define other top-level keys that define the message you want to send to a specific transport * protocol (e.g. http). */ public void setMessageStructure(String messageStructure) { this.messageStructure = messageStructure; } /** *

* Set MessageStructure to json if you want to send a different message for each protocol. * For example, using one publish action, you can send a short message to your SMS subscribers and a longer message * to your email subscribers. If you set MessageStructure to json, the value of the * Message parameter must: *

*
    *
  • *

    * be a syntactically valid JSON object; and *

    *
  • *
  • *

    * contain at least a top-level JSON key of "default" with a value that is a string. *

    *
  • *
*

* You can define other top-level keys that define the message you want to send to a specific transport protocol * (e.g. http). *

* * @return Set MessageStructure to json if you want to send a different message for each * protocol. For example, using one publish action, you can send a short message to your SMS subscribers and * a longer message to your email subscribers. If you set MessageStructure to json * , the value of the Message parameter must:

*
    *
  • *

    * be a syntactically valid JSON object; and *

    *
  • *
  • *

    * contain at least a top-level JSON key of "default" with a value that is a string. *

    *
  • *
*

* You can define other top-level keys that define the message you want to send to a specific transport * protocol (e.g. http). */ public String getMessageStructure() { return this.messageStructure; } /** *

* Set MessageStructure to json if you want to send a different message for each protocol. * For example, using one publish action, you can send a short message to your SMS subscribers and a longer message * to your email subscribers. If you set MessageStructure to json, the value of the * Message parameter must: *

*
    *
  • *

    * be a syntactically valid JSON object; and *

    *
  • *
  • *

    * contain at least a top-level JSON key of "default" with a value that is a string. *

    *
  • *
*

* You can define other top-level keys that define the message you want to send to a specific transport protocol * (e.g. http). *

* * @param messageStructure * Set MessageStructure to json if you want to send a different message for each * protocol. For example, using one publish action, you can send a short message to your SMS subscribers and * a longer message to your email subscribers. If you set MessageStructure to json, * the value of the Message parameter must:

*
    *
  • *

    * be a syntactically valid JSON object; and *

    *
  • *
  • *

    * contain at least a top-level JSON key of "default" with a value that is a string. *

    *
  • *
*

* You can define other top-level keys that define the message you want to send to a specific transport * protocol (e.g. http). * @return Returns a reference to this object so that method calls can be chained together. */ public PublishBatchRequestEntry withMessageStructure(String messageStructure) { setMessageStructure(messageStructure); return this; } /** *

* Each message attribute consists of a Name, Type, and Value. For more * information, see Amazon SNS * message attributes in the Amazon SNS Developer Guide. *

* * @return Each message attribute consists of a Name, Type, and Value. For * more information, see Amazon SNS message * attributes in the Amazon SNS Developer Guide. */ public java.util.Map getMessageAttributes() { if (messageAttributes == null) { messageAttributes = new com.amazonaws.internal.SdkInternalMap(); } return messageAttributes; } /** *

* Each message attribute consists of a Name, Type, and Value. For more * information, see Amazon SNS * message attributes in the Amazon SNS Developer Guide. *

* * @param messageAttributes * Each message attribute consists of a Name, Type, and Value. For * more information, see Amazon SNS message * attributes in the Amazon SNS Developer Guide. */ public void setMessageAttributes(java.util.Map messageAttributes) { this.messageAttributes = messageAttributes == null ? null : new com.amazonaws.internal.SdkInternalMap(messageAttributes); } /** *

* Each message attribute consists of a Name, Type, and Value. For more * information, see Amazon SNS * message attributes in the Amazon SNS Developer Guide. *

* * @param messageAttributes * Each message attribute consists of a Name, Type, and Value. For * more information, see Amazon SNS message * attributes in the Amazon SNS Developer Guide. * @return Returns a reference to this object so that method calls can be chained together. */ public PublishBatchRequestEntry withMessageAttributes(java.util.Map messageAttributes) { setMessageAttributes(messageAttributes); return this; } /** * Add a single MessageAttributes entry * * @see PublishBatchRequestEntry#withMessageAttributes * @returns a reference to this object so that method calls can be chained together. */ public PublishBatchRequestEntry addMessageAttributesEntry(String key, MessageAttributeValue value) { if (null == this.messageAttributes) { this.messageAttributes = new com.amazonaws.internal.SdkInternalMap(); } if (this.messageAttributes.containsKey(key)) throw new IllegalArgumentException("Duplicated keys (" + key.toString() + ") are provided."); this.messageAttributes.put(key, value); return this; } /** * Removes all the entries added into MessageAttributes. * * @return Returns a reference to this object so that method calls can be chained together. */ public PublishBatchRequestEntry clearMessageAttributesEntries() { this.messageAttributes = null; return this; } /** *

* This parameter applies only to FIFO (first-in-first-out) topics. *

*

* The token used for deduplication of messages within a 5-minute minimum deduplication interval. If a message with * a particular MessageDeduplicationId is sent successfully, subsequent messages with the same * MessageDeduplicationId are accepted successfully but aren't delivered. *

*
    *
  • *

    * Every message must have a unique MessageDeduplicationId. *

    *
      *
    • *

      * You may provide a MessageDeduplicationId explicitly. *

      *
    • *
    • *

      * If you aren't able to provide a MessageDeduplicationId and you enable * ContentBasedDeduplication for your topic, Amazon SNS uses a SHA-256 hash to generate the * MessageDeduplicationId using the body of the message (but not the attributes of the message). *

      *
    • *
    • *

      * If you don't provide a MessageDeduplicationId and the topic doesn't have * ContentBasedDeduplication set, the action fails with an error. *

      *
    • *
    • *

      * If the topic has a ContentBasedDeduplication set, your MessageDeduplicationId overrides * the generated one. *

      *
    • *
    *
  • *
  • *

    * When ContentBasedDeduplication is in effect, messages with identical content sent within the * deduplication interval are treated as duplicates and only one copy of the message is delivered. *

    *
  • *
  • *

    * If you send one message with ContentBasedDeduplication enabled, and then another message with a * MessageDeduplicationId that is the same as the one generated for the first * MessageDeduplicationId, the two messages are treated as duplicates and only one copy of the message * is delivered. *

    *
  • *
* *

* The MessageDeduplicationId is available to the consumer of the message (this can be useful for * troubleshooting delivery issues). *

*

* If a message is sent successfully but the acknowledgement is lost and the message is resent with the same * MessageDeduplicationId after the deduplication interval, Amazon SNS can't detect duplicate messages. *

*

* Amazon SNS continues to keep track of the message deduplication ID even after the message is received and * deleted. *

*
*

* The length of MessageDeduplicationId is 128 characters. *

*

* MessageDeduplicationId can contain alphanumeric characters (a-z, A-Z, 0-9) and * punctuation (!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~). *

* * @param messageDeduplicationId * This parameter applies only to FIFO (first-in-first-out) topics.

*

* The token used for deduplication of messages within a 5-minute minimum deduplication interval. If a * message with a particular MessageDeduplicationId is sent successfully, subsequent messages * with the same MessageDeduplicationId are accepted successfully but aren't delivered. *

*
    *
  • *

    * Every message must have a unique MessageDeduplicationId. *

    *
      *
    • *

      * You may provide a MessageDeduplicationId explicitly. *

      *
    • *
    • *

      * If you aren't able to provide a MessageDeduplicationId and you enable * ContentBasedDeduplication for your topic, Amazon SNS uses a SHA-256 hash to generate the * MessageDeduplicationId using the body of the message (but not the attributes of the message). *

      *
    • *
    • *

      * If you don't provide a MessageDeduplicationId and the topic doesn't have * ContentBasedDeduplication set, the action fails with an error. *

      *
    • *
    • *

      * If the topic has a ContentBasedDeduplication set, your MessageDeduplicationId * overrides the generated one. *

      *
    • *
    *
  • *
  • *

    * When ContentBasedDeduplication is in effect, messages with identical content sent within the * deduplication interval are treated as duplicates and only one copy of the message is delivered. *

    *
  • *
  • *

    * If you send one message with ContentBasedDeduplication enabled, and then another message with * a MessageDeduplicationId that is the same as the one generated for the first * MessageDeduplicationId, the two messages are treated as duplicates and only one copy of the * message is delivered. *

    *
  • *
* *

* The MessageDeduplicationId is available to the consumer of the message (this can be useful * for troubleshooting delivery issues). *

*

* If a message is sent successfully but the acknowledgement is lost and the message is resent with the same * MessageDeduplicationId after the deduplication interval, Amazon SNS can't detect duplicate * messages. *

*

* Amazon SNS continues to keep track of the message deduplication ID even after the message is received and * deleted. *

*
*

* The length of MessageDeduplicationId is 128 characters. *

*

* MessageDeduplicationId can contain alphanumeric characters (a-z, A-Z, 0-9) and * punctuation (!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~). */ public void setMessageDeduplicationId(String messageDeduplicationId) { this.messageDeduplicationId = messageDeduplicationId; } /** *

* This parameter applies only to FIFO (first-in-first-out) topics. *

*

* The token used for deduplication of messages within a 5-minute minimum deduplication interval. If a message with * a particular MessageDeduplicationId is sent successfully, subsequent messages with the same * MessageDeduplicationId are accepted successfully but aren't delivered. *

*
    *
  • *

    * Every message must have a unique MessageDeduplicationId. *

    *
      *
    • *

      * You may provide a MessageDeduplicationId explicitly. *

      *
    • *
    • *

      * If you aren't able to provide a MessageDeduplicationId and you enable * ContentBasedDeduplication for your topic, Amazon SNS uses a SHA-256 hash to generate the * MessageDeduplicationId using the body of the message (but not the attributes of the message). *

      *
    • *
    • *

      * If you don't provide a MessageDeduplicationId and the topic doesn't have * ContentBasedDeduplication set, the action fails with an error. *

      *
    • *
    • *

      * If the topic has a ContentBasedDeduplication set, your MessageDeduplicationId overrides * the generated one. *

      *
    • *
    *
  • *
  • *

    * When ContentBasedDeduplication is in effect, messages with identical content sent within the * deduplication interval are treated as duplicates and only one copy of the message is delivered. *

    *
  • *
  • *

    * If you send one message with ContentBasedDeduplication enabled, and then another message with a * MessageDeduplicationId that is the same as the one generated for the first * MessageDeduplicationId, the two messages are treated as duplicates and only one copy of the message * is delivered. *

    *
  • *
* *

* The MessageDeduplicationId is available to the consumer of the message (this can be useful for * troubleshooting delivery issues). *

*

* If a message is sent successfully but the acknowledgement is lost and the message is resent with the same * MessageDeduplicationId after the deduplication interval, Amazon SNS can't detect duplicate messages. *

*

* Amazon SNS continues to keep track of the message deduplication ID even after the message is received and * deleted. *

*
*

* The length of MessageDeduplicationId is 128 characters. *

*

* MessageDeduplicationId can contain alphanumeric characters (a-z, A-Z, 0-9) and * punctuation (!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~). *

* * @return This parameter applies only to FIFO (first-in-first-out) topics.

*

* The token used for deduplication of messages within a 5-minute minimum deduplication interval. If a * message with a particular MessageDeduplicationId is sent successfully, subsequent messages * with the same MessageDeduplicationId are accepted successfully but aren't delivered. *

*
    *
  • *

    * Every message must have a unique MessageDeduplicationId. *

    *
      *
    • *

      * You may provide a MessageDeduplicationId explicitly. *

      *
    • *
    • *

      * If you aren't able to provide a MessageDeduplicationId and you enable * ContentBasedDeduplication for your topic, Amazon SNS uses a SHA-256 hash to generate the * MessageDeduplicationId using the body of the message (but not the attributes of the * message). *

      *
    • *
    • *

      * If you don't provide a MessageDeduplicationId and the topic doesn't have * ContentBasedDeduplication set, the action fails with an error. *

      *
    • *
    • *

      * If the topic has a ContentBasedDeduplication set, your MessageDeduplicationId * overrides the generated one. *

      *
    • *
    *
  • *
  • *

    * When ContentBasedDeduplication is in effect, messages with identical content sent within the * deduplication interval are treated as duplicates and only one copy of the message is delivered. *

    *
  • *
  • *

    * If you send one message with ContentBasedDeduplication enabled, and then another message * with a MessageDeduplicationId that is the same as the one generated for the first * MessageDeduplicationId, the two messages are treated as duplicates and only one copy of the * message is delivered. *

    *
  • *
* *

* The MessageDeduplicationId is available to the consumer of the message (this can be useful * for troubleshooting delivery issues). *

*

* If a message is sent successfully but the acknowledgement is lost and the message is resent with the same * MessageDeduplicationId after the deduplication interval, Amazon SNS can't detect duplicate * messages. *

*

* Amazon SNS continues to keep track of the message deduplication ID even after the message is received and * deleted. *

*
*

* The length of MessageDeduplicationId is 128 characters. *

*

* MessageDeduplicationId can contain alphanumeric characters (a-z, A-Z, 0-9) and * punctuation (!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~). */ public String getMessageDeduplicationId() { return this.messageDeduplicationId; } /** *

* This parameter applies only to FIFO (first-in-first-out) topics. *

*

* The token used for deduplication of messages within a 5-minute minimum deduplication interval. If a message with * a particular MessageDeduplicationId is sent successfully, subsequent messages with the same * MessageDeduplicationId are accepted successfully but aren't delivered. *

*
    *
  • *

    * Every message must have a unique MessageDeduplicationId. *

    *
      *
    • *

      * You may provide a MessageDeduplicationId explicitly. *

      *
    • *
    • *

      * If you aren't able to provide a MessageDeduplicationId and you enable * ContentBasedDeduplication for your topic, Amazon SNS uses a SHA-256 hash to generate the * MessageDeduplicationId using the body of the message (but not the attributes of the message). *

      *
    • *
    • *

      * If you don't provide a MessageDeduplicationId and the topic doesn't have * ContentBasedDeduplication set, the action fails with an error. *

      *
    • *
    • *

      * If the topic has a ContentBasedDeduplication set, your MessageDeduplicationId overrides * the generated one. *

      *
    • *
    *
  • *
  • *

    * When ContentBasedDeduplication is in effect, messages with identical content sent within the * deduplication interval are treated as duplicates and only one copy of the message is delivered. *

    *
  • *
  • *

    * If you send one message with ContentBasedDeduplication enabled, and then another message with a * MessageDeduplicationId that is the same as the one generated for the first * MessageDeduplicationId, the two messages are treated as duplicates and only one copy of the message * is delivered. *

    *
  • *
* *

* The MessageDeduplicationId is available to the consumer of the message (this can be useful for * troubleshooting delivery issues). *

*

* If a message is sent successfully but the acknowledgement is lost and the message is resent with the same * MessageDeduplicationId after the deduplication interval, Amazon SNS can't detect duplicate messages. *

*

* Amazon SNS continues to keep track of the message deduplication ID even after the message is received and * deleted. *

*
*

* The length of MessageDeduplicationId is 128 characters. *

*

* MessageDeduplicationId can contain alphanumeric characters (a-z, A-Z, 0-9) and * punctuation (!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~). *

* * @param messageDeduplicationId * This parameter applies only to FIFO (first-in-first-out) topics.

*

* The token used for deduplication of messages within a 5-minute minimum deduplication interval. If a * message with a particular MessageDeduplicationId is sent successfully, subsequent messages * with the same MessageDeduplicationId are accepted successfully but aren't delivered. *

*
    *
  • *

    * Every message must have a unique MessageDeduplicationId. *

    *
      *
    • *

      * You may provide a MessageDeduplicationId explicitly. *

      *
    • *
    • *

      * If you aren't able to provide a MessageDeduplicationId and you enable * ContentBasedDeduplication for your topic, Amazon SNS uses a SHA-256 hash to generate the * MessageDeduplicationId using the body of the message (but not the attributes of the message). *

      *
    • *
    • *

      * If you don't provide a MessageDeduplicationId and the topic doesn't have * ContentBasedDeduplication set, the action fails with an error. *

      *
    • *
    • *

      * If the topic has a ContentBasedDeduplication set, your MessageDeduplicationId * overrides the generated one. *

      *
    • *
    *
  • *
  • *

    * When ContentBasedDeduplication is in effect, messages with identical content sent within the * deduplication interval are treated as duplicates and only one copy of the message is delivered. *

    *
  • *
  • *

    * If you send one message with ContentBasedDeduplication enabled, and then another message with * a MessageDeduplicationId that is the same as the one generated for the first * MessageDeduplicationId, the two messages are treated as duplicates and only one copy of the * message is delivered. *

    *
  • *
* *

* The MessageDeduplicationId is available to the consumer of the message (this can be useful * for troubleshooting delivery issues). *

*

* If a message is sent successfully but the acknowledgement is lost and the message is resent with the same * MessageDeduplicationId after the deduplication interval, Amazon SNS can't detect duplicate * messages. *

*

* Amazon SNS continues to keep track of the message deduplication ID even after the message is received and * deleted. *

*
*

* The length of MessageDeduplicationId is 128 characters. *

*

* MessageDeduplicationId can contain alphanumeric characters (a-z, A-Z, 0-9) and * punctuation (!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~). * @return Returns a reference to this object so that method calls can be chained together. */ public PublishBatchRequestEntry withMessageDeduplicationId(String messageDeduplicationId) { setMessageDeduplicationId(messageDeduplicationId); return this; } /** *

* This parameter applies only to FIFO (first-in-first-out) topics. *

*

* The tag that specifies that a message belongs to a specific message group. Messages that belong to the same * message group are processed in a FIFO manner (however, messages in different message groups might be processed * out of order). To interleave multiple ordered streams within a single topic, use MessageGroupId * values (for example, session data for multiple users). In this scenario, multiple consumers can process the * topic, but the session data of each user is processed in a FIFO fashion. *

*

* You must associate a non-empty MessageGroupId with a message. If you don't provide a * MessageGroupId, the action fails. *

*

* The length of MessageGroupId is 128 characters. *

*

* MessageGroupId can contain alphanumeric characters (a-z, A-Z, 0-9) and punctuation * (!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~). *

* *

* MessageGroupId is required for FIFO topics. You can't use it for standard topics. *

*
* * @param messageGroupId * This parameter applies only to FIFO (first-in-first-out) topics.

*

* The tag that specifies that a message belongs to a specific message group. Messages that belong to the * same message group are processed in a FIFO manner (however, messages in different message groups might be * processed out of order). To interleave multiple ordered streams within a single topic, use * MessageGroupId values (for example, session data for multiple users). In this scenario, * multiple consumers can process the topic, but the session data of each user is processed in a FIFO * fashion. *

*

* You must associate a non-empty MessageGroupId with a message. If you don't provide a * MessageGroupId, the action fails. *

*

* The length of MessageGroupId is 128 characters. *

*

* MessageGroupId can contain alphanumeric characters (a-z, A-Z, 0-9) and * punctuation (!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~). *

* *

* MessageGroupId is required for FIFO topics. You can't use it for standard topics. *

*/ public void setMessageGroupId(String messageGroupId) { this.messageGroupId = messageGroupId; } /** *

* This parameter applies only to FIFO (first-in-first-out) topics. *

*

* The tag that specifies that a message belongs to a specific message group. Messages that belong to the same * message group are processed in a FIFO manner (however, messages in different message groups might be processed * out of order). To interleave multiple ordered streams within a single topic, use MessageGroupId * values (for example, session data for multiple users). In this scenario, multiple consumers can process the * topic, but the session data of each user is processed in a FIFO fashion. *

*

* You must associate a non-empty MessageGroupId with a message. If you don't provide a * MessageGroupId, the action fails. *

*

* The length of MessageGroupId is 128 characters. *

*

* MessageGroupId can contain alphanumeric characters (a-z, A-Z, 0-9) and punctuation * (!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~). *

* *

* MessageGroupId is required for FIFO topics. You can't use it for standard topics. *

*
* * @return This parameter applies only to FIFO (first-in-first-out) topics.

*

* The tag that specifies that a message belongs to a specific message group. Messages that belong to the * same message group are processed in a FIFO manner (however, messages in different message groups might be * processed out of order). To interleave multiple ordered streams within a single topic, use * MessageGroupId values (for example, session data for multiple users). In this scenario, * multiple consumers can process the topic, but the session data of each user is processed in a FIFO * fashion. *

*

* You must associate a non-empty MessageGroupId with a message. If you don't provide a * MessageGroupId, the action fails. *

*

* The length of MessageGroupId is 128 characters. *

*

* MessageGroupId can contain alphanumeric characters (a-z, A-Z, 0-9) and * punctuation (!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~). *

* *

* MessageGroupId is required for FIFO topics. You can't use it for standard topics. *

*/ public String getMessageGroupId() { return this.messageGroupId; } /** *

* This parameter applies only to FIFO (first-in-first-out) topics. *

*

* The tag that specifies that a message belongs to a specific message group. Messages that belong to the same * message group are processed in a FIFO manner (however, messages in different message groups might be processed * out of order). To interleave multiple ordered streams within a single topic, use MessageGroupId * values (for example, session data for multiple users). In this scenario, multiple consumers can process the * topic, but the session data of each user is processed in a FIFO fashion. *

*

* You must associate a non-empty MessageGroupId with a message. If you don't provide a * MessageGroupId, the action fails. *

*

* The length of MessageGroupId is 128 characters. *

*

* MessageGroupId can contain alphanumeric characters (a-z, A-Z, 0-9) and punctuation * (!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~). *

* *

* MessageGroupId is required for FIFO topics. You can't use it for standard topics. *

*
* * @param messageGroupId * This parameter applies only to FIFO (first-in-first-out) topics.

*

* The tag that specifies that a message belongs to a specific message group. Messages that belong to the * same message group are processed in a FIFO manner (however, messages in different message groups might be * processed out of order). To interleave multiple ordered streams within a single topic, use * MessageGroupId values (for example, session data for multiple users). In this scenario, * multiple consumers can process the topic, but the session data of each user is processed in a FIFO * fashion. *

*

* You must associate a non-empty MessageGroupId with a message. If you don't provide a * MessageGroupId, the action fails. *

*

* The length of MessageGroupId is 128 characters. *

*

* MessageGroupId can contain alphanumeric characters (a-z, A-Z, 0-9) and * punctuation (!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~). *

* *

* MessageGroupId is required for FIFO topics. You can't use it for standard topics. *

* @return Returns a reference to this object so that method calls can be chained together. */ public PublishBatchRequestEntry withMessageGroupId(String messageGroupId) { setMessageGroupId(messageGroupId); return this; } /** * Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be * redacted from this string using a placeholder value. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getId() != null) sb.append("Id: ").append(getId()).append(","); if (getMessage() != null) sb.append("Message: ").append(getMessage()).append(","); if (getSubject() != null) sb.append("Subject: ").append(getSubject()).append(","); if (getMessageStructure() != null) sb.append("MessageStructure: ").append(getMessageStructure()).append(","); if (getMessageAttributes() != null) sb.append("MessageAttributes: ").append(getMessageAttributes()).append(","); if (getMessageDeduplicationId() != null) sb.append("MessageDeduplicationId: ").append(getMessageDeduplicationId()).append(","); if (getMessageGroupId() != null) sb.append("MessageGroupId: ").append(getMessageGroupId()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof PublishBatchRequestEntry == false) return false; PublishBatchRequestEntry other = (PublishBatchRequestEntry) obj; if (other.getId() == null ^ this.getId() == null) return false; if (other.getId() != null && other.getId().equals(this.getId()) == false) return false; if (other.getMessage() == null ^ this.getMessage() == null) return false; if (other.getMessage() != null && other.getMessage().equals(this.getMessage()) == false) return false; if (other.getSubject() == null ^ this.getSubject() == null) return false; if (other.getSubject() != null && other.getSubject().equals(this.getSubject()) == false) return false; if (other.getMessageStructure() == null ^ this.getMessageStructure() == null) return false; if (other.getMessageStructure() != null && other.getMessageStructure().equals(this.getMessageStructure()) == false) return false; if (other.getMessageAttributes() == null ^ this.getMessageAttributes() == null) return false; if (other.getMessageAttributes() != null && other.getMessageAttributes().equals(this.getMessageAttributes()) == false) return false; if (other.getMessageDeduplicationId() == null ^ this.getMessageDeduplicationId() == null) return false; if (other.getMessageDeduplicationId() != null && other.getMessageDeduplicationId().equals(this.getMessageDeduplicationId()) == false) return false; if (other.getMessageGroupId() == null ^ this.getMessageGroupId() == null) return false; if (other.getMessageGroupId() != null && other.getMessageGroupId().equals(this.getMessageGroupId()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getId() == null) ? 0 : getId().hashCode()); hashCode = prime * hashCode + ((getMessage() == null) ? 0 : getMessage().hashCode()); hashCode = prime * hashCode + ((getSubject() == null) ? 0 : getSubject().hashCode()); hashCode = prime * hashCode + ((getMessageStructure() == null) ? 0 : getMessageStructure().hashCode()); hashCode = prime * hashCode + ((getMessageAttributes() == null) ? 0 : getMessageAttributes().hashCode()); hashCode = prime * hashCode + ((getMessageDeduplicationId() == null) ? 0 : getMessageDeduplicationId().hashCode()); hashCode = prime * hashCode + ((getMessageGroupId() == null) ? 0 : getMessageGroupId().hashCode()); return hashCode; } @Override public PublishBatchRequestEntry clone() { try { return (PublishBatchRequestEntry) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy