Skip to content

Extract Metadata with CS Tools. #180

Extract Metadata with CS Tools.

Extract Metadata with CS Tools. #180

name:
Extract Metadata with CS Tools.
on:
workflow_dispatch:
schedule:
# Runs every day at 5:20 AM UTC
- cron: "20 5 * * *"
jobs:
extract_data_from_thoughtspot:
# Configure Environment Variables for CS Tools configuration
env:
CS_TOOLS_THOUGHTSPOT__URL: ${{ secrets.THOUGHTSPOT_URL }}
CS_TOOLS_THOUGHTSPOT__USERNAME: ${{ secrets.THOUGHTSPOT_USERNAME }}
CS_TOOLS_THOUGHTSPOT__SECRET_KEY: ${{ secrets.THOUGHTSPOT_SECRET_KEY }}
# CS_TOOLS_TEMP_DIR: ...
DECLARATIVE_SYNCER_SYNTAX: account_name=${{ secrets.SNOWFLAKE_ACCOUNT }}&username=${{ secrets.SNOWFLAKE_USERNAME }}&secret=${{ secrets.SNOWFLAKE_PASSWORD }}&warehouse=${{ secrets.SNOWFLAKE_WAREHOUSE }}&role=${{ secrets.SNOWFLAKE_ROLE }}&database=${{ secrets.SNOWFLAKE_DATABASE }}&schema=${{ secrets.SNOWFLAKE_SCHEMA }}&authentication=basic
runs-on: ubuntu-latest
steps:
- name: Check out the repository main branch
uses: actions/checkout@v4
- name: Set up Python 3.12
uses: actions/setup-python@v4
with:
python-version: 3.12
- name: Install a specific version of CS Tools
run: python -m pip install -e .[cli]
- name: Install Snowflake Syncer requirements
run: python -m pip install snowflake-sqlalchemy>=1.6.1 cryptography
# --config ENV: tells CS Tools to pull the information from environment variables.
- name: Refresh Metadata from ThoughtSpot
run: "cs_tools tools searchable metadata --syncer 'snowflake://${{ env.DECLARATIVE_SYNCER_SYNTAX }}&load_strategy=TRUNCATE' --config ENV:"