- 3.60.0 (latest)
- 3.59.0
- 3.58.0
- 3.57.0
- 3.56.0
- 3.55.0
- 3.54.0
- 3.53.0
- 3.52.0
- 3.51.0
- 3.50.1
- 3.46.0
- 3.45.0
- 3.44.0
- 3.43.0
- 3.42.0
- 3.41.0
- 3.40.1
- 3.39.0
- 3.38.0
- 3.37.0
- 3.36.0
- 3.35.1
- 3.34.0
- 3.33.0
- 3.32.0
- 3.31.0
- 3.30.0
- 3.29.0
- 3.28.0
- 3.27.1
- 3.26.0
- 3.25.0
- 3.24.0
- 3.23.0
- 3.22.2
- 3.21.0
- 3.20.0
- 3.19.0
- 3.18.0
- 3.17.0
- 3.16.0
- 3.15.1
- 3.14.1
- 3.13.0
- 3.12.1
- 3.11.1
- 3.10.0
- 3.9.0
- 3.8.0
- 3.7.0
- 3.6.0
- 3.5.0
- 3.4.0
- 3.3.0
- 3.2.0
- 3.1.0
- 3.0.0
- 2.1.1
- 2.0.0
- 1.19.3
- 1.18.0
- 1.17.1
- 1.16.0
- 1.15.1
- 1.14.0
- 1.13.0
- 1.12.0
- 1.11.0
- 1.10.0
RoutingHint(mapping=None, *, ignore_unknown_fields=False, **kwargs)RoutingHint can be optionally added to location-aware Spanner
requests. It gives the server hints that can be used to route the
request to an appropriate server, potentially significantly
decreasing latency and improving throughput. To achieve improved
performance, most fields must be filled in with accurate values.
The presence of a valid RoutingHint tells the server that the
client is location-aware.
RoutingHint does not change the semantics of the request; it is
purely a performance hint; the request will perform the same actions
on the database's data as if RoutingHint were not present.
However, if the RoutingHint is incomplete or incorrect, the
response may include a CacheUpdate the client can use to correct
its location cache.
Attributes |
|
|---|---|
| Name | Description |
operation_uid |
int
A session-scoped unique ID for the operation, computed client-side. Requests with the same operation_uid should
have a shared 'shape', meaning that some fields are expected
to be the same, such as the SQL query, the target
table/columns (for reads) etc. Requests with the same
operation_uid are meant to differ only in fields like
keys/key ranges/query parameters, transaction IDs, etc.
operation_uid must be non-zero for RoutingHint to be
valid.
|
database_id |
int
The database ID of the database being accessed, see CacheUpdate.database_id. Should match the cache entries
that were used to generate the rest of the fields in this
RoutingHint.
|
schema_generation |
bytes
The schema generation of the recipe that was used to generate key and limit_key. See also
RecipeList.schema_generation.
|
key |
bytes
The key / key range that this request accesses. For operations that access a single key, key should be set
and limit_key should be empty. For operations that
access a key range, key and limit_key should both be
set, to the inclusive start and exclusive end of the range
respectively.
The keys are encoded in "sortable string format" (ssformat),
using a KeyRecipe that is appropriate for the request.
See KeyRecipe for more details.
|
limit_key |
bytes
If this request targets a key range, this is the exclusive end of the range. See key for more details.
|
group_uid |
int
The group UID of the group that the client believes serves the range defined by key and limit_key. See
Range.group_uid for more details.
|
split_id |
int
The split ID of the split that the client believes contains the range defined by key and limit_key. See
Range.split_id for more details.
|
tablet_uid |
int
The tablet UID of the tablet from group group_uid that
the client believes is best to serve this request. See
Group.local_tablet_uids and Group.leader_tablet_uid.
|
skipped_tablet_uid |
MutableSequence[google.cloud.spanner_v1.types.RoutingHint.SkippedTablet]
If the client had multiple options for tablet selection, and some of its first choices were unhealthy (e.g., the server is unreachable, or Tablet.skip is true), this field will
contain the tablet UIDs of those tablets, with their
incarnations. The server may include a CacheUpdate with
new locations for those tablets.
|
client_location |
str
If present, the client's current location. In the Spanner managed service, this should be the name of a Google Cloud zone or region, such as "us-central1". In Spanner Omni, this should correspond to a previously created location. If absent, the client's location will be assumed to be the same as the location of the server the client ends up connected to. Locations are primarily valuable for clients that connect from regions other than the ones that contain the Spanner database. |
Classes
SkippedTablet
SkippedTablet(mapping=None, *, ignore_unknown_fields=False, **kwargs)A tablet that was skipped by the client. See Tablet.tablet_uid
and Tablet.incarnation.