Version: eXtendFiles 1.7 and above
Audience: NetSuite Administrator, Google Cloud Administrator

Overview

To use eXtendFiles with Google Cloud Storage, part of Google Cloud Platform, you must configure settings in both NetSuite and Google Cloud. This configuration requires a user with Administrator privileges in both NetSuite and Google Cloud.

Configuration

Google Cloud Configuration

To use Google Cloud Storage buckets with eXtendFiles, follow the instructions below. 

Google Cloud Prerequisites

  • Before beginning configuration, ensure you have:
    • A Google Cloud account with Administrative access
    • Access to create service accounts and manage permissions
    • One or more buckets created for file storage

1. Create Service Account

  1. In Google Cloud console, navigate to Service Accounts for your project or use the search.

  2. Click Create Service Account.
    Image Placeholder
  3. Specify the following details
    1. Service Account Name - Enter a name for your service account.
    2. Service Account ID - This ID is automatically generated from the service account name, but you can customize it. The ID will be used to create the email address.
    3. Service Account Description - Enter a description of the service account's purpose (e.g., "eXtendFiles GCP Production Account").
      Image Placeholder
  4. Click Create And Continue, and then click Done.
  5. Once the service account is created, it will be shown in the service accounts list.
    Image Placeholder
  6. Click the service account's email address to open it.
  7. Navigate to Keys and click Add Key.
    Image Placeholder
  8. Select the JSON key type.
    Image Placeholder
  9. When you click "Create," a key file will be downloaded.
  10. You'll need to upload this key file in the eXtendFiles setup screen, which we'll cover in the NetSuite configuration steps.

Configure Buckets

  1. Navigate to Buckets for your project or use the search.
  2. If needed, create a bucket to use with eXtendFiles. Otherwise, select an existing bucket.
    1. Supported Location Type: Multi-region
    2. Support Storage Class: Standard
    3. Access Control Options:
      1. Uniform: All files share the same public/private status (unchangeable after setup)
      2. Fine-grained: Individual file permissions via ACL
      3. Files inherit bucket's default access settings
      4. Signed URLs are required to access private files (7-day maximum)
  3. Navigate to the Permissions, and click Grant Access.
    Image Placeholder
  4. Enter the service account email address you created earlier in the New Principals field.
    Image Placeholder
  5. Select Storage Admin for the role. Note: Storage Admin permission is required because eXtendFiles needs to modify file ACLs, generate signed URLs, and set CORS configurations for the buckets.Image Placeholder
  6. Click Save.
  7. Repeat these steps for all buckets you want to use with eXtendFiles.

2. NetSuite Configuration

The configuration steps below will be performed from within your NetSuite account.

  1. Go to eXtendTech → eXtendFiles → Setup.
  2. In the file upload field labeled Google Cloud Credentials, upload the service account key file that you downloaded earlier.
  3. Select the Google Cloud sublist under the Storage Information subtab.Image Placeholder
  4. Configure the following fields with your Google Cloud account information.
FIELD
DESCRIPTION
Enable CORS
Click the Enable CORS button to enable CORS after defining your bucket(s) below.
BUCKET
Enter the primary bucket name for file storage.
ADDITIONAL BUCKETS
Enter any additional bucket names you want to use. Note: All configured buckets must use the same service account as the uploaded key file.

Common Configuration Errors

  • If CORS is not enabled on the bucket, file uploads will fail with the following error: