pub struct PubsubMessage {
pub attributes: Option<HashMap<String, String>>,
pub data: Option<Vec<u8>>,
pub message_id: Option<String>,
pub ordering_key: Option<String>,
pub publish_time: Option<DateTime<Utc>>,
}
Expand description
A message that is published by publishers and consumed by subscribers. The message must contain either a non-empty data field or at least one attribute. Note that client libraries represent this object differently depending on the language. See the corresponding client library documentation for more information. See [quotas and limits] (https://cloud.google.com/pubsub/quotas) for more information about message limits.
This type is not used in any activity, and only used as part of another schema.
Fields§
§attributes: Option<HashMap<String, String>>
Optional. Attributes for this message. If this field is empty, the message must contain non-empty data. This can be used to filter messages on the subscription.
data: Option<Vec<u8>>
Optional. The message data field. If this field is empty, the message must contain at least one attribute.
message_id: Option<String>
ID of this message, assigned by the server when the message is published. Guaranteed to be unique within the topic. This value may be read by a subscriber that receives a PubsubMessage
via a Pull
call or a push delivery. It must not be populated by the publisher in a Publish
call.
ordering_key: Option<String>
Optional. If non-empty, identifies related messages for which publish order should be respected. If a Subscription
has enable_message_ordering
set to true
, messages published with the same non-empty ordering_key
value will be delivered to subscribers in the order in which they are received by the Pub/Sub system. All PubsubMessage
s published in a given PublishRequest
must specify the same ordering_key
value. For more information, see ordering messages.
publish_time: Option<DateTime<Utc>>
The time at which the message was published, populated by the server when it receives the Publish
call. It must not be populated by the publisher in a Publish
call.
Trait Implementations§
Source§impl Clone for PubsubMessage
impl Clone for PubsubMessage
Source§fn clone(&self) -> PubsubMessage
fn clone(&self) -> PubsubMessage
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for PubsubMessage
impl Debug for PubsubMessage
Source§impl Default for PubsubMessage
impl Default for PubsubMessage
Source§fn default() -> PubsubMessage
fn default() -> PubsubMessage
Source§impl<'de> Deserialize<'de> for PubsubMessage
impl<'de> Deserialize<'de> for PubsubMessage
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl Serialize for PubsubMessage
impl Serialize for PubsubMessage
impl Part for PubsubMessage
Auto Trait Implementations§
impl Freeze for PubsubMessage
impl RefUnwindSafe for PubsubMessage
impl Send for PubsubMessage
impl Sync for PubsubMessage
impl Unpin for PubsubMessage
impl UnwindSafe for PubsubMessage
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more