Appendix A: Common application properties
Various properties can be specified inside your application.properties
file, inside your application.yml
file, or as command line switches.
This appendix provides a list of common Spring Cloud GCP properties and references to the underlying classes that consume them.
Property contributions can come from additional jar files on your classpath, so you should not consider this an exhaustive list. Also, you can define your own properties. |
Name | Default | Description |
---|---|---|
spring.cloud.gcp.bigquery.credentials.encoded-key |
||
spring.cloud.gcp.bigquery.credentials.location |
||
spring.cloud.gcp.bigquery.credentials.scopes |
||
spring.cloud.gcp.bigquery.dataset-name |
Name of the BigQuery dataset to use. |
|
spring.cloud.gcp.bigquery.enabled |
true |
Auto-configure Google Cloud BigQuery components. |
spring.cloud.gcp.bigquery.project-id |
Overrides the GCP project ID specified in the Core module to use for BigQuery. |
|
spring.cloud.gcp.config.credentials.encoded-key |
||
spring.cloud.gcp.config.credentials.location |
||
spring.cloud.gcp.config.credentials.scopes |
||
spring.cloud.gcp.config.enabled |
true |
Auto-configure Google Cloud Runtime components. |
spring.cloud.gcp.config.name |
Name of the application. |
|
spring.cloud.gcp.config.profile |
Comma-delimited string of profiles under which the app is running. Gets its default value from the {@code spring.profiles.active} property, falling back on the {@code spring.profiles.default} property. |
|
spring.cloud.gcp.config.project-id |
Overrides the GCP project ID specified in the Core module. |
|
spring.cloud.gcp.config.timeout-millis |
60000 |
Timeout for Google Runtime Configuration API calls. |
spring.cloud.gcp.core.enabled |
true |
Auto-configure Google Cloud Core components. |
spring.cloud.gcp.credentials.encoded-key |
||
spring.cloud.gcp.credentials.location |
||
spring.cloud.gcp.credentials.scopes |
||
spring.cloud.gcp.datastore.credentials.encoded-key |
||
spring.cloud.gcp.datastore.credentials.location |
||
spring.cloud.gcp.datastore.credentials.scopes |
||
spring.cloud.gcp.datastore.emulator.consistency |
0.9 |
Consistency to use creating the Datastore server instance. Default: {@code 0.9} |
spring.cloud.gcp.datastore.emulator.enabled |
false |
If enabled the Datastore client will connect to an local datastore emulator. |
spring.cloud.gcp.datastore.emulator.port |
8081 |
Is the datastore emulator port. Default: {@code 8081} |
spring.cloud.gcp.datastore.enabled |
true |
Auto-configure Google Cloud Datastore components. |
spring.cloud.gcp.datastore.host |
The host and port of a Datastore emulator as the following example: localhost:8081. |
|
spring.cloud.gcp.datastore.namespace |
||
spring.cloud.gcp.datastore.project-id |
||
spring.cloud.gcp.firestore.credentials.encoded-key |
||
spring.cloud.gcp.firestore.credentials.location |
||
spring.cloud.gcp.firestore.credentials.scopes |
||
spring.cloud.gcp.firestore.emulator.enabled |
false |
Enables autoconfiguration to use the Firestore emulator. |
spring.cloud.gcp.firestore.enabled |
true |
Auto-configure Google Cloud Firestore components. |
spring.cloud.gcp.firestore.host-port |
firestore.googleapis.com:443 |
The host and port of the Firestore emulator service; can be overridden to specify an emulator. |
spring.cloud.gcp.firestore.project-id |
||
spring.cloud.gcp.logging.enabled |
true |
Auto-configure Google Cloud Stackdriver logging for Spring MVC. |
spring.cloud.gcp.metrics.credentials.encoded-key |
||
spring.cloud.gcp.metrics.credentials.location |
||
spring.cloud.gcp.metrics.credentials.scopes |
||
spring.cloud.gcp.metrics.enabled |
true |
Auto-configure Google Cloud Monitoring for Micrometer. |
spring.cloud.gcp.metrics.project-id |
Overrides the GCP project ID specified in the Core module. |
|
spring.cloud.gcp.project-id |
GCP project ID where services are running. |
|
spring.cloud.gcp.pubsub.binder.enabled |
true |
Auto-configure Google Cloud Pub/Sub Stream Binder components. |
spring.cloud.gcp.pubsub.credentials.encoded-key |
||
spring.cloud.gcp.pubsub.credentials.location |
||
spring.cloud.gcp.pubsub.credentials.scopes |
||
spring.cloud.gcp.pubsub.emulator-host |
The host and port of the local running emulator. If provided, this will setup the client to connect against a running pub/sub emulator. |
|
spring.cloud.gcp.pubsub.enabled |
true |
Auto-configure Google Cloud Pub/Sub components. |
spring.cloud.gcp.pubsub.keep-alive-interval-minutes |
5 |
How often to ping the server to keep the channel alive. |
spring.cloud.gcp.pubsub.project-id |
Overrides the GCP project ID specified in the Core module. |
|
spring.cloud.gcp.pubsub.publisher.batching.delay-threshold-seconds |
The delay threshold to use for batching. After this amount of time has elapsed (counting from the first element added), the elements will be wrapped up in a batch and sent. |
|
spring.cloud.gcp.pubsub.publisher.batching.element-count-threshold |
The element count threshold to use for batching. |
|
spring.cloud.gcp.pubsub.publisher.batching.enabled |
Enables batching if true. |
|
spring.cloud.gcp.pubsub.publisher.batching.flow-control.limit-exceeded-behavior |
The behavior when the specified limits are exceeded. |
|
spring.cloud.gcp.pubsub.publisher.batching.flow-control.max-outstanding-element-count |
Maximum number of outstanding elements to keep in memory before enforcing flow control. |
|
spring.cloud.gcp.pubsub.publisher.batching.flow-control.max-outstanding-request-bytes |
Maximum number of outstanding bytes to keep in memory before enforcing flow control. |
|
spring.cloud.gcp.pubsub.publisher.batching.request-byte-threshold |
The request byte threshold to use for batching. |
|
spring.cloud.gcp.pubsub.publisher.executor-threads |
4 |
Number of threads used by every publisher. |
spring.cloud.gcp.pubsub.publisher.retry.initial-retry-delay-seconds |
InitialRetryDelay controls the delay before the first retry. Subsequent retries will use this value adjusted according to the RetryDelayMultiplier. |
|
spring.cloud.gcp.pubsub.publisher.retry.initial-rpc-timeout-seconds |
InitialRpcTimeout controls the timeout for the initial RPC. Subsequent calls will use this value adjusted according to the RpcTimeoutMultiplier. |
|
spring.cloud.gcp.pubsub.publisher.retry.jittered |
Jitter determines if the delay time should be randomized. |
|
spring.cloud.gcp.pubsub.publisher.retry.max-attempts |
MaxAttempts defines the maximum number of attempts to perform. If this value is greater than 0, and the number of attempts reaches this limit, the logic will give up retrying even if the total retry time is still lower than TotalTimeout. |
|
spring.cloud.gcp.pubsub.publisher.retry.max-retry-delay-seconds |
MaxRetryDelay puts a limit on the value of the retry delay, so that the RetryDelayMultiplier can’t increase the retry delay higher than this amount. |
|
spring.cloud.gcp.pubsub.publisher.retry.max-rpc-timeout-seconds |
MaxRpcTimeout puts a limit on the value of the RPC timeout, so that the RpcTimeoutMultiplier can’t increase the RPC timeout higher than this amount. |
|
spring.cloud.gcp.pubsub.publisher.retry.retry-delay-multiplier |
RetryDelayMultiplier controls the change in retry delay. The retry delay of the previous call is multiplied by the RetryDelayMultiplier to calculate the retry delay for the next call. |
|
spring.cloud.gcp.pubsub.publisher.retry.rpc-timeout-multiplier |
RpcTimeoutMultiplier controls the change in RPC timeout. The timeout of the previous call is multiplied by the RpcTimeoutMultiplier to calculate the timeout for the next call. |
|
spring.cloud.gcp.pubsub.publisher.retry.total-timeout-seconds |
TotalTimeout has ultimate control over how long the logic should keep trying the remote call until it gives up completely. The higher the total timeout, the more retries can be attempted. |
|
spring.cloud.gcp.pubsub.reactive.enabled |
true |
Auto-configure Google Cloud Pub/Sub Reactive components. |
spring.cloud.gcp.pubsub.subscriber.executor-threads |
4 |
Number of threads used by every subscriber. |
spring.cloud.gcp.pubsub.subscriber.flow-control.limit-exceeded-behavior |
The behavior when the specified limits are exceeded. |
|
spring.cloud.gcp.pubsub.subscriber.flow-control.max-outstanding-element-count |
Maximum number of outstanding elements to keep in memory before enforcing flow control. |
|
spring.cloud.gcp.pubsub.subscriber.flow-control.max-outstanding-request-bytes |
Maximum number of outstanding bytes to keep in memory before enforcing flow control. |
|
spring.cloud.gcp.pubsub.subscriber.max-ack-extension-period |
0 |
The optional max ack extension period in seconds for the subscriber factory. |
spring.cloud.gcp.pubsub.subscriber.max-acknowledgement-threads |
4 |
Number of threads used for batch acknowledgement. |
spring.cloud.gcp.pubsub.subscriber.parallel-pull-count |
The optional parallel pull count setting for the subscriber factory. |
|
spring.cloud.gcp.pubsub.subscriber.pull-endpoint |
The optional pull endpoint setting for the subscriber factory. |
|
spring.cloud.gcp.pubsub.subscriber.retry.initial-retry-delay-seconds |
InitialRetryDelay controls the delay before the first retry. Subsequent retries will use this value adjusted according to the RetryDelayMultiplier. |
|
spring.cloud.gcp.pubsub.subscriber.retry.initial-rpc-timeout-seconds |
InitialRpcTimeout controls the timeout for the initial RPC. Subsequent calls will use this value adjusted according to the RpcTimeoutMultiplier. |
|
spring.cloud.gcp.pubsub.subscriber.retry.jittered |
Jitter determines if the delay time should be randomized. |
|
spring.cloud.gcp.pubsub.subscriber.retry.max-attempts |
MaxAttempts defines the maximum number of attempts to perform. If this value is greater than 0, and the number of attempts reaches this limit, the logic will give up retrying even if the total retry time is still lower than TotalTimeout. |
|
spring.cloud.gcp.pubsub.subscriber.retry.max-retry-delay-seconds |
MaxRetryDelay puts a limit on the value of the retry delay, so that the RetryDelayMultiplier can’t increase the retry delay higher than this amount. |
|
spring.cloud.gcp.pubsub.subscriber.retry.max-rpc-timeout-seconds |
MaxRpcTimeout puts a limit on the value of the RPC timeout, so that the RpcTimeoutMultiplier can’t increase the RPC timeout higher than this amount. |
|
spring.cloud.gcp.pubsub.subscriber.retry.retry-delay-multiplier |
RetryDelayMultiplier controls the change in retry delay. The retry delay of the previous call is multiplied by the RetryDelayMultiplier to calculate the retry delay for the next call. |
|
spring.cloud.gcp.pubsub.subscriber.retry.rpc-timeout-multiplier |
RpcTimeoutMultiplier controls the change in RPC timeout. The timeout of the previous call is multiplied by the RpcTimeoutMultiplier to calculate the timeout for the next call. |
|
spring.cloud.gcp.pubsub.subscriber.retry.total-timeout-seconds |
TotalTimeout has ultimate control over how long the logic should keep trying the remote call until it gives up completely. The higher the total timeout, the more retries can be attempted. |
|
spring.cloud.gcp.secretmanager.credentials.encoded-key |
||
spring.cloud.gcp.secretmanager.credentials.location |
||
spring.cloud.gcp.secretmanager.credentials.scopes |
||
spring.cloud.gcp.secretmanager.enabled |
true |
Auto-configure GCP Secret Manager support components. |
spring.cloud.gcp.secretmanager.project-id |
Overrides the GCP Project ID specified in the Core module. |
|
spring.cloud.gcp.security.firebase.project-id |
Overrides the GCP project ID specified in the Core module. |
|
spring.cloud.gcp.security.firebase.public-keys-endpoint |
www.googleapis.com/robot/v1/metadata/x509/securetoken@system.gserviceaccount.com |
Link to Google’s public endpoint containing Firebase public keys. |
spring.cloud.gcp.security.iap.algorithm |
ES256 |
Encryption algorithm used to sign the JWK token. |
spring.cloud.gcp.security.iap.audience |
Non-dynamic audience string to validate. |
|
spring.cloud.gcp.security.iap.enabled |
true |
Auto-configure Google Cloud IAP identity extraction components. |
spring.cloud.gcp.security.iap.header |
x-goog-iap-jwt-assertion |
Header from which to extract the JWK key. |
spring.cloud.gcp.security.iap.issuer |
JWK issuer to verify. |
|
spring.cloud.gcp.security.iap.registry |
Link to JWK public key registry. |
|
spring.cloud.gcp.spanner.create-interleaved-table-ddl-on-delete-cascade |
true |
|
spring.cloud.gcp.spanner.credentials.encoded-key |
||
spring.cloud.gcp.spanner.credentials.location |
||
spring.cloud.gcp.spanner.credentials.scopes |
||
spring.cloud.gcp.spanner.database |
||
spring.cloud.gcp.spanner.emulator-host |
localhost:9010 |
|
spring.cloud.gcp.spanner.emulator.enabled |
false |
Enables auto-configuration to use the Spanner emulator. |
spring.cloud.gcp.spanner.enabled |
true |
Auto-configure Google Cloud Spanner components. |
spring.cloud.gcp.spanner.fail-if-pool-exhausted |
false |
|
spring.cloud.gcp.spanner.instance-id |
||
spring.cloud.gcp.spanner.keep-alive-interval-minutes |
-1 |
|
spring.cloud.gcp.spanner.max-idle-sessions |
-1 |
|
spring.cloud.gcp.spanner.max-sessions |
-1 |
|
spring.cloud.gcp.spanner.min-sessions |
-1 |
|
spring.cloud.gcp.spanner.num-rpc-channels |
-1 |
|
spring.cloud.gcp.spanner.prefetch-chunks |
-1 |
|
spring.cloud.gcp.spanner.project-id |
||
spring.cloud.gcp.spanner.write-sessions-fraction |
-1 |
|
spring.cloud.gcp.sql.credentials |
Overrides the GCP OAuth2 credentials specified in the Core module. |
|
spring.cloud.gcp.sql.database-name |
Name of the database in the Cloud SQL instance. |
|
spring.cloud.gcp.sql.enabled |
true |
Auto-configure Google Cloud SQL support components. |
spring.cloud.gcp.sql.instance-connection-name |
Cloud SQL instance connection name. [GCP_PROJECT_ID]:[INSTANCE_REGION]:[INSTANCE_NAME]. |
|
spring.cloud.gcp.sql.ip-types |
A comma delimited list of preferred IP types for connecting to the Cloud SQL instance. |
|
spring.cloud.gcp.storage.auto-create-files |
||
spring.cloud.gcp.storage.credentials.encoded-key |
||
spring.cloud.gcp.storage.credentials.location |
||
spring.cloud.gcp.storage.credentials.scopes |
||
spring.cloud.gcp.storage.enabled |
true |
Auto-configure Google Cloud Storage components. |
spring.cloud.gcp.trace.authority |
HTTP/2 authority the channel claims to be connecting to. |
|
spring.cloud.gcp.trace.compression |
Compression to use for the call. |
|
spring.cloud.gcp.trace.credentials.encoded-key |
||
spring.cloud.gcp.trace.credentials.location |
||
spring.cloud.gcp.trace.credentials.scopes |
||
spring.cloud.gcp.trace.deadline-ms |
Call deadline. |
|
spring.cloud.gcp.trace.enabled |
true |
Auto-configure Google Cloud Stackdriver tracing components. |
spring.cloud.gcp.trace.max-inbound-size |
Maximum size for an inbound message. |
|
spring.cloud.gcp.trace.max-outbound-size |
Maximum size for an outbound message. |
|
spring.cloud.gcp.trace.message-timeout |
1 |
Timeout in seconds before pending spans will be sent in batches to GCP Stackdriver Trace. |
spring.cloud.gcp.trace.num-executor-threads |
4 |
Number of threads to be used by the Trace executor. |
spring.cloud.gcp.trace.project-id |
Overrides the GCP project ID specified in the Core module. |
|
spring.cloud.gcp.trace.wait-for-ready |
Waits for the channel to be ready in case of a transient failure. Defaults to failing fast in that case. |
|
spring.cloud.gcp.vision.credentials.encoded-key |
||
spring.cloud.gcp.vision.credentials.location |
||
spring.cloud.gcp.vision.credentials.scopes |
||
spring.cloud.gcp.vision.enabled |
true |
Auto-configure Google Cloud Vision components. |
spring.cloud.gcp.vision.executor-threads-count |
1 |
Number of threads used to poll for the completion of Document OCR operations. |
spring.cloud.gcp.vision.json-output-batch-size |
20 |
Number of document pages to include in each JSON output file. |