Creates a snapshot from the requested subscription. Snapshots are used
in Seek
operations, which allow you to manage message acknowledgments in bulk.
That is, you can set the acknowledgment state of messages in an existing
subscription to the state captured by a snapshot. If the snapshot
already exists, returns ALREADY_EXISTS
. If the requested subscription
doesn't exist, returns NOT_FOUND
. If the backlog in the subscription
is too old -- and the resulting snapshot would expire in less than 1
hour -- then FAILED_PRECONDITION
is returned. See also the
Snapshot.expire_time
field. If the name is not provided in the
request, the server will assign a random name for this snapshot on the
same project as the subscription, conforming to the resource name
format. The
generated name is populated in the returned Snapshot object. Note that
for REST API requests, you must specify a name in the request.
Arguments
Parameters | |
---|---|
name |
Required. User-provided name for this snapshot. If the name is not provided in the request, the server will assign a random name for this snapshot on the same project as the subscription. Note that for REST API requests, you must specify a name. See the resource name rules. Format is
|
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 Snapshot
.
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.snapshots.create args: name: ... body: labels: ... subscription: ... result: createResult
JSON
[ { "create": { "call": "googleapis.pubsub.v1.projects.snapshots.create", "args": { "name": "...", "body": { "labels": "...", "subscription": "..." } }, "result": "createResult" } } ]