# sql-snowflake-utils
Assorted Snowflake utilities

# Usage

Run an ad-hoc query against snowflake:
```
run.sh <filename> [<s3_uri_prefix>]
```

`run.sh` allows you to inject aws credentials to run commands that need aws access, like `COPY INTO`.

Create a file with some sql. Use templated values for your credentials.

```sql
# example_copy_into.sql
COPY INTO '{{ S3_URI_PREFIX }}/{{ TIMESTAMP }}'
FROM ( SELECT * FROM table )
CREDENTIALS = ( AWS_KEY_ID = '{{ AWS_ACCESS_KEY_ID }}' AWS_SECRET_KEY = '{{ AWS_SECRET_ACCESS_KEY }}')
FILE_FORMAT = ( field_optionally_enclosed_by = "'" );
```

Export your creds and specify an s3 uri:
```bash
$ export AWS_ACCESS_KEY_ID='<your_key>'
$ export AWS_SECRET_ACCESS_KEY='<your_secret_access_key>'
$ ./run.sh example_copy_into.sql s3://bucket/path
```
