Copo de nieve (en desuso)
Snowflake permite el almacenamiento, el procesamiento y las soluciones analíticas de datos que son más rápidas, fáciles de usar y más flexibles que las ofertas tradicionales.
Este conector está disponible en los siguientes productos y regiones:
| Service | Class | Regions |
|---|---|---|
| Aplicaciones lógicas | Estándar | Todas las regiones de Logic Apps excepto las siguientes: - Regiones de Azure Government - Regiones de Azure China - Departamento de Defensa de EE. UU. (DoD) |
| Power Automate | Premium | Todas las regiones de Power Automate excepto las siguientes: - Gobierno de EE. UU. (GCC) - Gobierno de EE. UU. (GCC High) - China Cloud operado por 21Vianet - Departamento de Defensa de EE. UU. (DoD) |
| Power Apps | Premium | Todas las regiones de Power Apps excepto las siguientes: - Gobierno de EE. UU. (GCC) - Gobierno de EE. UU. (GCC High) - China Cloud operado por 21Vianet - Departamento de Defensa de EE. UU. (DoD) |
| Contacto | |
|---|---|
| Nombre | Snowflake |
| URL | https://www.snowflake.com/support |
| Correo Electrónico | support@snowflake.com |
| Metadatos del conector | |
|---|---|
| Publicador | Snowflake Inc. |
| Sitio web | https://www.snowflake.com |
| Directiva de privacidad | https://www.snowflake.com/privacy-policy |
| Categorías | Data |
Nota:
Este conector está en desuso, use una alternativa mejorada a este conector: Snowflake (versión preliminar)
Este conector se basa en la API REST de Snowflake SQL. La nube de datos de Snowflake se basa en una plataforma de datos avanzada que se proporciona como un servicio autoadministrado. Snowflake permite el almacenamiento de datos, el procesamiento y las soluciones analíticas que son más rápidas, fáciles de usar y mucho más flexibles que las ofertas tradicionales. El conector usa la API REST de Snowflake V2 para enviar consultas sincrónicas y asincrónicas y recuperar los resultados correspondientes.
Prerrequisitos
Proporcione información sobre los requisitos previos necesarios para usar este conector. Por ejemplo, una cuenta en su sitio web o un plan de servicio de pago.
Obtención de credenciales
Configure la autenticación de Id. de Microsoft Entra para Snowflake siguiendo estos pasos:
- En el paso 1: Configurar el recurso de OAuth en el identificador de Entra de Microsoft, siga los pasos 1-10 y defina el ámbito como
SESSION:ROLE-ANYsiguiendo estas instrucciones. - En el paso 2: Crear un cliente de OAuth en microsoft Entra ID, siga los pasos 1-13.
- Vaya a Authentication -Platform configurations ->>Add a platform ->Add "https://global.consent.azure-apim.net/redirect" -> Haga clic en Guardar. Asegúrese de que la dirección URL de redireccionamiento esté establecida en el cliente OAuth de Snowflake y no en el recurso de OAuth de Snowflake.
- Vaya al recurso creado en el paso 1 y vaya a Exponer una API ->Agregar una aplicación cliente ->Agregar el
APPLICATION_CLIENT_IDelemento desde el paso 3 anterior:> haga clic en Guardar. - Siga el paso 3: Recopilar información de id. de Entra de Microsoft para Snowflake por completo.
- Copie y pegue el texto siguiente en la hoja de cálculo de Snowflake, que es donde se ejecutan las consultas en Snowflake. Antes de ejecutar la consulta, asegúrese de que realiza los siguientes reemplazos para que la consulta se realice correctamente.
A. En Microsoft Azure, vaya a la aplicación de recursos de OAuth de Snowflake y haga clic en Puntos de conexión.
B. Para obtener el AZURE_AD_ISSUER en la línea 5, copie el vínculo en el campo documento de metadatos de federación y abra el vínculo en una nueva pestaña. Copie el vínculo entityID que debería tener un aspecto similar al siguiente:
https://sts.windows.net/90288a9b-97df-4c6d-b025-95713f21cef9/. Péguelo en la consulta y asegúrese de que tiene una/antes de la última comilla y de que mantiene las comillas. C. Para obtener la dirección URL de claves en la línea 6, copie el vínculo en el campo del documento de metadatos de OpenID Connect y abra el vínculo en una nueva pestaña. Copie el jwks_uri que debería tener un aspecto similar al siguiente:https://login.microsoftonline.com/90288a9b-97df-4c6d-b025-95713f21cef9/discovery/v2.0/keys. Péguelo en la consulta y asegúrese de mantener las comillas.
D. Reemplace la dirección URL de la lista de audiencias en la línea 7 porApplication ID URIdel paso 1. Mantenga las comillas.
E. Si la cuenta de Snowflake usa la misma dirección de correo electrónico que la cuenta de Microsoft Azure, reemplacelogin_nameen la línea 9 poremail_address. Si no es así, manténgalo tal como está y no escriba el nombre de inicio de sesión. Mantenga las comillas.
F. Asegúrese de que ha establecido el rol comoACCOUNTADMIN. Ahora puede ejecutar la consulta.
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';
Introducción al conector
Enviar instrucción SQL para su ejecución
Comprobar el estado y obtener resultados
Cancelar la ejecución de una instrucción
Problemas y limitaciones conocidos
- Si recibe una respuesta 500 al crear una nueva conexión, se trata de un error transitorio. Espere unos minutos e inténtelo de nuevo.
- Si recibe una respuesta 401 y el campo Host del paso 1 sigue este formato "orgname-accountname", reemplace el campo Host por la dirección URL "localizador".
- El conector puede agotar el tiempo de espera con resultados de consulta grandes.
Preguntas más frecuentes
- ¿Cómo se puede usar el conector en Power Apps? Actualmente, Power Apps no admite el esquema dinámico. Todavía puede usar el conector desde Power Apps llamando a un flujo desde la aplicación en lugar de directamente desde una aplicación.
Limitaciones
| Nombre | Llamadas | Período de renovación |
|---|---|---|
| Llamadas API por conexión | 100 | 60 segundos |
Acciones
| Cancelar la ejecución de una instrucción |
Cancelar la ejecución de una instrucción |
| Comprobar el estado y obtener resultados |
Comprobar el estado de la ejecución de una instrucción y obtener los resultados |
| Conversión de filas del conjunto de resultados de matriz en objetos |
Conversión de filas del conjunto de resultados de matriz en objetos |
| Enviar instrucción SQL para su ejecución |
Enviar una instrucción SQL para su ejecución |
Cancelar la ejecución de una instrucción
Cancelar la ejecución de una instrucción
Parámetros
| Nombre | Clave | Requerido | Tipo | Description |
|---|---|---|---|---|
|
Instancia
|
Instance | True | string |
El URI de la instancia de Snowflake (sin https://) |
|
identificador de instrucción
|
statementHandle | True | string |
identificador de instrucción |
|
Id. de solicitud
|
requestId | string |
Id. de solicitud |
Devoluciones
| Nombre | Ruta de acceso | Tipo | Description |
|---|---|---|---|
|
código
|
code | string |
código |
|
sqlState
|
sqlState | string |
sqlState |
|
Mensaje
|
message | string |
Mensaje |
|
statementHandle
|
statementHandle | string |
statementHandle |
|
statementStatusUrl
|
statementStatusUrl | string |
statementStatusUrl |
Comprobar el estado y obtener resultados
Comprobar el estado de la ejecución de una instrucción y obtener los resultados
Parámetros
| Nombre | Clave | Requerido | Tipo | Description |
|---|---|---|---|---|
|
Instancia
|
Instance | True | string |
El URI de la instancia de Snowflake (sin https://) |
|
identificador de instrucción
|
statementHandle | True | string |
identificador de instrucción |
|
Id. de solicitud
|
requestId | string |
Id. de solicitud |
|
|
partición
|
partition | integer |
partición |
Devoluciones
| Nombre | Ruta de acceso | Tipo | Description |
|---|---|---|---|
|
código
|
code | string | |
|
sqlState
|
sqlState | string | |
|
Mensaje
|
message | string | |
|
statementHandle
|
statementHandle | string | |
|
createdOn
|
createdOn | integer |
Marca de tiempo que especifica cuándo se inició la ejecución de la instrucción. La marca de tiempo se expresa en milisegundos desde la época |
|
statementStatusUrl
|
statementStatusUrl | string | |
|
format
|
resultSetMetaData.format | string |
Para los puntos de conexión v2, el único valor posible para este campo es jsonv2. |
|
rowType
|
resultSetMetaData.rowType | array of object | |
|
nombre
|
resultSetMetaData.rowType.name | string | |
|
type
|
resultSetMetaData.rowType.type | string | |
|
nullable
|
resultSetMetaData.rowType.nullable | boolean | |
|
partitionInfo
|
partitionInfo | array of object |
Información de partición |
|
rowCount
|
partitionInfo.rowCount | integer |
Número de filas de la partición. |
|
compressedSize
|
partitionInfo.compressedSize | integer |
tamaño de partición antes de la descompresión. Esto puede estar presente o no en partitionInfo. El tamaño sin comprimir siempre estaría ahí. |
|
uncompressedSize
|
partitionInfo.uncompressedSize | integer |
el tamaño de la partición después de la descompresión |
|
nullable
|
nullable | boolean |
false si null se reemplaza por una cadena 'null'; de lo contrario, false |
|
datos
|
data | array of array |
Datos del conjunto de resultados. |
|
items
|
data | array of string | |
|
numRowsInserted
|
stats.numRowsInserted | integer |
Número de filas que se insertaron. |
|
numRowsUpdated
|
stats.numRowsUpdated | integer |
Número de filas que se actualizaron. |
|
numRowsDeleted
|
stats.numRowsDeleted | integer |
Número de filas que se eliminaron. |
|
numDuplicateRowsUpdated
|
stats.numDuplicateRowsUpdated | integer |
Número de filas duplicadas que se actualizaron. |
Conversión de filas del conjunto de resultados de matriz en objetos
Conversión de filas del conjunto de resultados de matriz en objetos
Parámetros
| Nombre | Clave | Requerido | Tipo | Description |
|---|---|---|---|---|
|
rowType
|
resultSetMetaData | string | ||
|
datos
|
data | string |
Devoluciones
| Nombre | Ruta de acceso | Tipo | Description |
|---|---|---|---|
|
datos
|
data | array of object |
Datos del conjunto de resultados. |
|
items
|
data | object |
Enviar instrucción SQL para su ejecución
Enviar una instrucción SQL para su ejecución
Parámetros
| Nombre | Clave | Requerido | Tipo | Description |
|---|---|---|---|---|
|
Instancia
|
Instance | True | string |
El URI de la instancia de Snowflake (sin https://) |
|
Id. de solicitud
|
requestId | string |
Identificador de la solicitud |
|
|
Asincrónica
|
async | boolean |
Indica si la consulta se debe ejecutar de forma asincrónica. |
|
|
nullable
|
nullable | boolean |
Si nullable es false, los valores NULL se reemplazarán por cadena. |
|
|
instrucción
|
statement | string |
Instrucción SQL que se va a ejecutar: todavía no se admiten lotes de instrucciones |
|
|
timeout
|
timeout | integer |
Número de segundos antes de que se produzca el tiempo de espera |
|
|
base de datos
|
database | string |
base de datos |
|
|
schema
|
schema | string |
schema |
|
|
warehouse
|
warehouse | string |
warehouse |
|
|
role
|
role | string |
role |
|
|
timezone
|
timezone | string |
Zona horaria que se va a usar al ejecutar la instrucción . |
|
|
etiqueta de consulta
|
query_tag | string |
Etiqueta de consulta que desea asociar a la instrucción SQL. |
|
|
formato de salida binario
|
binary_output_format | string |
Formato de salida para valores binarios. |
|
|
formato de salida de fecha
|
date_output_format | string |
Formato de salida para los valores DATE. |
|
|
formato de salida de hora
|
time_output_format | string |
Formato de salida para los valores TIME. |
|
|
formato de salida de marca de tiempo
|
timestamp_output_format | string |
Formato de salida para los valores TIMESTAMP. |
|
|
formato de salida de marca de tiempo ltz
|
timestamp_ltz_output_format | string |
Formato de salida para los valores de TIMESTAMP_LTZ. |
|
|
timestamp_ntz_output_format
|
timestamp_ntz_output_format | string |
Formato de salida para los valores de TIMESTAMP_NTZ. |
|
|
formato de salida de marca de tiempo
|
timestamp_tz_output_format | string |
Formato de salida para los valores de TIMESTAMP_TZ. |
|
|
recuento de varias instrucciones
|
multi_statement_count | integer |
Número de instrucciones que se van a ejecutar al usar la funcionalidad de varias instrucciones. 0 implica un número variable de instrucciones. No se permiten números negativos. |
Devoluciones
| Nombre | Ruta de acceso | Tipo | Description |
|---|---|---|---|
|
código
|
code | string | |
|
sqlState
|
sqlState | string | |
|
Mensaje
|
message | string | |
|
statementHandle
|
statementHandle | string | |
|
createdOn
|
createdOn | integer |
Marca de tiempo que especifica cuándo se inició la ejecución de la instrucción. La marca de tiempo se expresa en milisegundos desde la época |
|
statementStatusUrl
|
statementStatusUrl | string | |
|
format
|
resultSetMetaData.format | string |
Para los puntos de conexión v2, el único valor posible para este campo es jsonv2. |
|
rowType
|
resultSetMetaData.rowType | array of object | |
|
nombre
|
resultSetMetaData.rowType.name | string | |
|
type
|
resultSetMetaData.rowType.type | string | |
|
nullable
|
resultSetMetaData.rowType.nullable | boolean | |
|
partitionInfo
|
partitionInfo | array of object |
Información de partición |
|
rowCount
|
partitionInfo.rowCount | integer |
Número de filas de la partición. |
|
compressedSize
|
partitionInfo.compressedSize | integer |
tamaño de partición antes de la descompresión. Esto puede estar presente o no en partitionInfo. El tamaño sin comprimir siempre estaría ahí. |
|
uncompressedSize
|
partitionInfo.uncompressedSize | integer |
el tamaño de la partición después de la descompresión |
|
nullable
|
nullable | boolean |
false si null se reemplaza por una cadena 'null'; de lo contrario, false |
|
datos
|
data | array of array |
Datos del conjunto de resultados. |
|
items
|
data | array of string | |
|
numRowsInserted
|
stats.numRowsInserted | integer |
Número de filas que se insertaron. |
|
numRowsUpdated
|
stats.numRowsUpdated | integer |
Número de filas que se actualizaron. |
|
numRowsDeleted
|
stats.numRowsDeleted | integer |
Número de filas que se eliminaron. |
|
numDuplicateRowsUpdated
|
stats.numDuplicateRowsUpdated | integer |
Número de filas duplicadas que se actualizaron. |