Snowflake (przestarzałe)

Rozwiązanie Snowflake umożliwia przechowywanie, przetwarzanie i rozwiązania analityczne, które są szybsze, łatwiejsze w użyciu i bardziej elastyczne niż tradycyjne oferty.

Ten łącznik jest dostępny w następujących produktach i regionach:

Usługa Class Regions
Logic Apps Standard Wszystkie regiony usługi Logic Apps z wyjątkiem następujących:
     — Regiony platformy Azure Government
     — Regiony platformy Azure (Chiny)
     - Departament Obrony USA (DoD)
Power Automate Premium Wszystkie regiony usługi Power Automate z wyjątkiem następujących:
     - Rząd USA (GCC)
     - Rząd USA (GCC High)
     - China Cloud obsługiwane przez firmę 21Vianet
     - Departament Obrony USA (DoD)
Power Apps Premium Wszystkie regiony usługi Power Apps z wyjątkiem następujących:
     - Rząd USA (GCC)
     - Rząd USA (GCC High)
     - China Cloud obsługiwane przez firmę 21Vianet
     - Departament Obrony USA (DoD)
Kontakt
Name Snowflake
adres URL https://www.snowflake.com/support
Email support@snowflake.com
Metadane łącznika
Publisher Snowflake Inc.
Witryna internetowa https://www.snowflake.com
Zasady ochrony prywatności https://www.snowflake.com/privacy-policy
Kategorie Dane

Uwaga / Notatka

Ten łącznik jest przestarzały. Użyj rozszerzonej alternatywy dla tego łącznika: Snowflake (wersja zapoznawcza) łącznika

Ten łącznik jest oparty na interfejsie API REST usługi Snowflake SQL. Chmura danych snowflake jest obsługiwana przez zaawansowaną platformę danych udostępnioną jako samoobsługę. Rozwiązanie Snowflake umożliwia przechowywanie, przetwarzanie i rozwiązania analityczne, które są szybsze, łatwiejsze w użyciu i znacznie bardziej elastyczne niż tradycyjne oferty. Łącznik używa interfejsu API REST snowflake w wersji 2 do przesyłania synchronicznych i asynchronicznych zapytań i pobierania odpowiednich wyników.

Wymagania wstępne

Podaj informacje o wszelkich wymaganiach wstępnych wymaganych do korzystania z tego łącznika. Na przykład konto w witrynie internetowej lub płatny plan usługi.

Jak uzyskać poświadczenia

Skonfiguruj uwierzytelnianie identyfikatora Entra firmy Microsoft dla usługi Snowflake, wykonując następujące kroki:

  1. W kroku 1. Skonfiguruj zasób OAuth w usłudze Microsoft Entra ID, wykonaj kroki 1–10 i zdefiniuj zakres zgodnie SESSION:ROLE-ANY z tymi instrukcjami.
  2. W kroku 2. Tworzenie klienta OAuth w usłudze Microsoft Entra ID, wykonaj kroki 1–13.
  3. Przejdź do pozycji Authentication ->Platform configurations ->Add a platform ->Add "https://global.consent.azure-apim.net/redirect" -> Kliknij przycisk Zapisz. Upewnij się, że adres URL przekierowania został ustawiony w kliencie OAuth snowflake, a nie w zasobie OAuth snowflake.
  4. Przejdź do zasobu utworzonego w kroku 1 i przejdź do pozycji Uwidacznij interfejs API —>Dodaj aplikację kliencką —>Dodaj swoją APPLICATION_CLIENT_ID aplikację z wcześniejszej sekcji w kroku 3 powyżej —> kliknij przycisk Zapisz
  5. Wykonaj krok 3. Zbierz informacje o identyfikatorze entra firmy Microsoft dla rozwiązania Snowflake całkowicie.
  6. Skopiuj poniższy tekst i wklej go do arkusza snowflake, w którym są wykonywane zapytania w usłudze Snowflake. Przed wykonaniem zapytania upewnij się, że wykonasz następujące zamiany, aby zapytanie powiodło się. A. Na platformie Microsoft Azure przejdź do aplikacji Zasobów usługi Snowflake OAuth i kliknij pozycję Punkty końcowe. B. Aby uzyskać AZURE_AD_ISSUER w wierszu 5, skopiuj link w polu Dokument metadanych federacji i otwórz link na nowej karcie. Skopiuj link entityID, który powinien wyglądać następująco: https://sts.windows.net/90288a9b-97df-4c6d-b025-95713f21cef9/. Wklej go do zapytania i upewnij się, że / masz znak sprzed ostatniego cudzysłowu i zachowasz znaki cudzysłowu. C. Aby uzyskać adres URL kluczy w wierszu 6, skopiuj link w polu dokumentu metadanych OpenID Connect i otwórz link na nowej karcie. Skopiuj jwks_uri, które powinny wyglądać mniej więcej tak: https://login.microsoftonline.com/90288a9b-97df-4c6d-b025-95713f21cef9/discovery/v2.0/keys. Wklej go do zapytania i upewnij się, że zachowasz znaki cudzysłowu.
    D. Zastąp adres URL listy odbiorców w wierszu 7 ciągiem Application ID URI z kroku 1. Zachowaj znaki cudzysłowu.
    E. Jeśli konto usługi Snowflake używa tego samego adresu e-mail co konto platformy Microsoft Azure, zastąp ciąg login_name w wierszu 9 ciągiem email_address. Jeśli tak nie jest, zachowaj je tak, jak i nie wpisz nazwy logowania. Zachowaj znaki cudzysłowu.
    F. Upewnij się, że masz ustawioną rolę jako ACCOUNTADMIN. Teraz możesz wykonać zapytanie.
