The DirectedReadOptions can be used to indicate which replicas or
regions should be used for non-transactional reads or queries.
DirectedReadOptions may only be specified for a read-only
transaction, otherwise the API will return an INVALID_ARGUMENT
error.
This message has oneof_ fields (mutually exclusive fields).
For each oneof, at most one member field can be set at the same time.
Setting any member of the oneof automatically clears all other
members.
google.cloud.spanner_v1.types.DirectedReadOptions.IncludeReplicas
Include_replicas indicates the order of replicas (as they
appear in this list) to process the request. If
auto_failover_disabled is set to true and all replicas are
exhausted without finding a healthy replica, Spanner will
wait for a replica in the list to become available, requests
may fail due to DEADLINE_EXCEEDED errors.
This field is a member of oneof_ replicas.
exclude_replicas
google.cloud.spanner_v1.types.DirectedReadOptions.ExcludeReplicas
Exclude_replicas indicates that specified replicas should be
excluded from serving requests. Spanner will not route
requests to the replicas in this list.
This field is a member of oneof_ replicas.
[[["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,["# Class DirectedReadOptions (3.57.0)\n\nVersion latestkeyboard_arrow_down\n\n- [3.57.0 (latest)](/python/docs/reference/spanner/latest/google.cloud.spanner_v1.types.DirectedReadOptions)\n- [3.56.0](/python/docs/reference/spanner/3.56.0/google.cloud.spanner_v1.types.DirectedReadOptions)\n- [3.55.0](/python/docs/reference/spanner/3.55.0/google.cloud.spanner_v1.types.DirectedReadOptions)\n- [3.54.0](/python/docs/reference/spanner/3.54.0/google.cloud.spanner_v1.types.DirectedReadOptions)\n- [3.53.0](/python/docs/reference/spanner/3.53.0/google.cloud.spanner_v1.types.DirectedReadOptions)\n- [3.52.0](/python/docs/reference/spanner/3.52.0/google.cloud.spanner_v1.types.DirectedReadOptions)\n- [3.51.0](/python/docs/reference/spanner/3.51.0/google.cloud.spanner_v1.types.DirectedReadOptions)\n- [3.50.1](/python/docs/reference/spanner/3.50.1/google.cloud.spanner_v1.types.DirectedReadOptions)\n- [3.46.0](/python/docs/reference/spanner/3.46.0/google.cloud.spanner_v1.types.DirectedReadOptions)\n- [3.45.0](/python/docs/reference/spanner/3.45.0/google.cloud.spanner_v1.types.DirectedReadOptions)\n- [3.44.0](/python/docs/reference/spanner/3.44.0/google.cloud.spanner_v1.types.DirectedReadOptions)\n- [3.43.0](/python/docs/reference/spanner/3.43.0/google.cloud.spanner_v1.types.DirectedReadOptions)\n- [3.42.0](/python/docs/reference/spanner/3.42.0/google.cloud.spanner_v1.types.DirectedReadOptions)\n- [3.41.0](/python/docs/reference/spanner/3.41.0/google.cloud.spanner_v1.types.DirectedReadOptions)\n- [3.40.1](/python/docs/reference/spanner/3.40.1/google.cloud.spanner_v1.types.DirectedReadOptions)\n- [3.39.0](/python/docs/reference/spanner/3.39.0/google.cloud.spanner_v1.types.DirectedReadOptions)\n- [3.38.0](/python/docs/reference/spanner/3.38.0/google.cloud.spanner_v1.types.DirectedReadOptions)\n- [3.37.0](/python/docs/reference/spanner/3.37.0/google.cloud.spanner_v1.types.DirectedReadOptions)\n- [3.36.0](/python/docs/reference/spanner/3.36.0/google.cloud.spanner_v1.types.DirectedReadOptions)\n- [3.35.1](/python/docs/reference/spanner/3.35.1/google.cloud.spanner_v1.types.DirectedReadOptions)\n- [3.34.0](/python/docs/reference/spanner/3.34.0/google.cloud.spanner_v1.types.DirectedReadOptions)\n- [3.33.0](/python/docs/reference/spanner/3.33.0/google.cloud.spanner_v1.types.DirectedReadOptions)\n- [3.32.0](/python/docs/reference/spanner/3.32.0/google.cloud.spanner_v1.types.DirectedReadOptions)\n- [3.31.0](/python/docs/reference/spanner/3.31.0/google.cloud.spanner_v1.types.DirectedReadOptions)\n- [3.30.0](/python/docs/reference/spanner/3.30.0/google.cloud.spanner_v1.types.DirectedReadOptions)\n- [3.29.0](/python/docs/reference/spanner/3.29.0/google.cloud.spanner_v1.types.DirectedReadOptions)\n- [3.28.0](/python/docs/reference/spanner/3.28.0/google.cloud.spanner_v1.types.DirectedReadOptions)\n- [3.27.1](/python/docs/reference/spanner/3.27.1/google.cloud.spanner_v1.types.DirectedReadOptions)\n- [3.26.0](/python/docs/reference/spanner/3.26.0/google.cloud.spanner_v1.types.DirectedReadOptions)\n- [3.25.0](/python/docs/reference/spanner/3.25.0/google.cloud.spanner_v1.types.DirectedReadOptions)\n- [3.24.0](/python/docs/reference/spanner/3.24.0/google.cloud.spanner_v1.types.DirectedReadOptions)\n- [3.23.0](/python/docs/reference/spanner/3.23.0/google.cloud.spanner_v1.types.DirectedReadOptions)\n- [3.22.2](/python/docs/reference/spanner/3.22.2/google.cloud.spanner_v1.types.DirectedReadOptions)\n- [3.21.0](/python/docs/reference/spanner/3.21.0/google.cloud.spanner_v1.types.DirectedReadOptions)\n- [3.20.0](/python/docs/reference/spanner/3.20.0/google.cloud.spanner_v1.types.DirectedReadOptions)\n- [3.19.0](/python/docs/reference/spanner/3.19.0/google.cloud.spanner_v1.types.DirectedReadOptions)\n- [3.18.0](/python/docs/reference/spanner/3.18.0/google.cloud.spanner_v1.types.DirectedReadOptions)\n- [3.17.0](/python/docs/reference/spanner/3.17.0/google.cloud.spanner_v1.types.DirectedReadOptions)\n- [3.16.0](/python/docs/reference/spanner/3.16.0/google.cloud.spanner_v1.types.DirectedReadOptions)\n- [3.15.1](/python/docs/reference/spanner/3.15.1/google.cloud.spanner_v1.types.DirectedReadOptions)\n- [3.14.1](/python/docs/reference/spanner/3.14.1/google.cloud.spanner_v1.types.DirectedReadOptions)\n- [3.13.0](/python/docs/reference/spanner/3.13.0/google.cloud.spanner_v1.types.DirectedReadOptions)\n- [3.12.1](/python/docs/reference/spanner/3.12.1/google.cloud.spanner_v1.types.DirectedReadOptions)\n- [3.11.1](/python/docs/reference/spanner/3.11.1/google.cloud.spanner_v1.types.DirectedReadOptions)\n- [3.10.0](/python/docs/reference/spanner/3.10.0/google.cloud.spanner_v1.types.DirectedReadOptions)\n- [3.9.0](/python/docs/reference/spanner/3.9.0/google.cloud.spanner_v1.types.DirectedReadOptions)\n- [3.8.0](/python/docs/reference/spanner/3.8.0/google.cloud.spanner_v1.types.DirectedReadOptions)\n- [3.7.0](/python/docs/reference/spanner/3.7.0/google.cloud.spanner_v1.types.DirectedReadOptions)\n- [3.6.0](/python/docs/reference/spanner/3.6.0/google.cloud.spanner_v1.types.DirectedReadOptions)\n- [3.5.0](/python/docs/reference/spanner/3.5.0/google.cloud.spanner_v1.types.DirectedReadOptions)\n- [3.4.0](/python/docs/reference/spanner/3.4.0/google.cloud.spanner_v1.types.DirectedReadOptions)\n- [3.3.0](/python/docs/reference/spanner/3.3.0/google.cloud.spanner_v1.types.DirectedReadOptions)\n- [3.2.0](/python/docs/reference/spanner/3.2.0/google.cloud.spanner_v1.types.DirectedReadOptions)\n- [3.1.0](/python/docs/reference/spanner/3.1.0/google.cloud.spanner_v1.types.DirectedReadOptions)\n- [3.0.0](/python/docs/reference/spanner/3.0.0/google.cloud.spanner_v1.types.DirectedReadOptions)\n- [2.1.1](/python/docs/reference/spanner/2.1.1/google.cloud.spanner_v1.types.DirectedReadOptions)\n- [2.0.0](/python/docs/reference/spanner/2.0.0/google.cloud.spanner_v1.types.DirectedReadOptions)\n- [1.19.3](/python/docs/reference/spanner/1.19.3/google.cloud.spanner_v1.types.DirectedReadOptions)\n- [1.18.0](/python/docs/reference/spanner/1.18.0/google.cloud.spanner_v1.types.DirectedReadOptions)\n- [1.17.1](/python/docs/reference/spanner/1.17.1/google.cloud.spanner_v1.types.DirectedReadOptions)\n- [1.16.0](/python/docs/reference/spanner/1.16.0/google.cloud.spanner_v1.types.DirectedReadOptions)\n- [1.15.1](/python/docs/reference/spanner/1.15.1/google.cloud.spanner_v1.types.DirectedReadOptions)\n- [1.14.0](/python/docs/reference/spanner/1.14.0/google.cloud.spanner_v1.types.DirectedReadOptions)\n- [1.13.0](/python/docs/reference/spanner/1.13.0/google.cloud.spanner_v1.types.DirectedReadOptions)\n- [1.12.0](/python/docs/reference/spanner/1.12.0/google.cloud.spanner_v1.types.DirectedReadOptions)\n- [1.11.0](/python/docs/reference/spanner/1.11.0/google.cloud.spanner_v1.types.DirectedReadOptions)\n- [1.10.0](/python/docs/reference/spanner/1.10.0/google.cloud.spanner_v1.types.DirectedReadOptions) \n\n DirectedReadOptions(mapping=None, *, ignore_unknown_fields=False, **kwargs)\n\nThe DirectedReadOptions can be used to indicate which replicas or\nregions should be used for non-transactional reads or queries.\n\nDirectedReadOptions may only be specified for a read-only\ntransaction, otherwise the API will return an `INVALID_ARGUMENT`\nerror.\n\nThis message has `oneof`_ fields (mutually exclusive fields).\nFor each oneof, at most one member field can be set at the same time.\nSetting any member of the oneof automatically clears all other\nmembers.\n\n.. _oneof: \u003chttps://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields\u003e\n\nClasses\n-------\n\n### ExcludeReplicas\n\n ExcludeReplicas(mapping=None, *, ignore_unknown_fields=False, **kwargs)\n\nAn ExcludeReplicas contains a repeated set of\nReplicaSelection that should be excluded from serving requests.\n\n### IncludeReplicas\n\n IncludeReplicas(mapping=None, *, ignore_unknown_fields=False, **kwargs)\n\nAn IncludeReplicas contains a repeated set of\nReplicaSelection which indicates the order in which replicas\nshould be considered.\n\n### ReplicaSelection\n\n ReplicaSelection(mapping=None, *, ignore_unknown_fields=False, **kwargs)\n\nThe directed read replica selector. Callers must provide one or more\nof the following fields for replica selection:\n\n- `location` - The location must be one of the regions within the multi-region configuration of your database.\n- `type` - The type of the replica.\n\nSome examples of using replica_selectors are:\n\n- `location:us-east1` --\\\u003e The \"us-east1\" replica(s) of any available type will be used to process the request.\n- `type:READ_ONLY` --\\\u003e The \"READ_ONLY\" type replica(s) in nearest available location will be used to process the request.\n- `location:us-east1 type:READ_ONLY` --\\\u003e The \"READ_ONLY\" type replica(s) in location \"us-east1\" will be used to process the request."]]