REST Resource: projects.instances.appProfiles

Resource: AppProfile

A configuration object describing how Cloud Bigtable should treat traffic from a particular end user application.

JSON representation
{
  "name": string,
  "etag": string,
  "description": string,

  // Union field routing_policy can be only one of the following:
  "multiClusterRoutingUseAny": {
    object (MultiClusterRoutingUseAny)
  },
  "singleClusterRouting": {
    object (SingleClusterRouting)
  }
  // End of list of possible types for union field routing_policy.

  // Union field isolation can be only one of the following:
  "priority": enum (Priority),
  "standardIsolation": {
    object (StandardIsolation)
  }
  // End of list of possible types for union field isolation.
}
Fields
name

string

The unique name of the app profile. Values are of the form projects/{project}/instances/{instance}/appProfiles/[_a-zA-Z0-9][-_.a-zA-Z0-9]*.

etag

string

Strongly validated etag for optimistic concurrency control. Preserve the value returned from appProfiles.get when calling appProfiles.patch to fail the request if there has been a modification in the mean time. The updateMask of the request need not include etag for this protection to apply. See Wikipedia and RFC 7232 for more details.

description

string

Long form description of the use case for this AppProfile.

Union field routing_policy. The routing policy for all read/write requests that use this app profile. A value must be explicitly set. routing_policy can be only one of the following:
multiClusterRoutingUseAny

object (MultiClusterRoutingUseAny)

Use a multi-cluster routing policy.

singleClusterRouting

object (SingleClusterRouting)

Use a single-cluster routing policy.

Union field isolation. Options for isolating this app profile's traffic from other use cases. isolation can be only one of the following:
priority
(deprecated)

enum (Priority)

This field has been deprecated in favor of standardIsolation.priority. If you set this field, standardIsolation.priority will be set instead.

The priority of requests sent using this app profile.

standardIsolation

object (StandardIsolation)

The standard options used for isolating this app profile's traffic from other use cases.

MultiClusterRoutingUseAny

Read/write requests are routed to the nearest cluster in the instance, and will fail over to the nearest cluster that is available in the event of transient errors or delays. Clusters in a region are considered equidistant. Choosing this option sacrifices read-your-writes consistency to improve availability.

JSON representation
{
  "clusterIds": [
    string
  ]
}
Fields
clusterIds[]

string

The set of clusters to route to. The order is ignored; clusters will be tried in order of distance. If left empty, all clusters are eligible.

SingleClusterRouting

Unconditionally routes all read/write requests to a specific cluster. This option preserves read-your-writes consistency but does not improve availability.

JSON representation
{
  "clusterId": string,
  "allowTransactionalWrites": boolean
}
Fields
clusterId

string

The cluster to which read/write requests should be routed.

allowTransactionalWrites

boolean

Whether or not CheckAndMutateRow and ReadModifyWriteRow requests are allowed by this app profile. It is unsafe to send these requests to the same table/row/column in multiple clusters.

Priority

Possible priorities for an app profile. Note that higher priority writes can sometimes queue behind lower priority writes to the same tablet, as writes must be strictly sequenced in the durability log.

Enums
PRIORITY_UNSPECIFIED Default value. Mapped to PRIORITY_HIGH (the legacy behavior) on creation.
PRIORITY_LOW
PRIORITY_MEDIUM
PRIORITY_HIGH

StandardIsolation

Standard options for isolating this app profile's traffic from other use cases.

JSON representation
{
  "priority": enum (Priority)
}
Fields
priority

enum (Priority)

The priority of requests sent using this app profile.

Methods

create

Creates an app profile within an instance.

delete

Deletes an app profile from an instance.

get

Gets information about an app profile.

list

Lists information about app profiles in an instance.

patch

Updates an app profile within an instance.