> For the complete documentation index, see [llms.txt](https://docs.redivis.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.redivis.com/reference/tables/exporting-tables/google-cloud-storage.md).

# Google Cloud Storage

The table export modal **Integrations** tab allows export of Redivis tables to [Google Cloud Storage](https://cloud.google.com/storage).

<div data-with-frame="true"><img src="https://1672950126-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LVodLwUXgJUGcm5Cvso%2Fuploads%2FWIiuooo0sCKXGizE6ULh%2Fredivis.com_datasets_7br5-41440fjzk_tables_6fff-7hqb797cb_exportTable%3D6fff-7hqb797cb%20(1).png?alt=media&amp;token=989d01bc-beac-46cd-aaf1-d9ea3137c81e" alt=""></div>

To export data to Cloud Storage, select **Export**, then fill out the subsequent modal.

You'll need to authenticate with a Google account, and then specify the *Google Cloud Storage Bucket*, *Table name*, and an optional *prefix*. In addition, you can choose one of several [file types](/reference/tables/exporting-tables/download.md#file-types).

<div data-with-frame="true"><img src="https://1672950126-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LVodLwUXgJUGcm5Cvso%2Fuploads%2FQ9nXTdEM9mQtaOoGykVj%2Fredivis.com_datasets_7br5-41440fjzk_tables_6fff-7hqb797cb_exportTable%3D6fff-7hqb797cb%26exportDestination%3Dintegration.png?alt=media&amp;token=3d61d285-7286-4e6a-a8cd-f069758b0282" alt=""></div>

Once you confirm the export, your data will begin transferring to the specified Cloud Storage location and will provide a live-updating status of the transfer.

### Export to a bucket in a VPC

If the Google Cloud project that contains your export bucket is associated with a [Virtual Private Cloud](https://cloud.google.com/vpc) (VPC), you will need to configure an **ingress policy** on your Google Cloud organization to allow data export from Redivis to the bucket.

To make these changes, you must have the VPC Service Controls administrator role in your Google Cloud organization.

**Configure on Google Cloud Console**

1. In the Google Cloud console, go to the [**VPC Service Controls**](https://console.cloud.google.com/security/service-perimeter) dashboard. In the project picker, select your Google organization rather than a specific project. The dashboard lists your organization's VPCs.
2. Select the perimeter that contains your bucket's project to open **Service perimeter details**. Confirm that your bucket's project is listed under **Projects**. If **Cloud Storage API** is not listed under **Restricted Services**, you do not need an ingress policy and can skip the remaining steps.

<figure><img src="https://1672950126-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LVodLwUXgJUGcm5Cvso%2Fuploads%2FUCIDMzOnsBl3kCvJcowo%2FCleanShot%202026-09-30%20at%2013.24.41%402x.png?alt=media&amp;token=ff176794-6f03-49b1-8281-147ae2ab1a99" alt=""><figcaption></figcaption></figure>

3. Select **Edit**. Under **Ingress policy**, select **Add an ingress rule** and configure the following options:
   * Under **From**:
     * **Identities**: Add `user:name@university.edu` to allow only your Redivis account to export, or `ANY_USER_ACCOUNT` to allow any Redivis user to export.
     * **Sources**: Add the Google Cloud project: `som-phs-redivis-prod`. Redivis manages this project, which ensures that only exports from Redivis platform can land in your bucket.
   * Under **To**:
     * **Resources**: Add your bucket's Google Cloud project.
     * **Operations or IAM roles**: Add `storage.googleapis.com` to allow writes to your bucket.
4. **Save** the policy, then you may [export any Redivis table to your bucket](/reference/tables/exporting-tables/google-cloud-storage.md).

**Configure with `gcloud` CLI tool**

You can also configure the ingress policy with the `gcloud` CLI tool by using the following shell script and YAML file. Before you run the script, update it with your VPC name, access policy ID, and Google Cloud project number.

{% hint style="info" %}
If your VPC has existing ingress policies, you should use `perimeters describe` (or `dry-run describe`) to get the existing YAML configuration, and merge it with the file below.
{% endhint %}

```bash
# Dry-run config (recommended first)
gcloud access-context-manager perimeters dry-run update PERIMETER_NAME \
  --set-ingress-policies=ingress.yaml \
  --policy=POLICY_ID

# Enforced config, once validated
gcloud access-context-manager perimeters update PERIMETER_NAME \
  --set-ingress-policies=ingress.yaml \
  --policy=POLICY_ID
```

Use the following `ingress.yaml` file, which contains ingress rule described above.

```yaml
# ingress.yaml
- ingressFrom:
    identities:
      - user:name@university.edu
    sources:
      - resource: projects/936051303296
  ingressTo:
    resources:
      - projects/DESTINATION_PROJECT_NUMBER
    operations:
      - serviceName: storage.googleapis.com
        methodSelectors:
          - method: '*'
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.redivis.com/reference/tables/exporting-tables/google-cloud-storage.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
