Compartir a través de


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:

  1. 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-ANY siguiendo estas instrucciones.
  2. En el paso 2: Crear un cliente de OAuth en microsoft Entra ID, siga los pasos 1-13.
  3. 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.
  4. Vaya al recurso creado en el paso 1 y vaya a Exponer una API ->Agregar una aplicación cliente ->Agregar el APPLICATION_CLIENT_ID elemento desde el paso 3 anterior:> haga clic en Guardar.
  5. Siga el paso 3: Recopilar información de id. de Entra de Microsoft para Snowflake por completo.
  6. 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 por Application ID URI del 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, reemplace login_name en la línea 9 por email_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 como ACCOUNTADMIN. 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

  1. 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.
  2. 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".
  3. El conector puede agotar el tiempo de espera con resultados de consulta grandes.

Preguntas más frecuentes

  1. ¿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.