Method: projects.instances.databases.sessions.beginTransaction

Begins a new transaction. This step can often be skipped: sessions.read, sessions.executeSql and sessions.commit can begin a new transaction as a side-effect.

HTTP request

POST https://spanner.googleapis.com/v1/{session=projects/*/instances/*/databases/*/sessions/*}:beginTransaction

The URL uses gRPC Transcoding syntax.

Path parameters

Parameters
session

string

Required. The session in which the transaction runs.

Authorization requires one or more of the following IAM permissions on the specified resource session:

  • spanner.databases.beginReadOnlyTransaction
  • spanner.databases.beginOrRollbackReadWriteTransaction

Request body

The request body contains data with the following structure:

JSON representation
{
  "options": {
    object (TransactionOptions)
  },
  "requestOptions": {
    object (RequestOptions)
  }
}
Fields
options

object (TransactionOptions)

Required. Options for the new transaction.

requestOptions

object (RequestOptions)

Common options for this request. Priority is ignored for this request. Setting the priority in this requestOptions struct will not do anything. To set the priority for a transaction, set it on the reads and writes that are part of this transaction instead.

Response body

If successful, the response body contains an instance of Transaction.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/spanner.data
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.