Send feedback
Method: googleapis.spanner.v1.projects.instances.databases.sessions.read
Stay organized with collections
Save and categorize content based on your preferences.
Reads rows from the database using key lookups and scans, as a simple
key/value style alternative to ExecuteSql. This method can't 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.
For more information about retries and long-running operations, see
Understand connectors .
Arguments
Parameters
session
string
Required. The session in which the read should be performed.
body
object (ReadRequest )
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 ResultSet
.
Subworkflow snippet
Some fields might be optional or required.
To identify required fields, refer to the API documentation .
YAML
- read :
call : googleapis.spanner.v1.projects.instances.databases.sessions.read
args :
session : ...
body :
columns : ...
dataBoostEnabled : ...
directedReadOptions :
excludeReplicas :
replicaSelections : ...
includeReplicas :
autoFailoverDisabled : ...
replicaSelections : ...
index : ...
keySet :
all : ...
keys : ...
ranges : ...
limit : ...
lockHint : ...
orderBy : ...
partitionToken : ...
requestOptions :
priority : ...
requestTag : ...
transactionTag : ...
resumeToken : ...
table : ...
transaction :
begin :
excludeTxnFromChangeStreams : ...
isolationLevel : ...
partitionedDml : ...
readOnly :
exactStaleness : ...
maxStaleness : ...
minReadTimestamp : ...
readTimestamp : ...
returnReadTimestamp : ...
strong : ...
readWrite :
multiplexedSessionPreviousTransactionId : ...
readLockMode : ...
id : ...
singleUse : ...
result : readResult
JSON
[
{
"read" : {
"call" : "googleapis.spanner.v1.projects.instances.databases.sessions.read" ,
"args" : {
"session" : "..." ,
"body" : {
"columns" : "..." ,
"dataBoostEnabled" : "..." ,
"directedReadOptions" : {
"excludeReplicas" : {
"replicaSelections" : "..."
},
"includeReplicas" : {
"autoFailoverDisabled" : "..." ,
"replicaSelections" : "..."
}
},
"index" : "..." ,
"keySet" : {
"all" : "..." ,
"keys" : "..." ,
"ranges" : "..."
},
"limit" : "..." ,
"lockHint" : "..." ,
"orderBy" : "..." ,
"partitionToken" : "..." ,
"requestOptions" : {
"priority" : "..." ,
"requestTag" : "..." ,
"transactionTag" : "..."
},
"resumeToken" : "..." ,
"table" : "..." ,
"transaction" : {
"begin" : {
"excludeTxnFromChangeStreams" : "..." ,
"isolationLevel" : "..." ,
"partitionedDml" : "..." ,
"readOnly" : {
"exactStaleness" : "..." ,
"maxStaleness" : "..." ,
"minReadTimestamp" : "..." ,
"readTimestamp" : "..." ,
"returnReadTimestamp" : "..." ,
"strong" : "..."
},
"readWrite" : {
"multiplexedSessionPreviousTransactionId" : "..." ,
"readLockMode" : "..."
}
},
"id" : "..." ,
"singleUse" : "..."
}
}
},
"result" : "readResult"
}
}
]
Send feedback
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License , and code samples are licensed under the Apache 2.0 License . For details, see the Google Developers Site Policies . Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-09-04 UTC.
Need to tell us more?
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-04 UTC."],[],[],null,["# Method: googleapis.spanner.v1.projects.instances.databases.sessions.read\n\nReads rows from the database using key lookups and scans, as a simple\nkey/value style alternative to ExecuteSql. This method can't be used to\nreturn a result set larger than 10 MiB; if the read matches more data\nthan that, the read fails with a `FAILED_PRECONDITION` error. Reads\ninside read-write transactions might return `ABORTED`. If this occurs,\nthe application should restart the transaction from the beginning. See\nTransaction for more details. Larger result sets can be yielded in\nstreaming fashion by calling StreamingRead instead.\n\nFor more information about retries and long-running operations, see\n[Understand connectors]().\n\nArguments\n---------\n\nRaised exceptions\n-----------------\n\nResponse\n--------\n\nIf successful, the response contains an instance of [`ResultSet`](https://cloud.google.com/workflows/docs/reference/googleapis/spanner/v1/Overview#ResultSet).\n\nSubworkflow snippet\n-------------------\n\nSome fields might be optional or required.\nTo identify required fields, refer to the [API documentation](https://cloud.google.com/spanner/docs/reference/rest/v1/projects.instances.databases.sessions/read). \n\n### YAML\n\n```yaml\n- read:\n call: googleapis.spanner.v1.projects.instances.databases.sessions.read\n args:\n session: ...\n body:\n columns: ...\n dataBoostEnabled: ...\n directedReadOptions:\n excludeReplicas:\n replicaSelections: ...\n includeReplicas:\n autoFailoverDisabled: ...\n replicaSelections: ...\n index: ...\n keySet:\n all: ...\n keys: ...\n ranges: ...\n limit: ...\n lockHint: ...\n orderBy: ...\n partitionToken: ...\n requestOptions:\n priority: ...\n requestTag: ...\n transactionTag: ...\n resumeToken: ...\n table: ...\n transaction:\n begin:\n excludeTxnFromChangeStreams: ...\n isolationLevel: ...\n partitionedDml: ...\n readOnly:\n exactStaleness: ...\n maxStaleness: ...\n minReadTimestamp: ...\n readTimestamp: ...\n returnReadTimestamp: ...\n strong: ...\n readWrite:\n multiplexedSessionPreviousTransactionId: ...\n readLockMode: ...\n id: ...\n singleUse: ...\n result: readResult\n```\n\n### JSON\n\n```json\n[\n {\n \"read\": {\n \"call\": \"googleapis.spanner.v1.projects.instances.databases.sessions.read\",\n \"args\": {\n \"session\": \"...\",\n \"body\": {\n \"columns\": \"...\",\n \"dataBoostEnabled\": \"...\",\n \"directedReadOptions\": {\n \"excludeReplicas\": {\n \"replicaSelections\": \"...\"\n },\n \"includeReplicas\": {\n \"autoFailoverDisabled\": \"...\",\n \"replicaSelections\": \"...\"\n }\n },\n \"index\": \"...\",\n \"keySet\": {\n \"all\": \"...\",\n \"keys\": \"...\",\n \"ranges\": \"...\"\n },\n \"limit\": \"...\",\n \"lockHint\": \"...\",\n \"orderBy\": \"...\",\n \"partitionToken\": \"...\",\n \"requestOptions\": {\n \"priority\": \"...\",\n \"requestTag\": \"...\",\n \"transactionTag\": \"...\"\n },\n \"resumeToken\": \"...\",\n \"table\": \"...\",\n \"transaction\": {\n \"begin\": {\n \"excludeTxnFromChangeStreams\": \"...\",\n \"isolationLevel\": \"...\",\n \"partitionedDml\": \"...\",\n \"readOnly\": {\n \"exactStaleness\": \"...\",\n \"maxStaleness\": \"...\",\n \"minReadTimestamp\": \"...\",\n \"readTimestamp\": \"...\",\n \"returnReadTimestamp\": \"...\",\n \"strong\": \"...\"\n },\n \"readWrite\": {\n \"multiplexedSessionPreviousTransactionId\": \"...\",\n \"readLockMode\": \"...\"\n }\n },\n \"id\": \"...\",\n \"singleUse\": \"...\"\n }\n }\n },\n \"result\": \"readResult\"\n }\n }\n]\n```"]]