Azure Data Lake Storage
El conector de Azure Data Lake Storage te permite conectarte a Azure Data Lake Storage y usar SQL para recuperar y actualizar los datos de Azure Data Lake Storage.
Antes de empezar
Antes de usar el conector de Azure Data Lake Storage, realiza las siguientes tareas:
- En tu proyecto de Google Cloud:
- Asegúrate de que la conectividad de red esté configurada. Para obtener información sobre los patrones de red, consulta Conectividad de red.
- Concede el rol de gestión de identidades y accesos roles/connectors.admin al usuario que configure el conector.
- Concede los siguientes roles de gestión de identidades y accesos a la cuenta de servicio que quieras usar para el conector:
roles/secretmanager.viewer
roles/secretmanager.secretAccessor
Una cuenta de servicio es un tipo especial de cuenta de Google diseñada para representar a un usuario no humano que necesita autenticarse y disponer de autorización para acceder a los datos de las APIs de Google. Si no tienes una cuenta de servicio, debes crearla. El conector y la cuenta de servicio deben pertenecer al mismo proyecto. Para obtener más información, consulta el artículo Crear una cuenta de servicio.
- Habilita los siguientes servicios:
secretmanager.googleapis.com
(API Secret Manager)connectors.googleapis.com
(API Connectors)
Para saber cómo habilitar servicios, consulta Habilitar servicios.
Si estos servicios o permisos no se han habilitado en tu proyecto anteriormente, se te pedirá que los habilites al configurar el conector.
- Para obtener información sobre cómo crear una cuenta de almacenamiento de Azure, consulte Crear una cuenta de almacenamiento. Para obtener información sobre cómo crear un contenedor en Azure, consulta Crear un contenedor. Para obtener información sobre cómo crear un directorio en Azure, consulta Crear un directorio.
Configurar el conector
Una conexión es específica de una fuente de datos. Esto significa que, si tiene muchas fuentes de datos, debe crear una conexión independiente para cada una de ellas. Para crear una conexión, sigue estos pasos:
- En la consola de Cloud, ve a la página Integration Connectors > Connections (Conectores de integración > Conexiones) y, a continuación, selecciona o crea un proyecto de Google Cloud.
- Haga clic en + Crear para abrir la página Crear conexión.
- En la sección Ubicación, elige la ubicación de la conexión.
- Región: selecciona una ubicación de la lista desplegable.
Las regiones admitidas para los conectores son las siguientes:
Para ver la lista de todas las regiones admitidas, consulta Ubicaciones.
- Haz clic en Siguiente.
- Región: selecciona una ubicación de la lista desplegable.
- En la sección Detalles de la conexión, haz lo siguiente:
- Conector: selecciona Azure Data Lake Storage en la lista desplegable de conectores disponibles.
- Versión del conector: seleccione la versión del conector en la lista desplegable de versiones disponibles.
- En el campo Connection Name (Nombre de conexión), introduce un nombre para la instancia de conexión.
Los nombres de las conexiones deben cumplir los siguientes criterios:
- Los nombres de conexión pueden contener letras, números o guiones.
- Las letras deben estar en minúsculas.
- Los nombres de conexión deben empezar por una letra y terminar por una letra o un número.
- Los nombres de conexión no pueden tener más de 49 caracteres.
- Si quiere, puede introducir una Descripción para la instancia de conexión.
- También puedes habilitar Registro en la nube y, a continuación, seleccionar un nivel de registro. De forma predeterminada, el nivel de registro es
Error
. - Cuenta de servicio: selecciona una cuenta de servicio que tenga los roles necesarios.
- Si quieres, configura los ajustes del nodo de conexión:
- Número mínimo de nodos: introduce el número mínimo de nodos de conexión.
- Número máximo de nodos: introduce el número máximo de nodos de conexión.
Un nodo es una unidad (o réplica) de una conexión que procesa transacciones. Se necesitan más nodos para procesar más transacciones en una conexión y, a la inversa, se necesitan menos nodos para procesar menos transacciones. Para saber cómo influyen los nodos en el precio de tu conector, consulta la sección Precios de los nodos de conexión. Si no introduces ningún valor, de forma predeterminada, el número mínimo de nodos se establece en 2 (para mejorar la disponibilidad) y el máximo en 50.
- Cuenta: esta propiedad especifica el nombre de la cuenta de Azure Data Lake Storage.
- Directorio: esta propiedad especifica la ruta raíz para enumerar archivos y carpetas.
- Sistema de archivos: esta propiedad especifica el nombre del sistema de archivos que se usará en una cuenta de almacenamiento de Gen 2. Por ejemplo, el nombre del contenedor de blobs de Azure.
- Tamaño del fragmento: el tamaño de los fragmentos (en MB) que se usarán al subir archivos grandes.
- Incluir subdirectorios: elija si las rutas de los subdirectorios deben aparecer en la vista Recursos del esquema de ADLS Gen2.
- También puedes hacer clic en + Añadir etiqueta para añadir una etiqueta a la conexión en forma de par clave-valor.
- Haz clic en Siguiente.
-
En la sección Autenticación, introduce los detalles de autenticación.
- Seleccione un Tipo de autenticación e introduzca los detalles pertinentes.
La conexión de Azure Data Lake Storage admite los siguientes tipos de autenticación:
- Firma de acceso compartido
- Clave de acceso a la cuenta
- Autenticación JWT
- Haz clic en Siguiente.
Para saber cómo configurar estos tipos de autenticación, consulta Configurar la autenticación.
- Seleccione un Tipo de autenticación e introduzca los detalles pertinentes.
- Revisar: revisa los detalles de la conexión y la autenticación.
- Haz clic en Crear.
Configurar la autenticación
Introduce los detalles en función de la autenticación que quieras usar.
-
Firma de acceso compartido
- Firma de acceso compartido: secreto de Secret Manager que contiene la firma de acceso compartido.
-
Clave de acceso a la cuenta
- Clave de acceso a la cuenta: secreto de Secret Manager que contiene la clave de acceso a la cuenta.
-
Autenticación JWT
- ID de cliente: el ID de cliente que se usa para solicitar tokens de acceso.
- Clave privada: secreto de Secret Manager que contiene el contenido del archivo de clave privada en formato PEM. La clave privada debe coincidir con la clave pública o el certificado.
- Contraseña de clave privada: secreto de Secret Manager que contiene la contraseña (frase de contraseña) del archivo de clave privada.
Ejemplos de configuración de conexiones
En esta sección se indican los valores de ejemplo de los distintos campos que se configuran al crear la conexión de Azure Data Lake Storage.
Tipo de conexión de firma de acceso compartido
Nombre del campo | Detalles |
---|---|
Ubicación | us-central1 |
Conector | azuredatalakestorage |
Versión del conector | 1 |
Nombre de la conexión | adls-gen2-conn-public |
Habilitar Cloud Logging | Sí |
Cuenta de servicio | account@my-project.iam.gserviceaccount.com |
Cuenta | google-cloud-dslgen3 |
Directorio | directorio |
Sistema de archivos | contenedor |
Incluir subdirectorios | No |
Número mínimo de nodos | 2 |
Número máximo de nodos | 50 |
Firma de acceso compartido | SHARED_ACCESS_SIGNATURE |
Versión de secreto | 1 |
Tipo de conexión de clave de acceso de la cuenta
Nombre del campo | Detalles |
---|---|
Ubicación | us-central1 |
Conector | azuredatalakestorage |
Versión del conector | 1 |
Nombre de la conexión | azure-data-lake-conn |
Habilitar Cloud Logging | Sí |
Cuenta de servicio | account@my-project.iam.gserviceaccount.com |
Cuenta | google-cloud-dslgen3 |
Directorio | norteamérica |
Sistema de archivos | contenedor |
Incluir subdirectorios | No |
Número mínimo de nodos | 2 |
Número máximo de nodos | 50 |
Clave de acceso a la cuenta | ACCOUNT_ACCESS_KEY |
Versión de secreto | 1 |
Tipo de conexión de autenticación JWT
Nombre del campo | Detalles |
---|---|
Ubicación | us-central1 |
Conector | azuredatalakestorage |
Versión del conector | 1 |
Nombre de la conexión | adls-gen2-jwt-conn |
Habilitar Cloud Logging | Sí |
Cuenta de servicio | account@my-project.iam.gserviceaccount.com |
Cuenta | your-adls-account-name |
Directorio | norteamérica |
Sistema de archivos | data-lake-container |
Incluir subdirectorios | Sí |
Número mínimo de nodos | 2 |
Número máximo de nodos | 50 |
Authentication type (Tipo de autenticación) | Autenticación JWT |
ID de cliente | CLIENT_ID |
Clave privada | PRIVATE_KEY_SECRET |
Contraseña de clave privada | PRIVATE_KEY_PASSWORD_SECRET |
Versión de secreto (para la clave privada) | 1 |
Versión de secreto (para la contraseña de la clave privada) | 1 |
Entidades, operaciones y acciones
Todos los conectores de integración proporcionan una capa de abstracción para los objetos de la aplicación conectada. Solo puedes acceder a los objetos de una aplicación a través de esta abstracción. La abstracción se te muestra como entidades, operaciones y acciones.
- Entidad: una entidad se puede considerar como un objeto o un conjunto de propiedades en la aplicación o el servicio conectados. La definición de una entidad varía de un conector a otro. Por ejemplo, en un conector de base de datos, las tablas son las entidades; en un conector de servidor de archivos, las carpetas son las entidades; y en un conector de sistema de mensajería, las colas son las entidades.
Sin embargo, es posible que un conector no admita o no tenga ninguna entidad. En ese caso, la lista
Entities
estará vacía. - Operación: una operación es la actividad que puedes realizar en una entidad. Puedes realizar cualquiera de las siguientes operaciones en una entidad:
Al seleccionar una entidad de la lista disponible, se genera una lista de operaciones disponibles para la entidad. Para ver una descripción detallada de las operaciones, consulta las operaciones de entidades de la tarea Connectors. Sin embargo, si un conector no admite ninguna de las operaciones de entidad, esas operaciones no admitidas no se mostrarán en la lista
Operations
. - Acción: una acción es una función de primera clase que se pone a disposición de la integración
a través de la interfaz del conector. Una acción te permite hacer cambios en una o varias entidades y varía de un conector a otro. Normalmente, una acción tendrá algunos parámetros de entrada y un parámetro de salida. Sin embargo, es posible que un conector no admita ninguna acción, en cuyo caso la lista
Actions
estará vacía.
Limitaciones del sistema
El conector de Azure Data Lake Storage puede procesar 5 transacciones por segundo por nodo y limita las transacciones que superen este límite. De forma predeterminada, Integration Connectors asigna 2 nodos (para mejorar la disponibilidad) a una conexión.
Para obtener información sobre los límites aplicables a Integration Connectors, consulta Límites.
Acciones
En esta sección se enumeran las acciones que admite el conector. Para saber cómo configurar las acciones, consulta los ejemplos de acciones.
Acción DownloadFile
Esta acción te permite descargar el contenido de un blob concreto de un directorio o un contenedor.
Parámetros de entrada de la acción DownloadFile
Nombre del parámetro | Tipo de datos | Obligatorio | Descripción |
---|---|---|---|
Ruta | Cadena | Sí | La ruta del archivo (incluido el nombre del archivo) que se va a descargar. Por ejemplo:
|
HasBytes | Booleano | No | Indica si se debe descargar el contenido como bytes (formato Base64).
false .
|
Parámetros de salida de la acción DownloadFile
Si la acción se realiza correctamente, devuelve el contenido del archivo o del blob.
Para ver un ejemplo de cómo configurar la acción DownloadFile
, consulta los ejemplos de acciones.
Acción CreateFile
Esta acción te permite crear un blob o un archivo en un contenedor o un directorio.
Parámetros de entrada de la acción CreateFile
Nombre del parámetro | Tipo de datos | Obligatorio | Descripción |
---|---|---|---|
Ruta | Cadena | Sí | Ruta del archivo que se creará. |
Para ver un ejemplo de cómo configurar la acción CreateFile
, consulta Ejemplos de acciones.
Acción CopyFile
Esta acción te permite copiar el contenido de un archivo o un blob en otro archivo o blob del mismo contenedor o directorio.
Parámetros de entrada de la acción CopyFile
Nombre del parámetro | Tipo de datos | Obligatorio | Descripción |
---|---|---|---|
SourcePath | Cadena | Sí | Ruta del archivo que se va a copiar. |
DestinationPath | Cadena | Sí | Ruta del archivo en el que se copiará. |
Para ver un ejemplo de cómo configurar la acción CopyFile
, consulta Ejemplos de acciones.
Acción DeleteObject
Esta acción te permite eliminar un archivo o un blob.
Parámetros de entrada de la acción DeleteObject
Nombre del parámetro | Tipo de datos | Obligatorio | Descripción |
---|---|---|---|
Recursivo | Cadena | No | Define este valor como true para eliminar todo el contenido de la carpeta, incluidas las subcarpetas. |
Ruta | Cadena | Sí | Ruta del archivo o la carpeta que se va a eliminar. |
DeleteType | Cadena | Sí |
|
Para ver un ejemplo de cómo configurar la acción DeleteObject
, consulta los ejemplos de acciones.
Acción LeaseBlob
Esta acción te permite crear y gestionar un bloqueo en un blob.
Parámetros de entrada de la acción LeaseBlob
Nombre del parámetro | Tipo de datos | Obligatorio | Descripción |
---|---|---|---|
Ruta | Cadena | Sí | La ruta del archivo. |
LeaseAction | Cadena | Sí | Especifica la acción de arrendamiento que se va a ejecutar. |
LeaseDuration | Entero | Sí | Especifica la duración del alquiler. |
Para ver un ejemplo de cómo configurar la acción LeaseBlob
, consulta Ejemplos de acciones.
Acción UploadFile
Esta acción permite a los usuarios subir el contenido a un blob o contenedor concreto.
Parámetros de entrada de la acción UploadFile
Nombre del parámetro | Tipo de datos | Obligatorio | Descripción |
---|---|---|---|
Ruta | Cadena | Sí | Ruta del archivo que se va a subir. |
HasBytes | Booleano | No | Si se debe subir el contenido como bytes. |
Contenido | Cadena | Sí | Contenido que quieras subir. |
Para ver un ejemplo de cómo configurar la acción UploadFile
, consulta Ejemplos de acciones.
Acción RenameObject
Esta acción te permite cambiar el nombre de un archivo o una carpeta.
Parámetros de entrada de la acción RenameObject
Nombre del parámetro | Tipo de datos | Obligatorio | Descripción |
---|---|---|---|
Ruta | Cadena | Sí | Ruta cuyo nombre se va a cambiar. |
RenameTo | Cadena | Sí | El nuevo nombre del archivo o la carpeta. |
Para ver un ejemplo de cómo configurar la acción RenameObject
, consulta Ejemplos de acciones.
Ejemplos de acciones
Ejemplo: descargar un archivo
En este ejemplo se descarga un archivo binario.
- En el cuadro de diálogo
Configure connector task
, haz clic enActions
. - Seleccione la acción
DownloadFile
y, a continuación, haga clic en Hecho. - En la sección Entrada de tarea de la tarea Conectores, haz clic en
connectorInputPayload
y, a continuación, introduce un valor similar al siguiente en el campoDefault Value
:{ "Path": "testdirectory1/test1.pdf", "HasBytes": true }
Si la acción se realiza correctamente, el parámetro connectorOutputPayload
response de la tarea DownloadFile
tendrá un valor similar al siguiente:
[{ "Success": "True", "ContentBytes": "UEsDBBQABgAIAAAAIQCj77sdZQEAAFIFAAATAAgCW0NvbnRlbnRfVHlwZXNdLnhtbCCiBAIooA" }]
Ejemplo: subir un archivo
En este ejemplo se sube contenido como un blob.
- En el cuadro de diálogo
Configure connector task
, haz clic enActions
. - Seleccione la acción
UploadFile
y, a continuación, haga clic en Hecho. - En la sección Entrada de tarea de la tarea Conectores, haz clic en
connectorInputPayload
y, a continuación, introduce un valor similar al siguiente en el campoDefault Value
:{ "Path": "testblob4", "HasBytes": true, "Content": "abcdef\nabcdef" }
Si la acción se realiza correctamente, el parámetro connectorOutputPayload
response de la tarea UploadFile
tendrá un valor similar al siguiente:
[{ "Success": "true" }]
Ejemplo: crear un archivo
En este ejemplo se crea un archivo en el directorio especificado.
- En el cuadro de diálogo
Configure connector task
, haz clic enActions
. - Seleccione la acción
CreateFile
y, a continuación, haga clic en Hecho. - En la sección Entrada de tarea de la tarea Conectores, haz clic en
connectorInputPayload
y, a continuación, introduce un valor similar al siguiente en el campoDefault Value
:{ "path": "testdirectory1/testblob" }
Si la acción se realiza correctamente, el parámetro connectorOutputPayload
response de la tarea CreateFile
tendrá un valor similar al siguiente:
[{ "Success": "true" }]
Ejemplo: copiar un archivo
En este ejemplo se copia un archivo de una ubicación a otra.
- En el cuadro de diálogo
Configure connector task
, haz clic enActions
. - Seleccione la acción
CopyFile
y, a continuación, haga clic en Hecho. - En la sección Entrada de tarea de la tarea Conectores, haz clic en
connectorInputPayload
y, a continuación, introduce un valor similar al siguiente en el campoDefault Value
:{ "SourcePath": "testdirectory1/testblob", "DestinationPath": "testblob" }
Si la acción se realiza correctamente, el parámetro connectorOutputPayload
response de la tarea CopyFile
tendrá un valor similar al siguiente:
[{ "Success": "true" }]
Ejemplo: eliminar un blob
En este ejemplo se elimina el blob especificado.
- En el cuadro de diálogo
Configure connector task
, haz clic enActions
. - Seleccione la acción
DeleteObject
y, a continuación, haga clic en Hecho. - En la sección Entrada de tarea de la tarea Conectores, haz clic en
connectorInputPayload
y, a continuación, introduce un valor similar al siguiente en el campoDefault Value
:{ "path": "testdirectory1/testblob" }
Si la acción se realiza correctamente, el parámetro connectorOutputPayload
response de la tarea DeleteObject
tendrá un valor similar al siguiente:
[{ "Success": "true" }]
Ejemplo: arrendar un blob
En este ejemplo se alquila el blob especificado.
- En el cuadro de diálogo
Configure connector task
, haz clic enActions
. - Seleccione la acción
LeaseBlob
y, a continuación, haga clic en Hecho. - En la sección Entrada de tarea de la tarea Conectores, haz clic en
connectorInputPayload
y, a continuación, introduce un valor similar al siguiente en el campoDefault Value
:{ "Path": "testblob2", "LeaseAction": "Acquire", "LeaseDuration": 60.0 }
Si la acción se realiza correctamente, el parámetro connectorOutputPayload
response de la tarea LeaseBlob
tendrá un valor similar al siguiente:
[{ "LeaseId": "7aae9ca2-f015-41b6-9bdf-5fd3401fc493", "Success": "true" }]
Ejemplo: cambiar el nombre de un blob
En este ejemplo se cambia el nombre de un blob.
- En el cuadro de diálogo
Configure connector task
, haz clic enActions
. - Seleccione la acción
RenameObject
y, a continuación, haga clic en Hecho. - En la sección Entrada de tarea de la tarea Conectores, haz clic en
connectorInputPayload
y, a continuación, introduce un valor similar al siguiente en el campoDefault Value
:{ "Path": "testblob", "RenameTo": "testblob6" }
Si la acción se realiza correctamente, el parámetro connectorOutputPayload
response de la tarea RenameObject
tendrá un valor similar al siguiente:
[{ "Success": true }]
Ejemplos de operaciones de entidades
En esta sección se muestra cómo realizar algunas de las operaciones de entidad en este conector.
Ejemplo: listar todos los registros
En este ejemplo se enumeran todos los registros de la entidad Resource
.
- En el cuadro de diálogo
Configure connector task
, haz clic enEntities
. - Selecciona
Resource
en la listaEntity
. - Selecciona la operación
List
y, a continuación, haz clic en Hecho. - Opcionalmente, en la sección Entrada de tarea de la tarea Conectores, puedes filtrar el conjunto de resultados especificando una cláusula de filtro. Especifica siempre el valor de la cláusula de filtro entre comillas simples (').
Ejemplo: obtener un registro
En este ejemplo se obtiene un registro con el ID especificado de la entidad Resource
.
- En el cuadro de diálogo
Configure connector task
, haz clic enEntities
. - Selecciona
Resource
en la listaEntity
. - Selecciona la operación
Get
y, a continuación, haz clic en Hecho. - En la sección Entrada de tarea de la tarea Conectores, haga clic en EntityId y, a continuación, introduzca
testdirectory1/testblob1
en el campo Valor predeterminado.En este caso,
testdirectory1/testblob1
es un ID de registro único de la entidadResource
.
Usar la conexión de Azure Data Lake Storage en una integración
Una vez que hayas creado la conexión, estará disponible tanto en Apigee Integration como en Application Integration. Puedes usar la conexión en una integración a través de la tarea Conectores.
- Para saber cómo crear y usar la tarea Conectores en la integración de Apigee, consulta Tarea Conectores.
- Para saber cómo crear y usar la tarea Conectores en Application Integration, consulta Tarea Conectores.
Obtener ayuda de la comunidad de Google Cloud
Puedes publicar tus preguntas y hablar sobre este conector en la comunidad de Google Cloud, en los foros de Cloud.Siguientes pasos
- Consulta cómo suspender y reanudar una conexión.
- Consulta cómo monitorizar el uso de los conectores.
- Consulta cómo ver los registros de conectores.