Reference documentation and code samples for the Cloud PubSub V1 Client class DeadLetterPolicy.
Dead lettering is done on a best effort basis. The same message might be
dead lettered multiple times.
If validation on any of the fields fails at subscription creation/updation,
the create/update subscription request will fail.
Generated from protobuf messagegoogle.pubsub.v1.DeadLetterPolicy
Namespace
Google \ Cloud \ PubSub \ V1
Methods
__construct
Constructor.
Parameters
Name
Description
data
array
Optional. Data for populating the Message object.
↳ dead_letter_topic
string
Optional. The name of the topic to which dead letter messages should be published. Format isprojects/{project}/topics/{topic}.The Pub/Sub service account associated with the enclosing subscription's parent project (i.e., service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com) must have permission to Publish() to this topic. The operation will fail if the topic does not exist. Users should ensure that there is a subscription attached to this topic since messages published to a topic with no subscriptions are lost.
↳ max_delivery_attempts
int
Optional. The maximum number of delivery attempts for any message. The value must be between 5 and 100. The number of delivery attempts is defined as 1 + (the sum of number of NACKs and number of times the acknowledgment deadline has been exceeded for the message). A NACK is any call to ModifyAckDeadline with a 0 deadline. Note that client libraries may automatically extend ack_deadlines. This field will be honored on a best effort basis. If this parameter is 0, a default value of 5 is used.
getDeadLetterTopic
Optional. The name of the topic to which dead letter messages should be
published. Format isprojects/{project}/topics/{topic}.The Pub/Sub
service account associated with the enclosing subscription's parent project
(i.e., service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com) must
have permission to Publish() to this topic.
The operation will fail if the topic does not exist.
Users should ensure that there is a subscription attached to this topic
since messages published to a topic with no subscriptions are lost.
Returns
Type
Description
string
setDeadLetterTopic
Optional. The name of the topic to which dead letter messages should be
published. Format isprojects/{project}/topics/{topic}.The Pub/Sub
service account associated with the enclosing subscription's parent project
(i.e., service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com) must
have permission to Publish() to this topic.
The operation will fail if the topic does not exist.
Users should ensure that there is a subscription attached to this topic
since messages published to a topic with no subscriptions are lost.
Parameter
Name
Description
var
string
Returns
Type
Description
$this
getMaxDeliveryAttempts
Optional. The maximum number of delivery attempts for any message. The
value must be between 5 and 100.
The number of delivery attempts is defined as 1 + (the sum of number of
NACKs and number of times the acknowledgment deadline has been exceeded
for the message).
A NACK is any call to ModifyAckDeadline with a 0 deadline. Note that
client libraries may automatically extend ack_deadlines.
This field will be honored on a best effort basis.
If this parameter is 0, a default value of 5 is used.
Returns
Type
Description
int
setMaxDeliveryAttempts
Optional. The maximum number of delivery attempts for any message. The
value must be between 5 and 100.
The number of delivery attempts is defined as 1 + (the sum of number of
NACKs and number of times the acknowledgment deadline has been exceeded
for the message).
A NACK is any call to ModifyAckDeadline with a 0 deadline. Note that
client libraries may automatically extend ack_deadlines.
This field will be honored on a best effort basis.
If this parameter is 0, a default value of 5 is used.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-04 UTC."],[],[],null,["# Cloud PubSub V1 Client - Class DeadLetterPolicy (2.13.2)\n\nVersion latestkeyboard_arrow_down\n\n- [2.13.2 (latest)](/php/docs/reference/cloud-pubsub/latest/V1.DeadLetterPolicy)\n- [2.13.1](/php/docs/reference/cloud-pubsub/2.13.1/V1.DeadLetterPolicy)\n- [2.12.0](/php/docs/reference/cloud-pubsub/2.12.0/V1.DeadLetterPolicy)\n- [2.11.3](/php/docs/reference/cloud-pubsub/2.11.3/V1.DeadLetterPolicy)\n- [2.10.1](/php/docs/reference/cloud-pubsub/2.10.1/V1.DeadLetterPolicy)\n- [2.9.1](/php/docs/reference/cloud-pubsub/2.9.1/V1.DeadLetterPolicy)\n- [2.8.2](/php/docs/reference/cloud-pubsub/2.8.2/V1.DeadLetterPolicy)\n- [2.7.0](/php/docs/reference/cloud-pubsub/2.7.0/V1.DeadLetterPolicy)\n- [2.6.0](/php/docs/reference/cloud-pubsub/2.6.0/V1.DeadLetterPolicy)\n- [2.5.2](/php/docs/reference/cloud-pubsub/2.5.2/V1.DeadLetterPolicy)\n- [2.4.0](/php/docs/reference/cloud-pubsub/2.4.0/V1.DeadLetterPolicy)\n- [2.3.0](/php/docs/reference/cloud-pubsub/2.3.0/V1.DeadLetterPolicy)\n- [2.2.1](/php/docs/reference/cloud-pubsub/2.2.1/V1.DeadLetterPolicy)\n- [2.1.2](/php/docs/reference/cloud-pubsub/2.1.2/V1.DeadLetterPolicy)\n- [1.50.0](/php/docs/reference/cloud-pubsub/1.50.0/V1.DeadLetterPolicy)\n- [1.49.0](/php/docs/reference/cloud-pubsub/1.49.0/V1.DeadLetterPolicy)\n- [1.48.0](/php/docs/reference/cloud-pubsub/1.48.0/V1.DeadLetterPolicy)\n- [1.47.0](/php/docs/reference/cloud-pubsub/1.47.0/V1.DeadLetterPolicy)\n- [1.46.5](/php/docs/reference/cloud-pubsub/1.46.5/V1.DeadLetterPolicy)\n- [1.45.2](/php/docs/reference/cloud-pubsub/1.45.2/V1.DeadLetterPolicy)\n- [1.44.0](/php/docs/reference/cloud-pubsub/1.44.0/V1.DeadLetterPolicy)\n- [1.43.2](/php/docs/reference/cloud-pubsub/1.43.2/V1.DeadLetterPolicy)\n- [1.42.1](/php/docs/reference/cloud-pubsub/1.42.1/V1.DeadLetterPolicy)\n- [1.41.3](/php/docs/reference/cloud-pubsub/1.41.3/V1.DeadLetterPolicy)\n- [1.40.1](/php/docs/reference/cloud-pubsub/1.40.1/V1.DeadLetterPolicy)\n- [1.39.3](/php/docs/reference/cloud-pubsub/1.39.3/V1.DeadLetterPolicy) \nReference documentation and code samples for the Cloud PubSub V1 Client class DeadLetterPolicy.\n\nDead lettering is done on a best effort basis. The same message might be\ndead lettered multiple times.\n\nIf validation on any of the fields fails at subscription creation/updation,\nthe create/update subscription request will fail.\n\nGenerated from protobuf message `google.pubsub.v1.DeadLetterPolicy`\n\nNamespace\n---------\n\nGoogle \\\\ Cloud \\\\ PubSub \\\\ V1\n\nMethods\n-------\n\n### __construct\n\nConstructor.\n\n### getDeadLetterTopic\n\nOptional. The name of the topic to which dead letter messages should be\npublished. Format is `projects/{project}/topics/{topic}`.The Pub/Sub\nservice account associated with the enclosing subscription's parent project\n(i.e., service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com) must\nhave permission to Publish() to this topic.\n\nThe operation will fail if the topic does not exist.\nUsers should ensure that there is a subscription attached to this topic\nsince messages published to a topic with no subscriptions are lost.\n\n### setDeadLetterTopic\n\nOptional. The name of the topic to which dead letter messages should be\npublished. Format is `projects/{project}/topics/{topic}`.The Pub/Sub\nservice account associated with the enclosing subscription's parent project\n(i.e., service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com) must\nhave permission to Publish() to this topic.\n\nThe operation will fail if the topic does not exist.\nUsers should ensure that there is a subscription attached to this topic\nsince messages published to a topic with no subscriptions are lost.\n\n### getMaxDeliveryAttempts\n\nOptional. The maximum number of delivery attempts for any message. The\nvalue must be between 5 and 100.\n\nThe number of delivery attempts is defined as 1 + (the sum of number of\nNACKs and number of times the acknowledgment deadline has been exceeded\nfor the message).\nA NACK is any call to ModifyAckDeadline with a 0 deadline. Note that\nclient libraries may automatically extend ack_deadlines.\nThis field will be honored on a best effort basis.\nIf this parameter is 0, a default value of 5 is used.\n\n### setMaxDeliveryAttempts\n\nOptional. The maximum number of delivery attempts for any message. The\nvalue must be between 5 and 100.\n\nThe number of delivery attempts is defined as 1 + (the sum of number of\nNACKs and number of times the acknowledgment deadline has been exceeded\nfor the message).\nA NACK is any call to ModifyAckDeadline with a 0 deadline. Note that\nclient libraries may automatically extend ack_deadlines.\nThis field will be honored on a best effort basis.\nIf this parameter is 0, a default value of 5 is used."]]