Snowflake (inaktuell)
Snowflake möjliggör datalagring, bearbetning och analyslösningar som är snabbare, enklare att använda och mer flexibla än traditionella erbjudanden.
Den här anslutningsappen är tillgänglig i följande produkter och regioner:
| Tjänster | Class | Regioner |
|---|---|---|
| Logiska appar | Norm | Alla Logic Apps-regioner utom följande: – Azure Government-regioner – Regioner i Azure Kina - US Department of Defense (DoD) |
| Power Automate | Premie | Alla Power Automate-regioner utom följande: - Amerikanska myndigheter (GCC) - Amerikanska myndigheter (GCC High) – China Cloud drivs av 21Vianet - US Department of Defense (DoD) |
| Power Apps | Premie | Alla Power Apps-regioner utom följande: - Amerikanska myndigheter (GCC) - Amerikanska myndigheter (GCC High) – China Cloud drivs av 21Vianet - US Department of Defense (DoD) |
| Kontakt | |
|---|---|
| Namn | Snowflake |
| URL | https://www.snowflake.com/support |
| E-postmeddelande | support@snowflake.com |
| Metadata för anslutningsprogram | |
|---|---|
| Utgivare | Snowflake Inc. |
| Webbplats | https://www.snowflake.com |
| Sekretesspolicy | https://www.snowflake.com/privacy-policy |
| Kategorier | Uppgifter |
Anmärkning
Den här anslutningsappen är inaktuell. Använd ett förbättrat alternativ till den här anslutningsappen: Snowflake-anslutningsprogram (förhandsversion)
Den här anslutningsappen baseras på Snowflake SQL REST API. Snowflakes datamoln drivs av en avancerad dataplattform som tillhandahålls som en självhanterad tjänst. Snowflake möjliggör datalagring, bearbetning och analyslösningar som är snabbare, enklare att använda och mycket mer flexibla än traditionella erbjudanden. Anslutningsappen använder Snowflake REST API V2 för att skicka synkrona och asynkrona frågor och hämta motsvarande resultat.
Förutsättningar
Ange information om eventuella krav som krävs för att använda den här anslutningsappen. Till exempel ett konto på din webbplats eller en betald tjänstplan.
Hämta autentiseringsuppgifter
Konfigurera Microsoft Entra ID-autentisering för Snowflake genom att följa dessa steg:
- I Steg 1: Konfigurera OAuth-resursen i Microsoft Entra-ID följer du steg 1–10 och definierar omfånget enligt
SESSION:ROLE-ANYdessa instruktioner. - I Steg 2: Skapa en OAuth-klient i Microsoft Entra-ID följer du steg 1–13.
- Gå till Autentisering –>Plattformskonfigurationer –>Lägg till en plattform –>Lägg till "https://global.consent.azure-apim.net/redirect" –> Klicka på Spara. Kontrollera att omdirigerings-URL:en har angetts i Snowflake OAuth-klienten och inte i Snowflake OAuth-resursen.
- Gå till resursen som skapades i steg 1 och gå till Exponera ett API –>Lägg till ett klientprogram –>Lägg till ditt
APPLICATION_CLIENT_IDfrån tidigare i steg 3 ovan –> Klicka på Spara - Följ steg 3: Samla in Microsoft Entra-ID-information för Snowflake helt och hållet.
- Kopiera och klistra in texten nedan i ditt Snowflake-kalkylblad, där du kör dina frågor i Snowflake. Innan du kör frågan kontrollerar du att du gör följande ersättningar så att frågan lyckas.
A. I Microsoft Azure går du till din Snowflake OAuth-resursapp och klickar på Slutpunkter.
B. Om du vill hämta AZURE_AD_ISSUER på rad 5 kopierar du länken i dokumentet federationsmetadata och öppnar länken på en ny flik. Kopiera entityID-länken som bör se ut så här:
https://sts.windows.net/90288a9b-97df-4c6d-b025-95713f21cef9/. Klistra in den i frågan och se till att du har ett/före det sista citattecknet och att du behåller citattecknen. C. Om du vill hämta url:en nycklar på rad 6 kopierar du länken i dokumentet OpenID Connect-metadata och öppnar länken på en ny flik. Kopiera jwks_uri som bör se ut ungefär så här:https://login.microsoftonline.com/90288a9b-97df-4c6d-b025-95713f21cef9/discovery/v2.0/keys. Klistra in den i frågan och se till att du behåller citattecknen.
D. Ersätt URL:en för målgruppslistan på rad 7 medApplication ID URIfrån steg 1. Behåll citattecknen.
E. Om ditt Snowflake-konto använder samma e-postadress som ditt Microsoft Azure-konto ersätterlogin_namedu i rad 9 medemail_address. Om inte, behåll det som det är och skriv inte in ditt inloggningsnamn. Behåll citattecknen.
F. Kontrollera att du har angett din roll somACCOUNTADMIN. Nu kan du köra frågan.
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';
Kom igång med anslutningsappen
Skicka SQL-instruktion för körning
Kontrollera status och hämta resultat
Avbryt körningen av en instruktion
Kända problem och begränsningar
- Om du får ett 500-svar när du skapar en ny anslutning är det ett tillfälligt fel. Vänta några minuter och försök igen.
- Om du får ett 401-svar och fältet Värd i steg 1 följer formatet "orgname-accountname" ersätter du fältet Värd med url:en "positionerare".
- Anslutningsappen kan överskrida tidsgränsen med stora frågeresultat.
Vanliga frågor
- Hur kan anslutningsappen användas i Power Apps? Power Apps stöder för närvarande inte dynamiskt schema. Du kan fortfarande använda anslutningsappen från Power Apps genom att anropa ett flöde från appen i stället för direkt från en app.
Begränsningsgränser
| Name | Anrop | Förnyelseperiod |
|---|---|---|
| API-anrop per anslutning | 100 | 60 sekunder |
Åtgärder
| Avbryt körningen av en instruktion |
Avbryt körningen av en instruktion |
| Kontrollera status och hämta resultat |
Kontrollera statusen för körningen av en -instruktion och Hämta resultatet |
| Konvertera resultatuppsättningsrader från matris till objekt |
Konvertera resultatuppsättningsrader från matris till objekt |
| Skicka SQL-instruktion för körning |
Skicka en SQL-instruktion för körning |
Avbryt körningen av en instruktion
Avbryt körningen av en instruktion
Parametrar
| Name | Nyckel | Obligatorisk | Typ | Description |
|---|---|---|---|---|
|
Exempel
|
Instance | True | string |
URI:n för din Snowflake-instans (utan https://) |
|
instruktionshandtag
|
statementHandle | True | string |
instruktionshandtag |
|
Begärande-ID
|
requestId | string |
Begärande-ID |
Returer
| Name | Sökväg | Typ | Description |
|---|---|---|---|
|
kod
|
code | string |
kod |
|
sqlState
|
sqlState | string |
sqlState |
|
meddelande
|
message | string |
meddelande |
|
statementHandle
|
statementHandle | string |
statementHandle |
|
statementStatusUrl
|
statementStatusUrl | string |
statementStatusUrl |
Kontrollera status och hämta resultat
Kontrollera statusen för körningen av en -instruktion och Hämta resultatet
Parametrar
| Name | Nyckel | Obligatorisk | Typ | Description |
|---|---|---|---|---|
|
Exempel
|
Instance | True | string |
URI:n för din Snowflake-instans (utan https://) |
|
instruktionshandtag
|
statementHandle | True | string |
instruktionshandtag |
|
Begärande-ID
|
requestId | string |
Begärande-ID |
|
|
partition
|
partition | integer |
partition |
Returer
| Name | Sökväg | Typ | Description |
|---|---|---|---|
|
kod
|
code | string | |
|
sqlState
|
sqlState | string | |
|
meddelande
|
message | string | |
|
statementHandle
|
statementHandle | string | |
|
createdOn
|
createdOn | integer |
Tidsstämpel som anger när instruktionskörningen startade. Tidsstämpeln uttrycks i millisekunder sedan epoken |
|
statementStatusUrl
|
statementStatusUrl | string | |
|
format
|
resultSetMetaData.format | string |
För v2-slutpunkter är det enda möjliga värdet för det här fältet jsonv2. |
|
rowType
|
resultSetMetaData.rowType | array of object | |
|
name
|
resultSetMetaData.rowType.name | string | |
|
type
|
resultSetMetaData.rowType.type | string | |
|
nullable
|
resultSetMetaData.rowType.nullable | boolean | |
|
partitionInfo
|
partitionInfo | array of object |
Partitionsinformation |
|
rowCount
|
partitionInfo.rowCount | integer |
Antal rader i partitionen. |
|
compressedSize
|
partitionInfo.compressedSize | integer |
partitionsstorleken före dekomprimering. Detta kanske inte finns i partitionInfo. Okomprimerad storlek skulle alltid finnas där. |
|
uncompressedSize
|
partitionInfo.uncompressedSize | integer |
partitionsstorleken efter dekomprimering |
|
nullable
|
nullable | boolean |
false om null ersätts med en sträng "null" annars falskt |
|
data
|
data | array of array |
Resultatuppsättningsdata. |
|
items
|
data | array of string | |
|
numRowsInserted
|
stats.numRowsInserted | integer |
Antal rader som infogades. |
|
numRowsUpdated
|
stats.numRowsUpdated | integer |
Antal rader som har uppdaterats. |
|
numRowsDeleted
|
stats.numRowsDeleted | integer |
Antal rader som har tagits bort. |
|
numDuplicateRowsUpdated
|
stats.numDuplicateRowsUpdated | integer |
Antal duplicerade rader som har uppdaterats. |
Konvertera resultatuppsättningsrader från matris till objekt
Konvertera resultatuppsättningsrader från matris till objekt
Parametrar
| Name | Nyckel | Obligatorisk | Typ | Description |
|---|---|---|---|---|
|
rowType
|
resultSetMetaData | string | ||
|
data
|
data | string |
Returer
| Name | Sökväg | Typ | Description |
|---|---|---|---|
|
data
|
data | array of object |
Resultatuppsättningsdata. |
|
items
|
data | object |
Skicka SQL-instruktion för körning
Skicka en SQL-instruktion för körning
Parametrar
| Name | Nyckel | Obligatorisk | Typ | Description |
|---|---|---|---|---|
|
Exempel
|
Instance | True | string |
URI:n för din Snowflake-instans (utan https://) |
|
Begärande-ID
|
requestId | string |
ID för begäran |
|
|
Asynchronous
|
async | boolean |
Anger om frågan ska köras asynkront |
|
|
nullable
|
nullable | boolean |
Om null-värdet är falskt ersätts null-värden med sträng |
|
|
uttalande
|
statement | string |
SQL-instruktionen som ska köras – batchar med instruktioner som ännu inte stöds |
|
|
timeout
|
timeout | integer |
Antal sekunder innan tidsgränsen uppnås |
|
|
database
|
database | string |
database |
|
|
schema
|
schema | string |
schema |
|
|
warehouse
|
warehouse | string |
warehouse |
|
|
None needed, as the translation is already accurate and fluent.
|
role | string |
None needed, as the translation is already accurate and fluent. |
|
|
timezone
|
timezone | string |
Tidszon som ska användas när instruktionen körs. |
|
|
frågetagg
|
query_tag | string |
Frågetagg som du vill associera med SQL-instruktionen. |
|
|
binärt utdataformat
|
binary_output_format | string |
Utdataformat för binära värden. |
|
|
datumutdataformat
|
date_output_format | string |
Utdataformat för DATE-värden. |
|
|
tidsutdataformat
|
time_output_format | string |
Utdataformat för TIME-värden. |
|
|
tidsstämpelutdataformat
|
timestamp_output_format | string |
Utdataformat för TIMESTAMP-värden. |
|
|
timestamp ltz-utdataformat
|
timestamp_ltz_output_format | string |
Utdataformat för TIMESTAMP_LTZ värden. |
|
|
timestamp_ntz_output_format
|
timestamp_ntz_output_format | string |
Utdataformat för TIMESTAMP_NTZ värden. |
|
|
timestamp tz-utdataformat
|
timestamp_tz_output_format | string |
Utdataformat för TIMESTAMP_TZ värden. |
|
|
antal multi-instruktioner
|
multi_statement_count | integer |
Antal instruktioner som ska köras när du använder funktioner för flera instruktioner. 0 innebär variabelt antal instruktioner. Negativa tal tillåts inte. |
Returer
| Name | Sökväg | Typ | Description |
|---|---|---|---|
|
kod
|
code | string | |
|
sqlState
|
sqlState | string | |
|
meddelande
|
message | string | |
|
statementHandle
|
statementHandle | string | |
|
createdOn
|
createdOn | integer |
Tidsstämpel som anger när instruktionskörningen startade. Tidsstämpeln uttrycks i millisekunder sedan epoken |
|
statementStatusUrl
|
statementStatusUrl | string | |
|
format
|
resultSetMetaData.format | string |
För v2-slutpunkter är det enda möjliga värdet för det här fältet jsonv2. |
|
rowType
|
resultSetMetaData.rowType | array of object | |
|
name
|
resultSetMetaData.rowType.name | string | |
|
type
|
resultSetMetaData.rowType.type | string | |
|
nullable
|
resultSetMetaData.rowType.nullable | boolean | |
|
partitionInfo
|
partitionInfo | array of object |
Partitionsinformation |
|
rowCount
|
partitionInfo.rowCount | integer |
Antal rader i partitionen. |
|
compressedSize
|
partitionInfo.compressedSize | integer |
partitionsstorleken före dekomprimering. Detta kanske inte finns i partitionInfo. Okomprimerad storlek skulle alltid finnas där. |
|
uncompressedSize
|
partitionInfo.uncompressedSize | integer |
partitionsstorleken efter dekomprimering |
|
nullable
|
nullable | boolean |
false om null ersätts med en sträng "null" annars falskt |
|
data
|
data | array of array |
Resultatuppsättningsdata. |
|
items
|
data | array of string | |
|
numRowsInserted
|
stats.numRowsInserted | integer |
Antal rader som infogades. |
|
numRowsUpdated
|
stats.numRowsUpdated | integer |
Antal rader som har uppdaterats. |
|
numRowsDeleted
|
stats.numRowsDeleted | integer |
Antal rader som har tagits bort. |
|
numDuplicateRowsUpdated
|
stats.numDuplicateRowsUpdated | integer |
Antal duplicerade rader som har uppdaterats. |