A CLI utility for Snowflake Snowpipe REST APIs
Project description
Snowpipe CLI
Snowpipe CLI provides access to the Snowpipe REST API via the CLI. The script uses the snowflake-ingest python package to call the REST endpoints.
There is also a JWT generator that you can use to simply generate a JWT for adhoc use.
Installation
You can install the latest version with pip
pip install snowpipe-cli
Note: If you are installing into a virtual environment, you may need to deactivate and activate again in order for
the snowpipe command to work correctly from your shell.
Requirements
Snowpipe CLI requires Python3.8+.
Configuration
Create a config file with the Snowflake credentials and account information. The config file must be YAML like below:
url: phdata.snowflakecomputing.com
account: PHDATA
user: USER
key_fp: SHA256:something_from_snowflake_user
key_file: /path/to/user/private/key.pem
key_password: optional_password
See also example config.
The account value must not include the region and cloud if present in the Snowflake URL. The url is the URL of the
Snowflake instance minus the scheme. For example, if your URL is https://tacos.us-east-2.azure.snowflakecomputing.com,
then the account will be tacos and the url will be tacos.us-east-2.azure.snowflakecomputing.com.
To generate a private key,
see Key Pair Authentication & Key Pair Rotation. When
verifying the fingerprint, record the value into the key_fp YAML key.
Usage
The commands below are examples of calling the snowpipe script from your shell after it has been installed with pip.
If you have cloned the repository, you can also invoke the script from its parent directory with ./snowpipe.py, or you
can run from the src directory with python -m snowpipe_cli.
Show the script help, including the subcommands:
snowpipe -h
Show subcommand help:
snowpipe <subcommand> -h
Run a subcommand:
snowpipe <subcommand> <config_file> <other_args>...
Enable debug logging:
snowpipe -d <subcommand> <config_file>
Contributing
Install the prerequisites:
pip install -r requirements.txt
Build the package in the dist directory
python3 -m build
Upload to pypi
twine upload --repository pypi dist/*
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file snowpipe-cli-0.0.2a1.tar.gz.
File metadata
- Download URL: snowpipe-cli-0.0.2a1.tar.gz
- Upload date:
- Size: 10.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.23.0 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
81b025ac95313a6d00c44fb8caf9ea01a3a5d7ae1b91c31e59e81ae4cbfc28c0
|
|
| MD5 |
3302cfb19e6aa2b38f1fc480a4ecfcf6
|
|
| BLAKE2b-256 |
6a92f8d88c7c96ff550519f44d0730b9dae072669ecb54d026551b4410bec8fe
|
File details
Details for the file snowpipe_cli-0.0.2a1-py3-none-any.whl.
File metadata
- Download URL: snowpipe_cli-0.0.2a1-py3-none-any.whl
- Upload date:
- Size: 10.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.23.0 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3cc239eafe7ef5669e027ece40a49b67f0187932a1a0928454e7ac282e8739ab
|
|
| MD5 |
63d4f513f1cd8856fbe301b10fd9b2f5
|
|
| BLAKE2b-256 |
dc651c7ba3100cba6deca039f62402743ed896a5da25c4f0b27edcb33baa9eba
|