docs/src/main/sphinx/object-storage/file-system-gcs.md
Trino includes a native implementation to access Google Cloud Storage (GCS) with a catalog using the Delta Lake, Hive, Hudi, or Iceberg connectors.
Enable the native implementation with fs.native-gcs.enabled=true in your
catalog properties file.
Use the following properties to configure general aspects of Google Cloud Storage file system support:
:::{list-table} :widths: 40, 60 :header-rows: 1
fs.native-gcs.enabledfalse. Set to true to use Google Cloud Storage and enable
all other properties.gcs.project-idgcs.endpointhttp://storage.example.com:8000.gcs.client.max-retriesgcs.client.backoff-scale-factorgcs.client.max-retry-time25s.gcs.client.min-backoff-delay10ms.gcs.client.max-backoff-delay2s.gcs.read-block-size2MiB. See com.google.cloud.BaseStorageReadChannel.gcs.write-block-size16MiB. See com.google.cloud.BaseStorageWriteChannel.gcs.page-sizegcs.batch-sizegcs.application-idUser-Agent header
for all requests sent to Google Cloud Storage. Defaults to Trino.
:::Use one of the following properties to configure the authentication to Google Cloud Storage:
:::{list-table} :widths: 40, 60 :header-rows: 1
gcs.auth-typeSERVICE_ACCOUNT.
Supported values are:
SERVICE_ACCOUNT: loads credentials from the environment. Either gcs.json-key or
gcs.json-key-file-path can be set in addition to override the default
credentials provider.ACCESS_TOKEN: usage of client-provided OAuth 2.0 token to access Google
Cloud Storage.APPLICATION_DEFAULT: Attempts to obtain Google Application Default
Credentials (ADC) from the environment. If no ADC is available, the
filesystem falls back to NoCredentials.getInstance() to explicitly
indicate unauthenticated GCS access.gcs.json-keygcs.json-key-file-path.gcs.json-key-file-pathgcs.json-key.
:::(fs-legacy-gcs-migration)=
Trino includes legacy Google Cloud Storage support to use with a catalog using the Delta Lake, Hive, Hudi, or Iceberg connectors. Upgrading existing deployments to the current native implementation is recommended. Legacy support is deprecated and will be removed.
To migrate a catalog to use the native file system implementation for Google Cloud Storage, make the following edits to your catalog configuration:
fs.native-gcs.enabled=true catalog configuration property.:::{list-table} :widths: 35, 35, 65 :header-rows: 1
hive.gcs.use-access-tokengcs.auth-typehive.gcs.json-key-file-pathgcs.json-key-file-pathgcs.json-key in preceding sections
:::