Updates a Cloud Spanner database. The returned long-running operation
can be used to track the progress of updating the database. If the named
database does not exist, returns NOT_FOUND
. While the operation is
pending: * The database's reconciling field is set to true. * Cancelling
the operation is best-effort. If the cancellation succeeds, the
operation metadata's cancel_time is set, the updates are reverted, and
the operation terminates with a CANCELLED
status. * New UpdateDatabase
requests will return a FAILED_PRECONDITION
error until the pending
operation is done (returns successfully or with error). * Reading the
database via the API continues to give the pre-request values. Upon
completion of the returned operation: * The new values are in effect and
readable via the API. * The database's reconciling field becomes false.
The returned long-running operation will have a name of the format
projects//instances//databases//operations/
and can be used to track
the database modification. The metadata field type is
UpdateDatabaseMetadata. The response field type is Database, if
successful.
This method waits—the workflow execution is paused—until the operation is
complete, fails, or times out. The default timeout value is 1800
seconds (30
minutes) and can be changed to a maximum value of 31536000
seconds (one year)
for long-running operations using the connector_params
field.
The connector uses polling to monitor the long-running operation, which might
generate additional billable steps. The polling policy for the long-running
operation can be configured. For example, if you set skip_polling
to True
,
the connector invocation call is non-blocking if the initial request succeeds;
otherwise, retries might occur.
For more information about connector-specific parameters (connector_params
),
see Invoke a connector call.
For more information about retries and long-running operations, see Understand connectors.
Arguments
Parameters | |
---|---|
name |
Required. The name of the database. Values are of the form |
updateMask |
Required. The list of fields to update. Currently, only |
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. |
OperationError |
If the long-running operation finished unsuccessfully. |
ResponseTypeError |
If the long-running operation returned a response of the wrong type. |
Response
If successful, the response contains an instance of Operation
.
Subworkflow snippet
Some fields might be optional or required. To identify required fields, refer to the API documentation.
YAML
- patch: call: googleapis.spanner.v1.projects.instances.databases.patch args: name: ... updateMask: ... body: enableDropProtection: ... name: ... result: patchResult
JSON
[ { "patch": { "call": "googleapis.spanner.v1.projects.instances.databases.patch", "args": { "name": "...", "updateMask": "...", "body": { "enableDropProtection": "...", "name": "..." } }, "result": "patchResult" } } ]