Creates a subscription to a given topic. See the resource name rules. If the
subscription already exists, returns ALREADY_EXISTS
. If the
corresponding topic doesn't exist, returns NOT_FOUND
. If the name is
not provided in the request, the server will assign a random name for
this subscription on the same project as the topic, conforming to the
resource name format. The
generated name is populated in the returned Subscription object. Note
that for REST API requests, you must specify a name in the request.
Arguments
Parameters | |
---|---|
name |
Required. The name of the subscription. It must have the format
|
body |
Required.
|
Raised exceptions
Exceptions | |
---|---|
ConnectionError |
In case of a network problem (such as DNS failure or refused connection). |
HttpError |
If the response status is >= 400 (excluding 429 and 503). |
TimeoutError |
If a long-running operation takes longer to finish than the specified timeout limit. |
TypeError |
If an operation or function receives an argument of the wrong type. |
ValueError |
If an operation or function receives an argument of the right type but an inappropriate value. For example, a negative timeout. |
Response
If successful, the response contains an instance of Subscription
.
Subworkflow snippet
Some fields might be optional or required. To identify required fields, refer to the API documentation.
YAML
- create: call: googleapis.pubsub.v1.projects.subscriptions.create args: name: ... body: ackDeadlineSeconds: ... deadLetterPolicy: deadLetterTopic: ... maxDeliveryAttempts: ... detached: ... enableMessageOrdering: ... expirationPolicy: ttl: ... filter: ... labels: ... messageRetentionDuration: ... name: ... pushConfig: attributes: ... oidcToken: audience: ... serviceAccountEmail: ... pushEndpoint: ... retainAckedMessages: ... retryPolicy: maximumBackoff: ... minimumBackoff: ... topic: ... result: createResult
JSON
[ { "create": { "call": "googleapis.pubsub.v1.projects.subscriptions.create", "args": { "name": "...", "body": { "ackDeadlineSeconds": "...", "deadLetterPolicy": { "deadLetterTopic": "...", "maxDeliveryAttempts": "..." }, "detached": "...", "enableMessageOrdering": "...", "expirationPolicy": { "ttl": "..." }, "filter": "...", "labels": "...", "messageRetentionDuration": "...", "name": "...", "pushConfig": { "attributes": "...", "oidcToken": { "audience": "...", "serviceAccountEmail": "..." }, "pushEndpoint": "..." }, "retainAckedMessages": "...", "retryPolicy": { "maximumBackoff": "...", "minimumBackoff": "..." }, "topic": "..." } }, "result": "createResult" } } ]