An application profile, or app profile, stores settings that tell your Cloud Bigtable instance
how to handle incoming requests from an application. When one of your applications connects to a
Cloud Bigtable instance, it can specify an app profile, and Cloud Bigtable uses that app profile
for any requests that the application sends over that connection.
App profiles affect how your applications communicate with an instance that uses replication.
As a result, app profiles are especially useful for instances that have 2 clusters. Even if your
instance has only 1 cluster, you can use a unique app profile for each application that you run,
or for different components within a single application.
See Also: For more details.
[[["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-08-18 UTC."],[],[],null,["# Class AppProfile (2.65.0)\n\nVersion latestkeyboard_arrow_down\n\n- [2.65.0 (latest)](/java/docs/reference/google-cloud-bigtable/latest/com.google.cloud.bigtable.admin.v2.models.AppProfile)\n- [2.63.0](/java/docs/reference/google-cloud-bigtable/2.63.0/com.google.cloud.bigtable.admin.v2.models.AppProfile)\n- [2.62.0](/java/docs/reference/google-cloud-bigtable/2.62.0/com.google.cloud.bigtable.admin.v2.models.AppProfile)\n- [2.61.0](/java/docs/reference/google-cloud-bigtable/2.61.0/com.google.cloud.bigtable.admin.v2.models.AppProfile)\n- [2.60.0](/java/docs/reference/google-cloud-bigtable/2.60.0/com.google.cloud.bigtable.admin.v2.models.AppProfile)\n- [2.59.0](/java/docs/reference/google-cloud-bigtable/2.59.0/com.google.cloud.bigtable.admin.v2.models.AppProfile)\n- [2.58.2](/java/docs/reference/google-cloud-bigtable/2.58.2/com.google.cloud.bigtable.admin.v2.models.AppProfile)\n- [2.56.0](/java/docs/reference/google-cloud-bigtable/2.56.0/com.google.cloud.bigtable.admin.v2.models.AppProfile)\n- [2.54.0](/java/docs/reference/google-cloud-bigtable/2.54.0/com.google.cloud.bigtable.admin.v2.models.AppProfile)\n- [2.52.0](/java/docs/reference/google-cloud-bigtable/2.52.0/com.google.cloud.bigtable.admin.v2.models.AppProfile)\n- [2.51.2](/java/docs/reference/google-cloud-bigtable/2.51.2/com.google.cloud.bigtable.admin.v2.models.AppProfile)\n- [2.49.0](/java/docs/reference/google-cloud-bigtable/2.49.0/com.google.cloud.bigtable.admin.v2.models.AppProfile)\n- [2.46.0](/java/docs/reference/google-cloud-bigtable/2.46.0/com.google.cloud.bigtable.admin.v2.models.AppProfile)\n- [2.45.1](/java/docs/reference/google-cloud-bigtable/2.45.1/com.google.cloud.bigtable.admin.v2.models.AppProfile)\n- [2.44.1](/java/docs/reference/google-cloud-bigtable/2.44.1/com.google.cloud.bigtable.admin.v2.models.AppProfile)\n- [2.43.0](/java/docs/reference/google-cloud-bigtable/2.43.0/com.google.cloud.bigtable.admin.v2.models.AppProfile)\n- [2.42.0](/java/docs/reference/google-cloud-bigtable/2.42.0/com.google.cloud.bigtable.admin.v2.models.AppProfile)\n- [2.40.0](/java/docs/reference/google-cloud-bigtable/2.40.0/com.google.cloud.bigtable.admin.v2.models.AppProfile)\n- [2.39.5](/java/docs/reference/google-cloud-bigtable/2.39.5/com.google.cloud.bigtable.admin.v2.models.AppProfile)\n- [2.37.0](/java/docs/reference/google-cloud-bigtable/2.37.0/com.google.cloud.bigtable.admin.v2.models.AppProfile)\n- [2.35.1](/java/docs/reference/google-cloud-bigtable/2.35.1/com.google.cloud.bigtable.admin.v2.models.AppProfile)\n- [2.34.0](/java/docs/reference/google-cloud-bigtable/2.34.0/com.google.cloud.bigtable.admin.v2.models.AppProfile)\n- [2.33.0](/java/docs/reference/google-cloud-bigtable/2.33.0/com.google.cloud.bigtable.admin.v2.models.AppProfile)\n- [2.32.0](/java/docs/reference/google-cloud-bigtable/2.32.0/com.google.cloud.bigtable.admin.v2.models.AppProfile)\n- [2.31.0](/java/docs/reference/google-cloud-bigtable/2.31.0/com.google.cloud.bigtable.admin.v2.models.AppProfile)\n- [2.30.0](/java/docs/reference/google-cloud-bigtable/2.30.0/com.google.cloud.bigtable.admin.v2.models.AppProfile)\n- [2.29.1](/java/docs/reference/google-cloud-bigtable/2.29.1/com.google.cloud.bigtable.admin.v2.models.AppProfile)\n- [2.28.0](/java/docs/reference/google-cloud-bigtable/2.28.0/com.google.cloud.bigtable.admin.v2.models.AppProfile) \n\n public final class AppProfile\n\nAn application profile, or app profile, stores settings that tell your Cloud Bigtable instance\nhow to handle incoming requests from an application. When one of your applications connects to a\nCloud Bigtable instance, it can specify an app profile, and Cloud Bigtable uses that app profile\nfor any requests that the application sends over that connection.\n\nApp profiles affect how your applications communicate with an instance that uses replication.\nAs a result, app profiles are especially useful for instances that have 2 clusters. Even if your\ninstance has only 1 cluster, you can use a unique app profile for each application that you run,\nor for different components within a single application.\nSee Also: [For more details](https://cloud.google.com/bigtable/docs/app-profiles). \n\nInheritance\n-----------\n\n[Object](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html) \\\u003e AppProfile \n\nInherited Members\n-----------------\n\n[Object.clone()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#clone--) \n[Object.equals(Object)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#equals-java.lang.Object-) \n[Object.finalize()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#finalize--) \n[Object.getClass()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#getClass--) \n[Object.hashCode()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#hashCode--) \n[Object.notify()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#notify--) \n[Object.notifyAll()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#notifyAll--) \n[Object.toString()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#toString--) \n[Object.wait()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait--) \n[Object.wait(long)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait-long-) \n[Object.wait(long,int)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait-long-int-)\n\nStatic Methods\n--------------\n\n### fromProto(AppProfile proto)\n\n public static AppProfile fromProto(AppProfile proto)\n\n| **Internal Only**: This feature is not stable for application use.\n\nWraps a protobuf response.\n\nThis method is considered an internal implementation detail and not meant to be used by\napplications.\n\nMethods\n-------\n\n### equals(Object o)\n\n public boolean equals(Object o)\n\n**Overrides** \n[Object.equals(Object)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#equals-java.lang.Object-)\n\n### getDescription()\n\n public String getDescription()\n\nGets long form description of the use case for this AppProfile.\n\n### getId()\n\n public String getId()\n\nGets the id of this AppProfile.\n\n### getInstanceId()\n\n public String getInstanceId()\n\nGets the id of the instance that owns this AppProfile.\n\n### getIsolationPolicy()\n\n public AppProfile.IsolationPolicy getIsolationPolicy()\n\n### getPolicy()\n\n public AppProfile.RoutingPolicy getPolicy()\n\nGets the routing policy for all read/write requests which use this app profile.\n\n### hashCode()\n\n public int hashCode()\n\n**Overrides** \n[Object.hashCode()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#hashCode--)"]]