Class PublishRequest
- All Implemented Interfaces:
SdkPojo
,ToCopyableBuilder<PublishRequest.Builder,
PublishRequest>
The input for the Publish operation.
-
Nested Class Summary
Nested Classes -
Method Summary
Modifier and TypeMethodDescriptionstatic PublishRequest.Builder
builder()
final String
A UTF-8 encoded string that describes the content of the publishing message.final String
The base64-encoded binary data used by the sender of the request message to identify which request the response message is for when it's received.final boolean
final boolean
equalsBySdkFields
(Object obj) Indicates whether some other object is "equal to" this one by SDK fields.final <T> Optional
<T> getValueForField
(String fieldName, Class<T> clazz) Used to retrieve the value of a field from any class that extendsSdkRequest
.final int
hashCode()
final Long
A user-defined integer value that represents the message expiry interval in seconds.final SdkBytes
payload()
The message body.final PayloadFormatIndicator
AnEnum
string value that indicates whether the payload is formatted as UTF-8.final String
AnEnum
string value that indicates whether the payload is formatted as UTF-8.final Integer
qos()
The Quality of Service (QoS) level.final String
A UTF-8 encoded string that's used as the topic name for a response message.final Boolean
retain()
A Boolean value that determines whether to set the RETAIN flag when the message is published.static Class
<? extends PublishRequest.Builder> Take this object and create a builder that contains all of the current property values of this object.final String
topic()
The name of the MQTT topic.final String
toString()
Returns a string representation of this object.final String
A JSON string that contains an array of JSON objects.Methods inherited from class software.amazon.awssdk.awscore.AwsRequest
overrideConfiguration
Methods inherited from interface software.amazon.awssdk.utils.builder.ToCopyableBuilder
copy
-
Method Details
-
topic
-
qos
The Quality of Service (QoS) level. The default QoS level is 0.
- Returns:
- The Quality of Service (QoS) level. The default QoS level is 0.
-
retain
A Boolean value that determines whether to set the RETAIN flag when the message is published.
Setting the RETAIN flag causes the message to be retained and sent to new subscribers to the topic.
Valid values:
true
|false
Default value:
false
- Returns:
- A Boolean value that determines whether to set the RETAIN flag when the message is published.
Setting the RETAIN flag causes the message to be retained and sent to new subscribers to the topic.
Valid values:
true
|false
Default value:
false
-
payload
The message body. MQTT accepts text, binary, and empty (null) message payloads.
Publishing an empty (null) payload with retain =
true
deletes the retained message identified by topic from Amazon Web Services IoT Core.- Returns:
- The message body. MQTT accepts text, binary, and empty (null) message payloads.
Publishing an empty (null) payload with retain =
true
deletes the retained message identified by topic from Amazon Web Services IoT Core.
-
userProperties
A JSON string that contains an array of JSON objects. If you don’t use Amazon Web Services SDK or CLI, you must encode the JSON string to base64 format before adding it to the HTTP header.
userProperties
is an HTTP header value in the API.The following example
userProperties
parameter is a JSON string which represents two User Properties. Note that it needs to be base64-encoded:[{"deviceName": "alpha"}, {"deviceCnt": "45"}]
- Returns:
- A JSON string that contains an array of JSON objects. If you don’t use Amazon Web Services SDK or CLI,
you must encode the JSON string to base64 format before adding it to the HTTP header.
userProperties
is an HTTP header value in the API.The following example
userProperties
parameter is a JSON string which represents two User Properties. Note that it needs to be base64-encoded:[{"deviceName": "alpha"}, {"deviceCnt": "45"}]
-
payloadFormatIndicator
An
Enum
string value that indicates whether the payload is formatted as UTF-8.payloadFormatIndicator
is an HTTP header value in the API.If the service returns an enum value that is not available in the current SDK version,
payloadFormatIndicator
will returnPayloadFormatIndicator.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available frompayloadFormatIndicatorAsString()
.- Returns:
- An
Enum
string value that indicates whether the payload is formatted as UTF-8.payloadFormatIndicator
is an HTTP header value in the API. - See Also:
-
payloadFormatIndicatorAsString
An
Enum
string value that indicates whether the payload is formatted as UTF-8.payloadFormatIndicator
is an HTTP header value in the API.If the service returns an enum value that is not available in the current SDK version,
payloadFormatIndicator
will returnPayloadFormatIndicator.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available frompayloadFormatIndicatorAsString()
.- Returns:
- An
Enum
string value that indicates whether the payload is formatted as UTF-8.payloadFormatIndicator
is an HTTP header value in the API. - See Also:
-
contentType
A UTF-8 encoded string that describes the content of the publishing message.
- Returns:
- A UTF-8 encoded string that describes the content of the publishing message.
-
responseTopic
A UTF-8 encoded string that's used as the topic name for a response message. The response topic is used to describe the topic which the receiver should publish to as part of the request-response flow. The topic must not contain wildcard characters.
- Returns:
- A UTF-8 encoded string that's used as the topic name for a response message. The response topic is used to describe the topic which the receiver should publish to as part of the request-response flow. The topic must not contain wildcard characters.
-
correlationData
The base64-encoded binary data used by the sender of the request message to identify which request the response message is for when it's received.
correlationData
is an HTTP header value in the API.- Returns:
- The base64-encoded binary data used by the sender of the request message to identify which request the
response message is for when it's received.
correlationData
is an HTTP header value in the API.
-
messageExpiry
A user-defined integer value that represents the message expiry interval in seconds. If absent, the message doesn't expire. For more information about the limits of
messageExpiry
, see Amazon Web Services IoT Core message broker and protocol limits and quotas from the Amazon Web Services Reference Guide.- Returns:
- A user-defined integer value that represents the message expiry interval in seconds. If absent, the
message doesn't expire. For more information about the limits of
messageExpiry
, see Amazon Web Services IoT Core message broker and protocol limits and quotas from the Amazon Web Services Reference Guide.
-
toBuilder
Description copied from interface:ToCopyableBuilder
Take this object and create a builder that contains all of the current property values of this object.- Specified by:
toBuilder
in interfaceToCopyableBuilder<PublishRequest.Builder,
PublishRequest> - Specified by:
toBuilder
in classIotDataPlaneRequest
- Returns:
- a builder for type T
-
builder
-
serializableBuilderClass
-
hashCode
public final int hashCode()- Overrides:
hashCode
in classAwsRequest
-
equals
- Overrides:
equals
in classAwsRequest
-
equalsBySdkFields
Description copied from interface:SdkPojo
Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in anSdkPojo
class, and is generated based on a service model.If an
SdkPojo
class does not have any inherited fields,equalsBySdkFields
andequals
are essentially the same.- Specified by:
equalsBySdkFields
in interfaceSdkPojo
- Parameters:
obj
- the object to be compared with- Returns:
- true if the other object equals to this object by sdk fields, false otherwise.
-
toString
-
getValueForField
Description copied from class:SdkRequest
Used to retrieve the value of a field from any class that extendsSdkRequest
. The field name specified should match the member name from the corresponding service-2.json model specified in the codegen-resources folder for a given service. The class specifies what class to cast the returned value to. If the returned value is also a modeled class, theSdkRequest.getValueForField(String, Class)
method will again be available.- Overrides:
getValueForField
in classSdkRequest
- Parameters:
fieldName
- The name of the member to be retrieved.clazz
- The class to cast the returned object to.- Returns:
- Optional containing the casted return value
-
sdkFields
-
sdkFieldNameToField
- Specified by:
sdkFieldNameToField
in interfaceSdkPojo
- Returns:
- The mapping between the field name and its corresponding field.
-