Snowflake
Astran AlwaysReady® integrates with Snowflake to ensure your critical business processes remain executable even when your primary systems (ERP, SAP, operational platforms) become temporarily unreachable.
The principle is straightforward: export the data your processes depend on from Snowflake into Astran's secure storage on a regular basis. During a cybercrisis, your teams can access and operate on a secured, always-available copy of that data.
How it works
Snowflake exposes an external stage mechanism that lets you push data directly into any S3-compatible storage, including Astran S3. The integration requires two SQL steps.
Step 1: Create an external stage
Create a named stage in Snowflake pointing to your Astran S3 bucket:
CREATE OR REPLACE STAGE my_astran_stage
URL = 's3://my-bucket/'
ENDPOINT = '<partition>.s3.astran.io'
CREDENTIALS = (
AWS_KEY_ID = '<your_access_key_id>'
AWS_SECRET_KEY = '<your_secret_access_key>'
)
FILE_FORMAT = (TYPE = CSV FIELD_OPTIONALLY_ENCLOSED_BY = '"');
Replace <partition> with your Astran partition name (e.g. company-prod) and the credentials with an Astran API key that has s3:PutObject permission on the target bucket.
Store your Astran API credentials in Snowflake Secrets Manager rather than hardcoding them in stage or task definitions.
Step 2: Export data
Use COPY INTO to push a table or query result into the stage:
-- Export a full table
COPY INTO @my_astran_stage/exports/accounts.csv
FROM my_schema.accounts
FILE_FORMAT = (TYPE = CSV FIELD_OPTIONALLY_ENCLOSED_BY = '"')
OVERWRITE = TRUE
SINGLE = TRUE;
-- Export the result of a query
COPY INTO @my_astran_stage/exports/active_suppliers.csv
FROM (SELECT * FROM my_schema.suppliers WHERE status = 'ACTIVE')
FILE_FORMAT = (TYPE = CSV FIELD_OPTIONALLY_ENCLOSED_BY = '"')
OVERWRITE = TRUE
SINGLE = TRUE;
Test with Snowflake Sample Data before exporting production datasets.
Automating exports with Snowflake Tasks
To keep your Astran data copies fresh, schedule nightly exports using a Snowflake Task:
CREATE OR REPLACE TASK nightly_astran_export
WAREHOUSE = my_warehouse
SCHEDULE = 'USING CRON 0 2 * * * UTC'
AS
COPY INTO @my_astran_stage/exports/accounts.csv
FROM my_schema.accounts
FILE_FORMAT = (TYPE = CSV FIELD_OPTIONALLY_ENCLOSED_BY = '"')
OVERWRITE = TRUE
SINGLE = TRUE;
ALTER TASK nightly_astran_export RESUME;
With nightly scheduling, Astran maintains data copies that are at most 24 hours old, which is sufficient for most crisis scenarios.