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 |
| 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:
- W kroku 1. Skonfiguruj zasób OAuth w usłudze Microsoft Entra ID, wykonaj kroki 1–10 i zdefiniuj zakres zgodnie
SESSION:ROLE-ANYz tymi instrukcjami. - W kroku 2. Tworzenie klienta OAuth w usłudze Microsoft Entra ID, wykonaj kroki 1–13.
- 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.
- Przejdź do zasobu utworzonego w kroku 1 i przejdź do pozycji Uwidacznij interfejs API —>Dodaj aplikację kliencką —>Dodaj swoją
APPLICATION_CLIENT_IDaplikację z wcześniejszej sekcji w kroku 3 powyżej —> kliknij przycisk Zapisz - Wykonaj krok 3. Zbierz informacje o identyfikatorze entra firmy Microsoft dla rozwiązania Snowflake całkowicie.
- 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ągiemApplication ID URIz 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ąglogin_namew wierszu 9 ciągiememail_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ę jakoACCOUNTADMIN. 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
- Jeśli podczas tworzenia nowego połączenia otrzymasz odpowiedź 500, jest to błąd przejściowy. Zaczekaj kilka minut i spróbuj ponownie.
- 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".
- Łącznik może upłynął limit czasu z dużymi wynikami zapytania.
Często zadawane pytania
- 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. |