- Wydrukować
Zapytania o informacje ze Snowflake do wykorzystania w aplikacjach Tulip
Odbiorcy
Należy pamiętać, że integracja Snowflake ma charakter techniczny i może wymagać wsparcia IT w celu utworzenia odpowiednich obiektów, ról i uprawnień.
Kontakt do pomocy technicznej
Ten łącznik został stworzony we współpracy ze Spaulding Ridge. Aby uzyskać więcej informacji lub zadać pytania, skontaktuj się ze Spaulding Ridge pod adresem info@spauldingridge.com.
Cel
Konektor Snowflake usprawnia sposób wyszukiwania informacji z chmury danych Snowflake. Dokumentację interfejsu API Snowflake SQL REST można znaleźć tutaj.
Uwagi dotyczące łącznika
Konektor Snowflake może stosunkowo łatwo manipulować pojedynczymi rekordami. Niestandardowe widżety mogą być konieczne do wysyłania zapytań do wielu wierszy danych lub manipulowania danymi wyjściowymi w Tulip (tabela interkatywna itp.).
Snowflake OAuth wykorzystuje wbudowaną usługę Snowflake OAuth i obsługuje Tulip jako klienta niestandardowego. Dokumentację Snowflake OAuth można znaleźć tutaj. Szczegóły konfiguracji klienta niestandardowego można znaleźć tutaj.
Konfiguracja
Ta sekcja zawiera procedurę konfigurowania tokena OAuth z serwera OAuth Snowflake w celu nawiązania łączności z Tulip jako klientem, a także kroki konfiguracji konektora Snowflake w Tulip.
Krok 1: Zarejestruj Tulip jako aplikację kliencką w Snowflake
Zaloguj się do instancji Snowflake z użytkownikiem, który ma rolę/uprawnienia do tworzenia i zarządzania Security Integrations (ACCOUNTADMIN).
Utwórz nowy arkusz SQL w magazynie COMPUTE_WH.
Uruchom poniższy skrypt, aby utworzyć Security Integration typu OAuth. Nie zapomnij zaktualizować wartości INTEGRATION_NAME, TULIP_INSTANCE_NAME i TIME_IN_SECONDS.
CREATE OR REPLACE SECURITY INTEGRATION <INTEGRATION_NAME> TYPE = OAUTH ENABLED = TRUE OAUTH_CLIENT = CUSTOM OAUTH_CLIENT_TYPE = 'CONFIDENTIAL' OAUTH_REDIRECT_URI = 'https://<TULIP_INSTANCE_NAME>.tulip.co/oauth-redirect-handler" OAUTH_ISSUE_REFRESH_TOKENS = TRUE OAUTH_ISSUE_REFRESH_TOKEN_VALIDITY = <TIME_IN_SECONDS>;
Uwaga: ważność tokenu odświeżania może wynosić nawet 90 dni (7776000 sekund).
Krok 2: Zbierz szczegóły konfiguracji OAuth w Tulip
Uruchom następujące polecenia, aby opisać właśnie utworzoną integrację zabezpieczeń i zanotuj poniższe szczegóły: OAUTH_CLIENT_ID OAUTH_REDIRECT_URI OAUTH_AUTHORIZATION_ENDPOINT OAUTH_TOKEN_ENDPOINT OAUTH_CLIENT_SECRET
DESCRIBE SECURITY INTEGRATION ; SELECT SYSTEM$SHOW_OAUTH_CLIENT_SECRETS('');
Krok 3: Konfiguracja konektora Snowflake
Zaloguj się do Tulip i dodaj Snowflake Connector z Tulip Library (Web lub Embedded).
Kliknij przycisk "Production & Testing & Development", aby edytować szczegóły połączenia, jak poniżej. Nazwę SNOWFLAKE_ACCOUNT_NAME można znaleźć w OAUTH_AUTHORIZATION_ENDPOINT lub OAUTH_TOKEN_ENDPOINT z kroku 2.
Kliknij "Test" i "Zapisz". Konektor przejdzie w tryb online.
Krok 4: Edytuj szczegóły uwierzytelniania konektora Snowflake
Kliknij przycisk "Production & Testing & Development" i przycisk "Edit Headers".
Wybierz typ uwierzytelniania jako "OAuth 2 (Admin)" lub "OAuth 2 (Operator)" w zależności od wymagań. Więcej informacji na ten temat można znaleźć w sekcji Uwierzytelnianie w artykule Jak skonfigurować konektor.
Edytuj pola uwierzytelniania, używając szczegółów z kroku 2: Authorization Code URL = OAUTH_AUTHORIZATION_ENDPOINT Access Token URL = OAUTH_TOKEN_ENDPOINT Client ID = OAUTH_CLIENT_ID Client Secret = OAUTH_CLIENT_SECRET
Kliknij "Test". Nastąpi przejście do okna logowania do konta Snowflake.
Użytkownik musi się zalogować. Należy pamiętać, że jego domyślną rolą nie może być ACCOUNTADMIN, SECURITYADMIN ani ORGADMIN. Możesz zmienić domyślną rolę użytkowników dla OAuth, jak opisano szczegółowo w tym zasobie Snowflake: Zarządzanie zgodą użytkownika dla OAuth.
Po pomyślnym uwierzytelnieniu pojawi się komunikat z prośbą o wyrażenie zgody. Przeczytaj go uważnie, aby zrozumieć wykonywaną operację i kliknij "Zezwól". Możesz teraz bezpiecznie łączyć się ze Snowflake z Tulip!
Użycie
Masz dwie możliwości rozpoczęcia korzystania z konektora:
Zacznij od dostosowania funkcji szablonu konektora do swoich specyficznych wymagań.
Postępuj zgodnie z instrukcjami testu jednostkowego Snowflake, aby uzyskać praktyczną demonstrację korzystania z konektora do zadań, w tym: pobierania wszystkich rekordów tabeli z tabeli Snowflake w Tulip, tworzenia nowego rekordu, aktualizowania istniejącego rekordu i usuwania rekordu.
Funkcje szablonów
Konektor Library zawiera następujące funkcje szablonów: Template: Query Database Opis: Umożliwia przesłanie jednej lub więcej instrukcji SQL do wykonania Metoda: POST Punkt końcowy: /api/v2/statements Odnośnik: https://docs.snowflake.com/en/developer-guide/sql-api/reference#post-api-v2-statements Template: Check Query Status Opis: Umożliwia sprawdzenie stanu wykonania instrukcji. Metoda: GET Endpoint: /api/v2/statements/{statementHandle} Odnośnik: https://docs.snowflake.com/en/developer-guide/sql-api/reference#get-api-v2-statements-statementhandle Szablon: Cancel Query Opis: Umożliwia anulowanie wykonania instrukcji. Metoda: POST Endpoint: /api/v2/statements/{statementHandle}/cancel Odnośnik: https://docs.snowflake.com/en/developer-guide/sql-api/reference#post-api-v2-statements-statementhandle-cancel
Dodatkowe odniesienia
Ten przewodnik społeczności Snowflake zapewnia również dodatkowy kontekst integracji Snowflake