Skip to content

Instantly share code, notes, and snippets.

View vvgsrk's full-sized avatar

Venkata Gowri Sai Rakesh Kumar Varanasi vvgsrk

View GitHub Profile
@vvgsrk
vvgsrk / task_error_notifications.sql
Created February 10, 2024 09:51
Snowflake task error notifications
CREATE OR REPLACE NOTIFICATION INTEGRATION TASK_ERROR_NOTIFICATIONS
ENABLED = true
TYPE = QUEUE
NOTIFICATION_PROVIDER = AWS_SNS
DIRECTION = OUTBOUND
AWS_SNS_TOPIC_ARN = 'arn:aws:sns:eu-central-1:123456789012345:dp-tools-slack-notifier-alarm'
AWS_SNS_ROLE_ARN = 'arn:aws:iam::123456789012345:role/dp-tools-snowflake-tasks-error-notifications';
@vvgsrk
vvgsrk / serverless_task_batch_load.sql
Last active February 10, 2024 09:48
Snowflake serverless task batch load using schema detection and evolution
USE ROLE data_engineer;
-- Create external stage
CREATE OR REPLACE STAGE DP_DEV.STAGE.DP_DEV_DATA_INBOUND_TEST
STORAGE_INTEGRATION = DP_INGESTION_DEV
URL = 's3://dp-dev-data-inbound-test/'
;
-- List files in external stage
LIST @DP_DEV.STAGE.DP_DEV_DATA_INBOUND_TEST;
@vvgsrk
vvgsrk / Grant_OWNERSHIP_To_Rrole_AAD_PROVISIONER.sql
Last active August 29, 2022 18:32
grant OWNERSHIP on that user to the role AAD_PROVISIONER
USE ROLE USERADMIN;
GRANT OWNERSHIP ON USER USER_ID TO ROLE AAD_PROVISIONER;
@vvgsrk
vvgsrk / find_forbidden_ips.sql
Created August 10, 2022 19:31
Find forbidden IP's on Snowflake
SELECT *
FROM TABLE(rest_event_history(
'scim',
DATEADD('minutes',-3600,CURRENT_TIMESTAMP()),
CURRENT_TIMESTAMP(),
200))
WHERE details like '%FORBIDDEN%'
AND DATE_TRUNC('DAY', event_timestamp) = '2022-08-10'
ORDER BY event_timestamp DESC;
Testing connection to Data Platform - Snowflake
You appear to have entered invalid credentials. Please confirm you are using the correct information for an administrative account.
Error code: SystemForCrossDomainIdentityManagementCredentialValidationUnavailable
Details: We received this unexpected response from your application:
Received response from Web resource.
Resource: https://XXXXXXXXX.eu-central-1.snowflakecomputing.com/scim/v2/Groups?excludedAttributes=members&filter=displayName+eq+"AzureAD_Test-7bfddc58-2c65-44a8-b556-3fd6bf9d7763"
Operation: GET
Response Status Code: Forbidden
@vvgsrk
vvgsrk / System_Function_To_Generate_Token.sql
Created August 10, 2022 18:55
System Function To Generate Token
SELECT SYSTEM$GENERATE_SCIM_ACCESS_TOKEN('AAD_PROVISIONING');
@vvgsrk
vvgsrk / Setup_Azure_SCIM_Integration_with_Snowflake.sql
Created August 10, 2022 18:50
Setup Azure SCIM Integration with Snowflake
USE ROLE accountadmin;
CREATE ROLE IF NOT EXISTS aad_provisioner;
GRANT CREATE USER ON ACCOUNT TO ROLE aad_provisioner;
GRANT CREATE ROLE ON ACCOUNT TO ROLE aad_provisioner;
GRANT ROLE aad_provisioner TO ROLE accountadmin;
CREATE OR REPLACE SECURITY INTEGRATION aad_provisioning
@vvgsrk
vvgsrk / check_list_of_valid_distributions.ps1
Created July 5, 2022 07:15
Check list of valid distributions that can be installed
wsl --list --online
@vvgsrk
vvgsrk / montior_replication_and_related_objects.sql
Last active September 15, 2022 06:27
SQL statements to monitor or troubleshoot replication and related objects
@vvgsrk
vvgsrk / refresh_secondary_database.sql
Created June 30, 2022 18:57
Create a separate secondary database for refresh
-- A separate new database
CREATE DATABASE refresh_secondary_database;
-- Create a new schema
CREATE SCHEMA refresh_secondary_database.amadeus_dynamic_pricing;
-- Task that refreshes the secondary database on a schedule
CREATE OR REPLACE TASK refresh_secondary_database.amadeus_dynamic_pricing.dynamic_pricing_data_refresh_task
WAREHOUSE = WH01_XS
SCHEDULE = 'USING CRON 0 3 * * * UTC'