Skip to main content

From cloud storage or over HTTPS

From public cloud storage

MotherDuck supports several cloud storage providers, including Amazon S3, Azure, Google Cloud and Cloudflare R2.

note

MotherDuck is available on AWS in three regions: US East (N. Virginia) - us-east-1, US West (Oregon) - us-west-2, and Europe (Frankfurt) - eu-central-1. For an optimal experience, we strongly encourage you locate your data in the same region as your MotherDuck Organization.

tip

If you want to inspect storage paths from SQL before loading data, see MD_LIST_FILES(). It supports S3 and Azure paths. For S3 bucket discovery by secret, see MD_LIST_BUCKETS_FOR_SECRET().

The following example features Amazon S3.

  1. In the left panel of the UI, click Add data
  2. Select From cloud storage
  1. For a publicly accessible bucket, skip creating a secret
  1. Enter the S3 bucket path (e.g., s3://motherduck-demo) and select the files you want, or use Wildcard mode to choose files with a matching pattern
  2. Preview the files and select the table names and destination database
  3. Click Create tables

From a secure cloud storage provider

MotherDuck supports several cloud storage providers, including Amazon S3, Azure, Google Cloud, and Cloudflare R2. To access them securely, you first must create a secret.

info

When you load data from cloud storage while connected to MotherDuck, the query runs on MotherDuck's cloud execution engine, not your local machine. MotherDuck connects to your storage provider directly and can use any matching secret, including temporary secrets from your local DuckDB session. For more details, see CREATE SECRET.

note

For SQL-based object discovery, MD_LIST_FILES() supports only s3://, azure://, and az:// paths. It does not accept gcs://, gs://, or r2:// paths.

You can set cloud storage secrets directly from the UI under Settings —> Integrations —> Secrets, or with the "Add data" button in the left panel.

First, create a secret for your cloud storage credentials:

  1. Go to SettingsIntegrationsSecrets

The MotherDuck UI for adding a new secret

  1. Click Add secret and select your cloud storage provider (S3, R2, GCS, Azure)
  1. Enter your access key and secret for your service account in your cloud storage provider.
  2. For S3 credentials, you can test and verify your connection before saving

Once your secret is configured, load data from your secure bucket:

  1. In the left panel of the notebook UI, click Add data
  2. Select From cloud storage
  3. Enter the bucket path and select the files you want, or use Wildcard mode to choose files with a matching pattern
  4. Preview the files and select the table names and destination database
  5. Click Create tables
note

When loading data from Azure or Hugging Face, you must use Wildcard mode to select files. Browse mode is not supported for these providers.

Over HTTPS

MotherDuck supports loading data over HTTPS, including CSV exports from public Google Sheets.

SELECT *
FROM read_csv(
'https://docs.google.com/spreadsheets/d/<sheet_id>/export?format=csv&gid=<tab_id>',
MD_RUN = REMOTE
);

For a full Google Sheets walkthrough, including private sheets with HTTP authentication, see the Google Sheets integration.