Files
oam/knowledge base/snowflake.md
2025-06-06 22:37:54 +02:00

4.6 KiB

Snowflake

TODO

Intro

  1. TL;DR
  2. Snowflake CLI
  3. RoleOut
  4. Further readings
    1. Sources

TL;DR

Setup
Linux (DEB)
# Install Snowflake's CLI.
# Get it from the [Snowflake CLI repository].
curl --continue-at '-' --location --fail --show-error --remote-name \
  --url 'https://sfc-repo.snowflakecomputing.com/snowflake-cli/linux_aarch64/3.7.2/snowflake-cli-3.7.2.aarch64.deb' \
&& sudo dpkg -i 'snowflake-cli-3.7.2.aarch64.deb'
Linux (RPM)
# Install Snowflake's CLI.
# Get it from the [Snowflake CLI repository].
curl --continue-at '-' --location --fail --show-error --remote-name \
  --url 'https://sfc-repo.snowflakecomputing.com/snowflake-cli/linux_aarch64/3.7.2/snowflake-cli-3.7.2.aarch64.rpm' \
&& sudo rpm -i 'snowflake-cli-3.7.2.rpm'
Mac OS X
# Install Snowflake's CLI.
brew install 'snowflake-cli'

# Install RoleOut's UI and CLI.
curl -C '-' -LfSO --url 'https://github.com/Snowflake-Labs/roleout/releases/download/v2.0.1/Roleout-2.0.1-arm64.dmg' \
&& sudo installer -pkg 'Roleout-2.0.1-arm64.dmg' -target '/' \
&& curl -C '-' -LfS --url 'https://github.com/Snowflake-Labs/roleout/releases/download/v2.0.1/roleout-cli-macos' \
     --output "$HOME/bin/roleout-cli" \
&& chmod 'u+x' "$HOME/bin/roleout-cli" \
&& xattr -d 'com.apple.quarantine' "$HOME/bin/roleout-cli"
Usage
# Check it works.
snow --version

# Get help.
snow --help
snow helpers -h

# List configured connections to Snowflake.
snow connection list

# Add connections.
snow connection add

# Test connections.
snow connection test
snow connection test -c 'connection-name'

# Executes Snowflake queries.
snow sql
SHOW USERS;
SHOW USERS LIKE '%john%';
DESC USER zoe;

CREATE USER alice;
CREATE USER IF NOT EXISTS bob;
CREATE OR REPLACE USER claude
  PASSWORD='somePassword' DISPLAY_NAME='Claude' EMAIL='claude@example.org'
  LOGIN_NAME='CLAUDE@EXAMPLE.ORG' MUST_CHANGE_PASSWORD=TRUE;

GRANT ROLE someRole TO USER diane;

ALTER USER IF EXISTS elijah RESET PASSWORD;
ALTER USER fred SET DISABLE_MFA=TRUE;
ALTER USER greg SET MINS_TO_UNLOCK=0;

Snowflake CLI

Refer Snowflake CLI.

Meant to replace the SnowSQL tool.

Download from the Snowflake CLI repository.

# Linux (DEB).
curl --continue-at '-' --location --fail --show-error --remote-name \
  --url 'https://sfc-repo.snowflakecomputing.com/snowflake-cli/linux_aarch64/3.7.2/snowflake-cli-3.7.2.aarch64.deb' \
&& sudo dpkg -i 'snowflake-cli-3.7.2.aarch64.deb'

# Linux (RPM).
curl --continue-at '-' --location --fail --show-error --remote-name \
  --url 'https://sfc-repo.snowflakecomputing.com/snowflake-cli/linux_aarch64/3.7.2/snowflake-cli-3.7.2.aarch64.rpm' \
&& sudo rpm -i 'snowflake-cli-3.7.2.rpm'

# Mac OS X.
# Via Homebrew.
brew install 'snowflake-cli'
# Via the [Snowflake CLI repository].
curl --continue-at '-' --location --fail --show-error --remote-name \
  --url 'https://sfc-repo.snowflakecomputing.com/snowflake-cli/darwin_arm64/3.7.2/snowflake-cli-3.7.2-darwin-arm64.pkg' \
&& sudo installer -pkg 'snowflake-cli-3.7.2-darwin-arm64.pkg' -target '/' \
&& ln -swiv '/Applications/SnowflakeCLI.app/Contents/MacOS/snow' "$HOME/bin/snow"

RoleOut

# Mac OS X.
curl -C '-' -LfSO --url 'https://github.com/Snowflake-Labs/roleout/releases/download/v2.0.1/Roleout-2.0.1-arm64.dmg' \
&& sudo installer -pkg 'Roleout-2.0.1-arm64.dmg' -target '/' \
&& curl -C '-' -LfS --url 'https://github.com/Snowflake-Labs/roleout/releases/download/v2.0.1/roleout-cli-macos' \
     --output "$HOME/bin/roleout-cli" \
&& chmod 'u+x' "$HOME/bin/roleout-cli" \
&& xattr -d 'com.apple.quarantine' "$HOME/bin/roleout-cli"

Further readings

Sources