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


The URLs use 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)
  },
  "mutationKey": {
    object (Mutation)
  }
}
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 doesn't do anything. To set the priority for a transaction, set it on the reads and writes that are part of this transaction instead.

mutationKey

object (Mutation)

Optional. Required for read-write transactions on a multiplexed session that commit mutations but don't perform any reads or queries. You must randomly select one of the mutations from the mutation set and send it as a part of this request.

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.