Reference documentation and code samples for the Cloud Spanner V1 API class Google::Cloud::Spanner::V1::RoutingHint.
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.
Inherits
- Object
Extended By
- Google::Protobuf::MessageExts::ClassMethods
Includes
- Google::Protobuf::MessageExts
Methods
#client_location
def client_location() -> ::String-
(::String) — 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.
#client_location=
def client_location=(value) -> ::String-
value (::String) — 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.
-
(::String) — 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.
#database_id
def database_id() -> ::Integer-
(::Integer) — 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 thisRoutingHint.
#database_id=
def database_id=(value) -> ::Integer-
value (::Integer) — 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 thisRoutingHint.
-
(::Integer) — 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 thisRoutingHint.
#group_uid
def group_uid() -> ::Integer-
(::Integer) — The group UID of the group that the client believes serves the range
defined by
keyandlimit_key. SeeRange.group_uidfor more details.
#group_uid=
def group_uid=(value) -> ::Integer-
value (::Integer) — The group UID of the group that the client believes serves the range
defined by
keyandlimit_key. SeeRange.group_uidfor more details.
-
(::Integer) — The group UID of the group that the client believes serves the range
defined by
keyandlimit_key. SeeRange.group_uidfor more details.
#key
def key() -> ::String-
(::String) — The key / key range that this request accesses. For operations that
access a single key,
keyshould be set andlimit_keyshould be empty. For operations that access a key range,keyandlimit_keyshould 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
KeyRecipethat is appropriate for the request. SeeKeyRecipefor more details.
#key=
def key=(value) -> ::String-
value (::String) — The key / key range that this request accesses. For operations that
access a single key,
keyshould be set andlimit_keyshould be empty. For operations that access a key range,keyandlimit_keyshould 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
KeyRecipethat is appropriate for the request. SeeKeyRecipefor more details.
-
(::String) — The key / key range that this request accesses. For operations that
access a single key,
keyshould be set andlimit_keyshould be empty. For operations that access a key range,keyandlimit_keyshould 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
KeyRecipethat is appropriate for the request. SeeKeyRecipefor more details.
#limit_key
def limit_key() -> ::String-
(::String) — If this request targets a key range, this is the exclusive end of the
range. See
keyfor more details.
#limit_key=
def limit_key=(value) -> ::String-
value (::String) — If this request targets a key range, this is the exclusive end of the
range. See
keyfor more details.
-
(::String) — If this request targets a key range, this is the exclusive end of the
range. See
keyfor more details.
#operation_uid
def operation_uid() -> ::Integer-
(::Integer) — A session-scoped unique ID for the operation, computed client-side.
Requests with the same
operation_uidshould 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 sameoperation_uidare meant to differ only in fields like keys/key ranges/query parameters, transaction IDs, etc.operation_uidmust be non-zero forRoutingHintto be valid.
#operation_uid=
def operation_uid=(value) -> ::Integer-
value (::Integer) — A session-scoped unique ID for the operation, computed client-side.
Requests with the same
operation_uidshould 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 sameoperation_uidare meant to differ only in fields like keys/key ranges/query parameters, transaction IDs, etc.operation_uidmust be non-zero forRoutingHintto be valid.
-
(::Integer) — A session-scoped unique ID for the operation, computed client-side.
Requests with the same
operation_uidshould 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 sameoperation_uidare meant to differ only in fields like keys/key ranges/query parameters, transaction IDs, etc.operation_uidmust be non-zero forRoutingHintto be valid.
#schema_generation
def schema_generation() -> ::String-
(::String) — The schema generation of the recipe that was used to generate
keyandlimit_key. See alsoRecipeList.schema_generation.
#schema_generation=
def schema_generation=(value) -> ::String-
value (::String) — The schema generation of the recipe that was used to generate
keyandlimit_key. See alsoRecipeList.schema_generation.
-
(::String) — The schema generation of the recipe that was used to generate
keyandlimit_key. See alsoRecipeList.schema_generation.
#skipped_tablet_uid
def skipped_tablet_uid() -> ::Array<::Google::Cloud::Spanner::V1::RoutingHint::SkippedTablet>-
(::Array<::Google::Cloud::Spanner::V1::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.skipis true), this field will contain the tablet UIDs of those tablets, with their incarnations. The server may include aCacheUpdatewith new locations for those tablets.
#skipped_tablet_uid=
def skipped_tablet_uid=(value) -> ::Array<::Google::Cloud::Spanner::V1::RoutingHint::SkippedTablet>-
value (::Array<::Google::Cloud::Spanner::V1::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.skipis true), this field will contain the tablet UIDs of those tablets, with their incarnations. The server may include aCacheUpdatewith new locations for those tablets.
-
(::Array<::Google::Cloud::Spanner::V1::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.skipis true), this field will contain the tablet UIDs of those tablets, with their incarnations. The server may include aCacheUpdatewith new locations for those tablets.
#split_id
def split_id() -> ::Integer-
(::Integer) — The split ID of the split that the client believes contains the range
defined by
keyandlimit_key. SeeRange.split_idfor more details.
#split_id=
def split_id=(value) -> ::Integer-
value (::Integer) — The split ID of the split that the client believes contains the range
defined by
keyandlimit_key. SeeRange.split_idfor more details.
-
(::Integer) — The split ID of the split that the client believes contains the range
defined by
keyandlimit_key. SeeRange.split_idfor more details.
#tablet_uid
def tablet_uid() -> ::Integer-
(::Integer) — The tablet UID of the tablet from group
group_uidthat the client believes is best to serve this request. SeeGroup.local_tablet_uidsandGroup.leader_tablet_uid.
#tablet_uid=
def tablet_uid=(value) -> ::Integer-
value (::Integer) — The tablet UID of the tablet from group
group_uidthat the client believes is best to serve this request. SeeGroup.local_tablet_uidsandGroup.leader_tablet_uid.
-
(::Integer) — The tablet UID of the tablet from group
group_uidthat the client believes is best to serve this request. SeeGroup.local_tablet_uidsandGroup.leader_tablet_uid.