create security integration connector
       type = external_oauth
       enabled = true
       external_oauth_type = azure
       external_oauth_issuer = '<AZURE_AD_ISSUER>'     
       external_oauth_jws_keys_url = 'https://login.windows.net/common/discovery/keys'
       external_oauth_audience_list = ('https://analysis.usgovcloudapi.net/powerbi/connector/snowflake')
       external_oauth_token_user_mapping_claim = 'upn'
       external_oauth_snowflake_user_mapping_attribute = 'login_name'
       external_oauth_any_role_mode = 'ENABLE';

Wprowadzenie do łącznika

Przesyłanie instrukcji SQL na potrzeby wykonywania

Sprawdzanie stanu i uzyskiwanie wyników

Anulowanie wykonywania instrukcji

Znane problemy i ograniczenia

  1. Jeśli podczas tworzenia nowego połączenia otrzymasz odpowiedź 500, jest to błąd przejściowy. Zaczekaj kilka minut i spróbuj ponownie.
  2. Jeśli otrzymasz odpowiedź 401, a pole Host w kroku 1 będzie zgodne z tym formatem "orgname-accountname", zastąp pole Host adresem URL "lokalizatora".
  3. Łącznik może upłynął limit czasu z dużymi wynikami zapytania.

Często zadawane pytania

  1. Jak można używać łącznika w usłudze Power Apps? Obecnie usługa Power Apps nie obsługuje schematu dynamicznego. Łącznik można nadal używać z poziomu usługi Power Apps, wywołując przepływ z aplikacji zamiast bezpośrednio z aplikacji.

Limity ograniczania

Nazwa Wywołania Okres odnowienia
Wywołania interfejsu API na połączenie 100 60 sekund

Akcje

Anulowanie wykonywania instrukcji

Anulowanie wykonywania instrukcji

Konwertowanie wierszy zestawu wyników z tablicy na obiekty

Konwertowanie wierszy zestawu wyników z tablicy na obiekty

Przesyłanie instrukcji SQL na potrzeby wykonywania

Przesyłanie instrukcji SQL na potrzeby wykonywania

Sprawdzanie stanu i uzyskiwanie wyników

Sprawdź stan wykonania instrukcji i pobierz wyniki

Anulowanie wykonywania instrukcji

Anulowanie wykonywania instrukcji

Parametry

Nazwa Klucz Wymagane Typ Opis
Instance
Instance True string

