The Workflows connector defines the built-in functions that can be used to access other Google Cloud products within a workflow.
This page provides an overview of the individual connector. There is no need to import or load connector libraries in a workflow—connectors work out of the box when used in a call step.
Cloud Spanner API
Cloud Spanner is a managed, mission-critical, globally consistent and scalable relational database service. To learn more, see the Cloud Spanner API documentation.
Cloud Spanner connector sample
YAML
JSON
Module: googleapis.spanner.v1.projects.instanceConfigOperations
Functions | |
---|---|
list |
Lists the user-managed instance config long-running operations in the
given project. An instance config operation has a name of the form
projects//instanceConfigs//operations/ . The long-running operation
metadata field type metadata.type_url describes the type of the
metadata. Operations returned include those that have
completed/failed/canceled within the last 7 days, and pending
operations. Operations returned are ordered by
operation.metadata.value.start_time in descending order starting from
the most recently started operation. |
Module: googleapis.spanner.v1.projects.instanceConfigs
Functions | |
---|---|
create |
Creates an instance config and begins preparing it to be used. The
returned long-running operation can be used to track the progress of
preparing the new instance config. The instance config name is assigned
by the caller. If the named instance config already exists,
CreateInstanceConfig returns ALREADY_EXISTS . Immediately after the
request returns: * The instance config is readable via the API, with all
requested attributes. The instance config's reconciling field is set to
true. Its state is CREATING . While the operation is pending: *
Cancelling the operation renders the instance config immediately
unreadable via the API. * Except for deleting the creating resource, all
other attempts to modify the instance config are rejected. Upon
completion of the returned operation: * Instances can be created using
the instance configuration. * The instance config's reconciling field
becomes false. Its state becomes READY . The returned long-running
operation will have a name of the format /operations/ and can be used
to track creation of the instance config. The metadata field type is
CreateInstanceConfigMetadata. The response field type is InstanceConfig,
if successful. Authorization requires spanner.instanceConfigs.create
permission on the resource parent. |
delete |
Deletes the instance config. Deletion is only allowed when no instances
are using the configuration. If any instances are using the config,
returns FAILED_PRECONDITION . Only user managed configurations can be
deleted. Authorization requires spanner.instanceConfigs.delete
permission on the resource name. |
get |
Gets information about a particular instance configuration. |
list |
Lists the supported instance configurations for a given project. |
patch |
Updates an instance config. The returned long-running operation can be
used to track the progress of updating the instance. If the named
instance config does not exist, returns NOT_FOUND . Only user managed
configurations can be updated. Immediately after the request returns:
The instance config's reconciling field is set to true. While the
operation is pending: * Cancelling the operation sets its metadata's
cancel_time. The operation is guaranteed to succeed at undoing all
changes, after which point it terminates with a CANCELLED status.
All other attempts to modify the instance config are rejected. * Reading
the instance config via the API continues to give the pre-request
values. Upon completion of the returned operation: * Creating instances
using the instance configuration uses the new values. * The instance
config's new values are readable via the API. * The instance config's
reconciling field becomes false. The returned long-running operation
will have a name of the format /operations/ and can be used to track
the instance config modification. The metadata field type is
UpdateInstanceConfigMetadata. The response field type is InstanceConfig,
if successful. Authorization requires spanner.instanceConfigs.update
permission on the resource name. |
Module: googleapis.spanner.v1.projects.instanceConfigs.operations
Functions | |
---|---|
cancel |
Starts asynchronous cancellation on a long-running operation. The server
makes a best effort to cancel the operation, but success is not
guaranteed. If the server doesn't support this method, it returns
google.rpc.Code.UNIMPLEMENTED . Clients can use Operations.GetOperation
or other methods to check whether the cancellation succeeded or whether
the operation completed despite cancellation. On successful
cancellation, the operation is not deleted; instead, it becomes an
operation with an Operation.error value with a google.rpc.Status.code of
1, corresponding to Code.CANCELLED . |
delete |
Deletes a long-running operation. This method indicates that the client
is no longer interested in the operation result. It does not cancel the
operation. If the server doesn't support this method, it returns
google.rpc.Code.UNIMPLEMENTED . |
get |
Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. |
list |
Lists operations that match the specified filter in the request. If the
server doesn't support this method, it returns UNIMPLEMENTED . NOTE:
the name binding allows API services to override the binding to use
different resource name schemes, such as users/*/operations . To
override the binding, API services can add a binding such as
"/v1/{name=users/*}/operations" to their service configuration. For
backwards compatibility, the default name includes the operations
collection id, however overriding users must ensure the name binding is
the parent resource, without the operations collection id. |
Module: googleapis.spanner.v1.projects.instances
Functions | |
---|---|
create |
Creates an instance and begins preparing it to begin serving. The
returned long-running operation can be used to track the progress of
preparing the new instance. The instance name is assigned by the caller.
If the named instance already exists, CreateInstance returns
ALREADY_EXISTS . Immediately upon completion of this request: * The
instance is readable via the API, with all requested attributes but no
allocated resources. Its state is CREATING . Until completion of the
returned operation: * Cancelling the operation renders the instance
immediately unreadable via the API. * The instance can be deleted. * All
other attempts to modify the instance are rejected. Upon completion of
the returned operation: * Billing for all successfully-allocated
resources begins (some types may have lower than the requested levels).
* Databases can be created in the instance. * The instance's allocated
resource levels are readable via the API. * The instance's state becomes
READY . The returned long-running operation will have a name of the
format /operations/ and can be used to track creation of the instance.
The metadata field type is CreateInstanceMetadata. The response field
type is Instance, if successful. |
delete |
Deletes an instance. Immediately upon completion of the request: Billing ceases for all of the instance's reserved resources. Soon afterward: * The instance and all of its databases* immediately and irrevocably disappear from the API. All data in the databases is permanently deleted. |
get |
Gets information about a particular instance. |
getIamPolicy |
Gets the access control policy for an instance resource. Returns an
empty policy if an instance exists but does not have a policy set.
Authorization requires spanner.instances.getIamPolicy on resource. |
list |
Lists all instances in the given project. |
patch |
Updates an instance, and begins allocating or releasing resources as
requested. The returned long-running operation can be used to track the
progress of updating the instance. If the named instance does not exist,
returns NOT_FOUND . Immediately upon completion of this request: * For
resource types for which a decrease in the instance's allocation has
been requested, billing is based on the newly-requested level. Until
completion of the returned operation: * Cancelling the operation sets
its metadata's cancel_time, and begins restoring resources to their
pre-request values. The operation is guaranteed to succeed at undoing
all resource changes, after which point it terminates with a CANCELLED
status. * All other attempts to modify the instance are rejected. *
Reading the instance via the API continues to give the pre-request
resource levels. Upon completion of the returned operation: * Billing
begins for all successfully-allocated resources (some types may have
lower than the requested levels). * All newly-reserved resources are
available for serving the instance's tables. * The instance's new
resource levels are readable via the API. The returned long-running
operation will have a name of the format /operations/ and can be used
to track the instance modification. The metadata field type is
UpdateInstanceMetadata. The response field type is Instance, if
successful. Authorization requires spanner.instances.update permission
on the resource name. |
setIamPolicy |
Sets the access control policy on an instance resource. Replaces any
existing policy. Authorization requires spanner.instances.setIamPolicy
on resource. |
testIamPermissions |
Returns permissions that the caller has on the specified instance
resource. Attempting this RPC on a non-existent Cloud Spanner instance
resource will result in a NOT_FOUND error if the user has
spanner.instances.list permission on the containing Google Cloud
Project. Otherwise returns an empty set of permissions. |
Module: googleapis.spanner.v1.projects.instances.backupOperations
Functions | |
---|---|
list |
Lists the backup long-running operations in the given instance. A backup
operation has a name of the form
projects//instances//backups//operations/ . The long-running operation
metadata field type metadata.type_url describes the type of the
metadata. Operations returned include those that have
completed/failed/canceled within the last 7 days, and pending
operations. Operations returned are ordered by
operation.metadata.value.progress.start_time in descending order
starting from the most recently started operation. |
Module: googleapis.spanner.v1.projects.instances.backups
Functions | |
---|---|
copy |
Starts copying a Cloud Spanner Backup. The returned backup long-running
operation will have a name of the format
projects//instances//backups//operations/ and can be used to track
copying of the backup. The operation is associated with the destination
backup. The metadata field type is CopyBackupMetadata. The response
field type is Backup, if successful. Cancelling the returned operation
will stop the copying and delete the destination backup. Concurrent
CopyBackup requests can run on the same source backup. |
create |
Starts creating a new Cloud Spanner Backup. The returned backup
long-running operation will have a name of the format
projects//instances//backups//operations/ and can be used to track
creation of the backup. The metadata field type is CreateBackupMetadata.
The response field type is Backup, if successful. Cancelling the
returned operation will stop the creation and delete the backup. There
can be only one pending backup creation per database. Backup creation of
different databases can run concurrently. |
delete |
Deletes a pending or completed Backup. |
get |
Gets metadata on a pending or completed Backup. |
getIamPolicy |
Gets the access control policy for a database or backup resource.
Returns an empty policy if a database or backup exists but does not have
a policy set. Authorization requires spanner.databases.getIamPolicy
permission on resource. For backups, authorization requires
spanner.backups.getIamPolicy permission on resource. |
list |
Lists completed and pending backups. Backups returned are ordered by
create_time in descending order, starting from the most recent
create_time . |
patch |
Updates a pending or completed Backup. |
setIamPolicy |
Sets the access control policy on a database or backup resource.
Replaces any existing policy. Authorization requires
spanner.databases.setIamPolicy permission on resource. For backups,
authorization requires spanner.backups.setIamPolicy permission on
resource. |
testIamPermissions |
Returns permissions that the caller has on the specified database or
backup resource. Attempting this RPC on a non-existent Cloud Spanner
database will result in a NOT_FOUND error if the user has
spanner.databases.list permission on the containing Cloud Spanner
instance. Otherwise returns an empty set of permissions. Calling this
method on a backup that does not exist will result in a NOT_FOUND error
if the user has spanner.backups.list permission on the containing
instance. |
Module: googleapis.spanner.v1.projects.instances.backups.operations
Functions | |
---|---|
cancel |
Starts asynchronous cancellation on a long-running operation. The server
makes a best effort to cancel the operation, but success is not
guaranteed. If the server doesn't support this method, it returns
google.rpc.Code.UNIMPLEMENTED . Clients can use Operations.GetOperation
or other methods to check whether the cancellation succeeded or whether
the operation completed despite cancellation. On successful
cancellation, the operation is not deleted; instead, it becomes an
operation with an Operation.error value with a google.rpc.Status.code of
1, corresponding to Code.CANCELLED . |
delete |
Deletes a long-running operation. This method indicates that the client
is no longer interested in the operation result. It does not cancel the
operation. If the server doesn't support this method, it returns
google.rpc.Code.UNIMPLEMENTED . |
get |
Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. |
list |
Lists operations that match the specified filter in the request. If the
server doesn't support this method, it returns UNIMPLEMENTED . NOTE:
the name binding allows API services to override the binding to use
different resource name schemes, such as users/*/operations . To
override the binding, API services can add a binding such as
"/v1/{name=users/*}/operations" to their service configuration. For
backwards compatibility, the default name includes the operations
collection id, however overriding users must ensure the name binding is
the parent resource, without the operations collection id. |
Module: googleapis.spanner.v1.projects.instances.databaseOperations
Functions | |
---|---|
list |
Lists database longrunning-operations. A database operation has a name
of the form projects//instances//databases//operations/ . The
long-running operation metadata field type metadata.type_url describes
the type of the metadata. Operations returned include those that have
completed/failed/canceled within the last 7 days, and pending
operations. |
Module: googleapis.spanner.v1.projects.instances.databases
Functions | |
---|---|
create |
Creates a new Cloud Spanner database and starts to prepare it for
serving. The returned long-running operation will have a name of the
format /operations/ and can be used to track preparation of the
database. The metadata field type is CreateDatabaseMetadata. The
response field type is Database, if successful. |
dropDatabase |
Drops (aka deletes) a Cloud Spanner database. Completed backups for the
database will be retained according to their expire_time . Note: Cloud
Spanner might continue to accept requests for a few seconds after the
database has been deleted. |
get |
Gets the state of a Cloud Spanner database. |
getDdl |
Returns the schema of a Cloud Spanner database as a list of formatted DDL statements. This method does not show pending schema updates, those may be queried using the Operations API. |
getIamPolicy |
Gets the access control policy for a database or backup resource.
Returns an empty policy if a database or backup exists but does not have
a policy set. Authorization requires spanner.databases.getIamPolicy
permission on resource. For backups, authorization requires
spanner.backups.getIamPolicy permission on resource. |
list |
Lists Cloud Spanner databases. |
restore |
Create a new database by restoring from a completed backup. The new
database must be in the same project and in an instance with the same
instance configuration as the instance containing the backup. The
returned database long-running operation has a name of the format
projects//instances//databases//operations/ , and can be used to track
the progress of the operation, and to cancel it. The metadata field type
is RestoreDatabaseMetadata. The response type is Database, if
successful. Cancelling the returned operation will stop the restore and
delete the database. There can be only one database being restored into
an instance at a time. Once the restore operation completes, a new
restore operation can be initiated, without waiting for the optimize
operation associated with the first restore to complete. |
setIamPolicy |
Sets the access control policy on a database or backup resource.
Replaces any existing policy. Authorization requires
spanner.databases.setIamPolicy permission on resource. For backups,
authorization requires spanner.backups.setIamPolicy permission on
resource. |
testIamPermissions |
Returns permissions that the caller has on the specified database or
backup resource. Attempting this RPC on a non-existent Cloud Spanner
database will result in a NOT_FOUND error if the user has
spanner.databases.list permission on the containing Cloud Spanner
instance. Otherwise returns an empty set of permissions. Calling this
method on a backup that does not exist will result in a NOT_FOUND error
if the user has spanner.backups.list permission on the containing
instance. |
updateDdl |
Updates the schema of a Cloud Spanner database by
creating/altering/dropping tables, columns, indexes, etc. The returned
long-running operation will have a name of the format /operations/ and
can be used to track execution of the schema change(s). The metadata
field type is UpdateDatabaseDdlMetadata. The operation has no response. |
Module: googleapis.spanner.v1.projects.instances.databases.databaseRoles
Functions | |
---|---|
list |
Lists Cloud Spanner database roles. |
testIamPermissions |
Returns permissions that the caller has on the specified database or
backup resource. Attempting this RPC on a non-existent Cloud Spanner
database will result in a NOT_FOUND error if the user has
spanner.databases.list permission on the containing Cloud Spanner
instance. Otherwise returns an empty set of permissions. Calling this
method on a backup that does not exist will result in a NOT_FOUND error
if the user has spanner.backups.list permission on the containing
instance. |
Module: googleapis.spanner.v1.projects.instances.databases.operations
Functions | |
---|---|
cancel |
Starts asynchronous cancellation on a long-running operation. The server
makes a best effort to cancel the operation, but success is not
guaranteed. If the server doesn't support this method, it returns
google.rpc.Code.UNIMPLEMENTED . Clients can use Operations.GetOperation
or other methods to check whether the cancellation succeeded or whether
the operation completed despite cancellation. On successful
cancellation, the operation is not deleted; instead, it becomes an
operation with an Operation.error value with a google.rpc.Status.code of
1, corresponding to Code.CANCELLED . |
delete |
Deletes a long-running operation. This method indicates that the client
is no longer interested in the operation result. It does not cancel the
operation. If the server doesn't support this method, it returns
google.rpc.Code.UNIMPLEMENTED . |
get |
Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. |
list |
Lists operations that match the specified filter in the request. If the
server doesn't support this method, it returns UNIMPLEMENTED . NOTE:
the name binding allows API services to override the binding to use
different resource name schemes, such as users/*/operations . To
override the binding, API services can add a binding such as
"/v1/{name=users/*}/operations" to their service configuration. For
backwards compatibility, the default name includes the operations
collection id, however overriding users must ensure the name binding is
the parent resource, without the operations collection id. |
Module: googleapis.spanner.v1.projects.instances.databases.sessions
Functions | |
---|---|
batchCreate |
Creates multiple new sessions. This API can be used to initialize a session cache on the clients. See https://goo.gl/TgSFN2 for best practices on session cache management. |
beginTransaction |
Begins a new transaction. This step can often be skipped: Read, ExecuteSql and Commit can begin a new transaction as a side-effect. |
commit |
Commits a transaction. The request includes the mutations to be applied
to rows in the database. Commit might return an ABORTED error. This
can occur at any time; commonly, the cause is conflicts with concurrent
transactions. However, it can also happen for a variety of other
reasons. If Commit returns ABORTED , the caller should re-attempt the
transaction from the beginning, re-using the same session. On very rare
occasions, Commit might return UNKNOWN . This can happen, for
example, if the client job experiences a 1+ hour networking failure. At
that point, Cloud Spanner has lost track of the transaction outcome and
we recommend that you perform another read from the database to see the
state of things as they are now. |
create |
Creates a new session. A session can be used to perform transactions
that read and/or modify data in a Cloud Spanner database. Sessions are
meant to be reused for many consecutive transactions. Sessions can only
execute one transaction at a time. To execute multiple concurrent
read-write/write-only transactions, create multiple sessions. Note that
standalone reads and queries use a transaction internally, and count
toward the one transaction limit. Active sessions use additional server
resources, so it is a good idea to delete idle and unneeded sessions.
Aside from explicit deletes, Cloud Spanner may delete sessions for which
no operations are sent for more than an hour. If a session is deleted,
requests to it return NOT_FOUND . Idle sessions can be kept alive by
sending a trivial SQL query periodically, e.g., "SELECT 1" . |
delete |
Ends a session, releasing server resources associated with it. This will asynchronously trigger cancellation of any operations that are running with this session. |
executeBatchDml |
Executes a batch of SQL DML statements. This method allows many statements to be run with lower latency than submitting them sequentially with ExecuteSql. Statements are executed in sequential order. A request can succeed even if a statement fails. The ExecuteBatchDmlResponse.status field in the response provides information about the statement that failed. Clients must inspect this field to determine whether an error occurred. Execution stops after the first failed statement; the remaining statements are not executed. |
executeSql |
Executes an SQL statement, returning all results in a single reply. This
method cannot be used to return a result set larger than 10 MiB; if the
query yields more data than that, the query fails with a
FAILED_PRECONDITION error. Operations inside read-write transactions
might return ABORTED . If this occurs, the application should restart
the transaction from the beginning. See Transaction for more details.
Larger result sets can be fetched in streaming fashion by calling
ExecuteStreamingSql instead. |
executeStreamingSql |
Like ExecuteSql, except returns the result set as a stream. Unlike ExecuteSql, there is no limit on the size of the returned result set. However, no individual row in the result set can exceed 100 MiB, and no column value can exceed 10 MiB. |
get |
Gets a session. Returns NOT_FOUND if the session does not exist. This
is mainly useful for determining whether a session is still alive. |
list |
Lists all sessions in a given database. |
partitionQuery |
Creates a set of partition tokens that can be used to execute a query operation in parallel. Each of the returned partition tokens can be used by ExecuteStreamingSql to specify a subset of the query result to read. The same session and read-only transaction must be used by the PartitionQueryRequest used to create the partition tokens and the ExecuteSqlRequests that use the partition tokens. Partition tokens become invalid when the session used to create them is deleted, is idle for too long, begins a new transaction, or becomes too old. When any of these happen, it is not possible to resume the query, and the whole operation must be restarted from the beginning. |
partitionRead |
Creates a set of partition tokens that can be used to execute a read operation in parallel. Each of the returned partition tokens can be used by StreamingRead to specify a subset of the read result to read. The same session and read-only transaction must be used by the PartitionReadRequest used to create the partition tokens and the ReadRequests that use the partition tokens. There are no ordering guarantees on rows returned among the returned partition tokens, or even within each individual StreamingRead call issued with a partition_token. Partition tokens become invalid when the session used to create them is deleted, is idle for too long, begins a new transaction, or becomes too old. When any of these happen, it is not possible to resume the read, and the whole operation must be restarted from the beginning. |
read |
Reads rows from the database using key lookups and scans, as a simple
key/value style alternative to ExecuteSql. This method cannot be used to
return a result set larger than 10 MiB; if the read matches more data
than that, the read fails with a FAILED_PRECONDITION error. Reads
inside read-write transactions might return ABORTED . If this occurs,
the application should restart the transaction from the beginning. See
Transaction for more details. Larger result sets can be yielded in
streaming fashion by calling StreamingRead instead. |
rollback |
Rolls back a transaction, releasing any locks it holds. It is a good
idea to call this for any transaction that includes one or more Read or
ExecuteSql requests and ultimately decides not to commit. Rollback
returns OK if it successfully aborts the transaction, the transaction
was already aborted, or the transaction is not found. Rollback never
returns ABORTED . |
streamingRead |
Like Read, except returns the result set as a stream. Unlike Read, there is no limit on the size of the returned result set. However, no individual row in the result set can exceed 100 MiB, and no column value can exceed 10 MiB. |
Module: googleapis.spanner.v1.projects.instances.operations
Functions | |
---|---|
cancel |
Starts asynchronous cancellation on a long-running operation. The server
makes a best effort to cancel the operation, but success is not
guaranteed. If the server doesn't support this method, it returns
google.rpc.Code.UNIMPLEMENTED . Clients can use Operations.GetOperation
or other methods to check whether the cancellation succeeded or whether
the operation completed despite cancellation. On successful
cancellation, the operation is not deleted; instead, it becomes an
operation with an Operation.error value with a google.rpc.Status.code of
1, corresponding to Code.CANCELLED . |
delete |
Deletes a long-running operation. This method indicates that the client
is no longer interested in the operation result. It does not cancel the
operation. If the server doesn't support this method, it returns
google.rpc.Code.UNIMPLEMENTED . |
get |
Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. |
list |
Lists operations that match the specified filter in the request. If the
server doesn't support this method, it returns UNIMPLEMENTED . NOTE:
the name binding allows API services to override the binding to use
different resource name schemes, such as users/*/operations . To
override the binding, API services can add a binding such as
"/v1/{name=users/*}/operations" to their service configuration. For
backwards compatibility, the default name includes the operations
collection id, however overriding users must ensure the name binding is
the parent resource, without the operations collection id. |