59 lines
2.6 KiB
Bash
Executable File
59 lines
2.6 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
set -euo pipefail
|
|
|
|
ENV_GROUP="$1"
|
|
CLIENT_ID="$2"
|
|
FULL_NAME="$3"
|
|
BUCKET_NAME="$4"
|
|
|
|
echo "ENV_GROUP=${ENV_GROUP}, CLIENT_ID=${CLIENT_ID}, FULL_NAME=${FULL_NAME}, BUCKET_NAME=${BUCKET_NAME}"
|
|
|
|
readonly SCRIPT_DIR="$( cd "$( dirname "$0" )" && pwd )"
|
|
|
|
snowflake_secret_name="bb_svc_acc"
|
|
echo "# Getting snowflake creds from AWS Secret Manager... snowflake_secret_name=${snowflake_secret_name}"
|
|
snowflake_secret_value=$(aws secretsmanager get-secret-value --secret-id "$snowflake_secret_name" --query 'SecretString' --output text)
|
|
|
|
SNOWFLAKE_ACCOUNT=$(echo $snowflake_secret_value | jq -r '.account_alias')
|
|
SNOWFLAKE_DATABASE=$(echo $snowflake_secret_value | jq -r '.database')
|
|
SNOWFLAKE_USER=$(echo $snowflake_secret_value | jq -r '.user')
|
|
SNOWFLAKE_ROLE=$(echo $snowflake_secret_value | jq -r '.role')
|
|
|
|
SNOWFLAKE_PASSWORD=$(echo $snowflake_secret_value | jq -r '.password')
|
|
|
|
echo "SNOWFLAKE_ACCOUNT=${SNOWFLAKE_ACCOUNT}"
|
|
echo "SNOWFLAKE_DATABASE=${SNOWFLAKE_DATABASE}"
|
|
echo "SNOWFLAKE_USER=${SNOWFLAKE_USER}"
|
|
echo "SNOWFLAKE_ROLE=${SNOWFLAKE_ROLE}"
|
|
export SNOWSQL_PWD=${SNOWFLAKE_PASSWORD}
|
|
|
|
#snowsql -a "${SNOWFLAKE_ACCOUNT}" -u "${SNOWFLAKE_USER}" -d "${SNOWFLAKE_DATABASE}" -r "${SNOWFLAKE_ROLE}" -o exit_on_error=true -f "${SCRIPT_DIR}/snowsql-query.sql"
|
|
|
|
#QUERY="INSERT INTO STG.CLIENT_LOGS(CLIENT_ID, CLIENT_NAME, BUCKET_NAME) VALUES ('${CLIENT_ID}','${FULL_NAME}','${BUCKET_NAME}')"
|
|
#echo "QUERY=${QUERY}"
|
|
#snowsql -a "${SNOWFLAKE_ACCOUNT}" -u "${SNOWFLAKE_USER}" -d "${SNOWFLAKE_DATABASE}" -r "${SNOWFLAKE_ROLE}" -o exit_on_error=true -q "${QUERY}"
|
|
|
|
## SHOW THE VALUES
|
|
#SELECT_QUERY="SELECT DISTINCT client_id, client_name, bucket_name FROM STG.CLIENT_LOGS"
|
|
#echo "Client=${CLIENT_ID}: SELECT_QUERY=${SELECT_QUERY}"
|
|
#snowsql -a "${SNOWFLAKE_ACCOUNT}" -u "${SNOWFLAKE_USER}" -d "${SNOWFLAKE_DATABASE}" -r "${SNOWFLAKE_ROLE}" -o exit_on_error=true -q "${SELECT_QUERY}"
|
|
|
|
INSERT_QUERY=$(cat <<EOF
|
|
INSERT INTO STG.CLIENT_LOGS (CLIENT_ID, CLIENT_NAME, BUCKET_NAME)
|
|
SELECT '${CLIENT_ID}', '${FULL_NAME}', '${BUCKET_NAME}'
|
|
WHERE NOT EXISTS (
|
|
SELECT 1
|
|
FROM STG.CLIENT_LOGS
|
|
WHERE CLIENT_ID = '${CLIENT_ID}'
|
|
);
|
|
EOF
|
|
)
|
|
echo "Client=${CLIENT_ID}: INSERT_QUERY=${INSERT_QUERY}"
|
|
snowsql -a "${SNOWFLAKE_ACCOUNT}" -u "${SNOWFLAKE_USER}" -d "${SNOWFLAKE_DATABASE}" -r "${SNOWFLAKE_ROLE}" -o exit_on_error=true -q "${INSERT_QUERY}"
|
|
|
|
# SHOW THE VALUES
|
|
SELECT_QUERY="SELECT DISTINCT client_id, client_name, bucket_name FROM STG.CLIENT_LOGS"
|
|
echo "Client=${CLIENT_ID}: SELECT_QUERY=${SELECT_QUERY}"
|
|
snowsql -a "${SNOWFLAKE_ACCOUNT}" -u "${SNOWFLAKE_USER}" -d "${SNOWFLAKE_DATABASE}" -r "${SNOWFLAKE_ROLE}" -o exit_on_error=true -q "${SELECT_QUERY}"
|