Identyfikator URI wystąpienia snowflake (bez https://)

dojście instrukcji
statementHandle True string

dojście instrukcji

Identyfikator żądania
requestId string

Identyfikator żądania

Zwraca

Nazwa Ścieżka Typ Opis
kod
code string

kod

sqlState
sqlState string

sqlState

komunikat
message string

komunikat

statementHandle
statementHandle string

statementHandle

statementStatusUrl
statementStatusUrl string

statementStatusUrl

Konwertowanie wierszy zestawu wyników z tablicy na obiekty

Konwertowanie wierszy zestawu wyników z tablicy na obiekty

Parametry

Nazwa Klucz Wymagane Typ Opis
rowType
resultSetMetaData string
dane
data string

Zwraca

Nazwa Ścieżka Typ Opis
dane
data array of object

Dane zestawu wyników.

items
data object

Przesyłanie instrukcji SQL na potrzeby wykonywania

Przesyłanie instrukcji SQL na potrzeby wykonywania

Parametry

Nazwa Klucz Wymagane Typ Opis
Instance
Instance True string

Identyfikator URI wystąpienia snowflake (bez https://)

Identyfikator żądania
requestId string

Identyfikator żądania

Asynchronous
async boolean

Wskazuje, czy zapytanie powinno być wykonywane asynchronicznie

dopuszczający wartość null
nullable boolean

Jeśli wartość null ma wartość false, wartości null zostaną zastąpione ciągiem

instrukcja
statement string

Instrukcja SQL do wykonania — partie instrukcji nie są jeszcze obsługiwane

przerwa czasowa
timeout integer

Liczba sekund przed przekroczeniem limitu czasu

baza danych
database string

baza danych

schemat
schema string

schemat

warehouse
warehouse string

warehouse

rola
role string

rola

timezone
timezone string

Strefa czasowa do użycia podczas wykonywania instrukcji .

tag zapytania
query_tag string

Tag zapytania, który chcesz skojarzyć z instrukcją SQL.

format danych wyjściowych binarnych
binary_output_format string

Format danych wyjściowych dla wartości binarnych.

format danych wyjściowych daty
date_output_format string

Format danych wyjściowych dla wartości DATE.

format danych wyjściowych czasu
time_output_format string

Format danych wyjściowych dla wartości TIME.

format danych wyjściowych znacznika czasu
timestamp_output_format string

Format danych wyjściowych dla wartości TIMESTAMP.

format wyjściowy znacznika czasu ltz
timestamp_ltz_output_format string

Format danych wyjściowych dla wartości TIMESTAMP_LTZ.

timestamp_ntz_output_format
timestamp_ntz_output_format string

Format danych wyjściowych dla wartości TIMESTAMP_NTZ.

format danych wyjściowych znacznika czasu
timestamp_tz_output_format string

Format danych wyjściowych dla wartości TIMESTAMP_TZ.

liczba instrukcji z wieloma instrukcjami
multi_statement_count integer

Liczba instrukcji do wykonania podczas korzystania z funkcji wielu instrukcji. Wartość 0 oznacza zmienną liczbę instrukcji. Liczby ujemne są niedozwolone.

Zwraca

Nazwa Ścieżka Typ Opis
kod
code string
sqlState
sqlState string
komunikat
message string
statementHandle
statementHandle string
createdOn
createdOn integer

Sygnatura czasowa określająca, kiedy rozpoczęto wykonywanie instrukcji. Znacznik czasu jest wyrażony w milisekundach od epoki

statementStatusUrl
statementStatusUrl string
format
resultSetMetaData.format string

W przypadku punktów końcowych w wersji 2 jedyną możliwą wartością dla tego pola jest jsonv2.

rowType
resultSetMetaData.rowType array of object
nazwa
resultSetMetaData.rowType.name string
typ
resultSetMetaData.rowType.type string
dopuszczający wartość null
resultSetMetaData.rowType.nullable boolean
partitionInfo
partitionInfo array of object

Informacje o partycji

rowCount
partitionInfo.rowCount integer

Liczba wierszy w partycji.

compressedSize
partitionInfo.compressedSize integer

rozmiar partycji przed dekompresją. Może to być lub nie może być obecne w partycjiInfo. Nieskompresowany rozmiar zawsze tam będzie.

uncompressedSize
partitionInfo.uncompressedSize integer

rozmiar partycji po dekompresji

dopuszczający wartość null
nullable boolean

false, jeśli wartość null jest zastępowana ciągiem "null", w przeciwnym razie wartość false

dane
data array of array

Dane zestawu wyników.

items
data array of string
numRowsInserted
stats.numRowsInserted integer

Liczba wstawionych wierszy.

numRowsUpdated
stats.numRowsUpdated integer

Liczba zaktualizowanych wierszy.

numRowsDeleted
stats.numRowsDeleted integer

Liczba usuniętych wierszy.

numDuplicateRowsUpdated
stats.numDuplicateRowsUpdated integer

Liczba zduplikowanych wierszy, które zostały zaktualizowane.

Sprawdzanie stanu i uzyskiwanie wyników

Sprawdź stan wykonania instrukcji i pobierz wyniki

Parametry

Nazwa Klucz Wymagane Typ Opis
Instance
Instance True string

Identyfikator URI wystąpienia snowflake (bez https://)

dojście instrukcji
statementHandle True string

dojście instrukcji

Identyfikator żądania
requestId string

Identyfikator żądania

partycja
partition integer

partycja

Zwraca

Nazwa Ścieżka Typ Opis
kod
code string
sqlState
sqlState string
komunikat
message string
statementHandle
statementHandle string
createdOn
createdOn integer

Sygnatura czasowa określająca, kiedy rozpoczęto wykonywanie instrukcji. Znacznik czasu jest wyrażony w milisekundach od epoki

statementStatusUrl
statementStatusUrl string
format
resultSetMetaData.format string

W przypadku punktów końcowych w wersji 2 jedyną możliwą wartością dla tego pola jest jsonv2.

rowType
resultSetMetaData.rowType array of object
nazwa
resultSetMetaData.rowType.name string
typ
resultSetMetaData.rowType.type string
dopuszczający wartość null
resultSetMetaData.rowType.nullable boolean
partitionInfo
partitionInfo array of object

Informacje o partycji

rowCount
partitionInfo.rowCount integer

Liczba wierszy w partycji.

compressedSize
partitionInfo.compressedSize integer

rozmiar partycji przed dekompresją. Może to być lub nie może być obecne w partycjiInfo. Nieskompresowany rozmiar zawsze tam będzie.

uncompressedSize
partitionInfo.uncompressedSize integer

rozmiar partycji po dekompresji

dopuszczający wartość null
nullable boolean

false, jeśli wartość null jest zastępowana ciągiem "null", w przeciwnym razie wartość false

dane
data array of array

Dane zestawu wyników.

items
data array of string
numRowsInserted
stats.numRowsInserted integer

Liczba wstawionych wierszy.

numRowsUpdated
stats.numRowsUpdated integer

Liczba zaktualizowanych wierszy.

numRowsDeleted
stats.numRowsDeleted integer

Liczba usuniętych wierszy.

numDuplicateRowsUpdated
stats.numDuplicateRowsUpdated integer

Liczba zduplikowanych wierszy, które zostały zaktualizowane.