Skip to main content
Creates a new location object in your Firebolt account, which is a secure, reusable object that stores the connection details and credentials for Amazon S3 data sources. Instead of entering these details each time you run a query or create a table, you can use a location object. This document captures specifics and examples for location objects for Amazon S3. Both options are supported and will appear as CLOUD_STORAGE (S3) in the information_schema.locations view. For a comprehensive guide to LOCATION objects, see LOCATION objects. For more on location objects syntax in general, see CREATE LOCATION.

Syntax

AMAZON_S3 is supported as an alias for CLOUD_STORAGE.

Parameters

Common Parameters

Amazon S3 Parameters

AWS Authentication Parameters

Examples

Authenticate using an access key

The following code examples use keys to authenticate to AWS. Both CLOUD_STORAGE and AMAZON_S3 are shown:

Authenticate using a role

The following code examples use a role to authenticate to AWS and include a recommended external ID. Both CLOUD_STORAGE and AMAZON_S3 are shown:
For role-based AWS access you can additionally set an external ID. An external ID is a value you choose and control that AWS checks when Firebolt assumes your role, adding a second condition on top of your account’s unique IAM principal. Configuring one is a recommended best practice. See IAM roles.
AWS_ROLE_EXTERNAL_ID is optional. To assume the role without an external ID, omit it:

Create a location with an AWS session token

The following code examples create a location object named my_location, for an Amazon S3 data source with the specified URL and AWS session token. Both CLOUD_STORAGE and AMAZON_S3 are shown: