public sealed class ReceivedMessage : IMessage<ReceivedMessage>, IEquatable<ReceivedMessage>, IDeepCloneable<ReceivedMessage>, IBufferMessage, IMessage
A message and its corresponding acknowledgment ID.
This ID can be used to acknowledge the received message.
Property Value
Type
Description
System.String
DeliveryAttempt
public int DeliveryAttempt { get; set; }
The approximate number of times that Cloud Pub/Sub has attempted to deliver
the associated message to a subscriber.
More precisely, this is 1 + (number of NACKs) +
(number of ack_deadline exceeds) for this message.
A NACK is any call to ModifyAckDeadline with a 0 deadline. An ack_deadline
exceeds event is whenever a message is not acknowledged within
ack_deadline. Note that ack_deadline is initially
Subscription.ackDeadlineSeconds, but may get extended automatically by
the client library.
Upon the first delivery of a given message, delivery_attempt will have a
value of 1. The value is calculated at best effort and is approximate.
If a DeadLetterPolicy is not set on the subscription, this will be 0.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[[["\u003cp\u003eThe \u003ccode\u003eReceivedMessage\u003c/code\u003e class represents a message received from Google Cloud Pub/Sub, along with its unique acknowledgment ID.\u003c/p\u003e\n"],["\u003cp\u003eThe latest version available is 3.23.0, with numerous older versions also documented, ranging from 3.22.0 down to 2.3.0.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eReceivedMessage\u003c/code\u003e class implements several interfaces, including \u003ccode\u003eIMessage\u003c/code\u003e, \u003ccode\u003eIEquatable\u003c/code\u003e, \u003ccode\u003eIDeepCloneable\u003c/code\u003e, and \u003ccode\u003eIBufferMessage\u003c/code\u003e, enabling different functionalities.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eReceivedMessage\u003c/code\u003e has properties like \u003ccode\u003eAckId\u003c/code\u003e, \u003ccode\u003eDeliveryAttempt\u003c/code\u003e, and \u003ccode\u003eMessage\u003c/code\u003e, which provide information on the acknowledgment ID, delivery attempts, and the message content, respectively.\u003c/p\u003e\n"],["\u003cp\u003eThe documentation includes details on how to construct a \u003ccode\u003eReceivedMessage\u003c/code\u003e object, either using the default constructor or by passing another \u003ccode\u003eReceivedMessage\u003c/code\u003e object.\u003c/p\u003e\n"]]],[],null,[]]