Begins a new transaction. This step can often be skipped: Read, ExecuteSql and Commit can begin a new transaction as a side-effect.
Arguments
Parameters | |
---|---|
session |
Required. The session in which the transaction runs.
|
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 Transaction
.
Subworkflow snippet
Some fields might be optional or required. To identify required fields, refer to the API documentation.
YAML
- beginTransaction: call: googleapis.spanner.v1.projects.instances.databases.sessions.beginTransaction args: session: ... body: options: partitionedDml: ... readOnly: exactStaleness: ... maxStaleness: ... minReadTimestamp: ... readTimestamp: ... returnReadTimestamp: ... strong: ... readWrite: readLockMode: ... requestOptions: priority: ... requestTag: ... transactionTag: ... result: beginTransactionResult
JSON
[ { "beginTransaction": { "call": "googleapis.spanner.v1.projects.instances.databases.sessions.beginTransaction", "args": { "session": "...", "body": { "options": { "partitionedDml": "...", "readOnly": { "exactStaleness": "...", "maxStaleness": "...", "minReadTimestamp": "...", "readTimestamp": "...", "returnReadTimestamp": "...", "strong": "..." }, "readWrite": { "readLockMode": "..." } }, "requestOptions": { "priority": "...", "requestTag": "...", "transactionTag": "..." } } }, "result": "beginTransactionResult" } } ]