SFTP
El conector SFTP te permite conectarte a un servidor SFTP y realizar operaciones de transferencia de archivos.
Antes de empezar
En tu proyecto de Google Cloud, haz lo siguiente:
- Asegúrate de que la conectividad de red esté configurada. Para obtener información, 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 roles de gestión de identidades y accesos de
roles/secretmanager.viewer
yroles/secretmanager.secretAccessor
a la cuenta de servicio que quieras usar para el conector. Si no tienes una cuenta de servicio, debes crearla. El conector y la cuenta de servicio deben pertenecer al mismo proyecto. - Habilita
secretmanager.googleapis.com
(API Secret Manager) yconnectors.googleapis.com
(API Connectors). Para obtener más información, consulta Habilitar servicios.
Crear una conexión SFTP
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, selecciona una ubicación de la lista Región y, a continuación, haz clic en Siguiente.
Para ver la lista de todas las regiones admitidas, consulta Ubicaciones.
- En la sección Detalles de la conexión, haz lo siguiente:
- En el campo Conector, seleccione SFTP.
- En el campo Versión del conector, selecciona la versión que quieras.
- En el campo Nombre de conexión, introduce un nombre para la instancia de conexión. El nombre de la conexión puede contener letras minúsculas, números o guiones. El nombre debe empezar por una letra y terminar con una letra o un número, y no puede superar los 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
. - En el campo Cuenta de servicio, selecciona una cuenta que tenga los roles necesarios.
- (Opcional) 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.
- (Opcional) En el campo Ruta remota, introduzca la ruta de la carpeta del servidor SFTP para realizar las operaciones de entidad, como
List
,Create
,Update
oDelete
. - 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.
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 es 2 (para mejorar la disponibilidad) y el máximo es 50.
Si accedes a entidades (archivos o carpetas) de la carpeta raíz o de las carpetas secundarias inmediatas de la carpeta raíz, no es necesario que asignes ningún valor a este campo. Sin embargo, si quieres acceder a entidades anidadas que se encuentran a una profundidad de dos niveles o más de la carpeta raíz, debes definir el valor de este campo como la ruta base de la carpeta que contiene las entidades a las que quieres acceder. Por ejemplo, si quieres acceder al archivo
/folder_A/folder_B/folder_C/test.png
, debes definir la ruta remota como/folder_A/folder_B/folder_C
. - En la sección Destinos, introduce los detalles del host remoto (sistema backend) al que quieras conectarte y haz clic en Siguiente.
- Para especificar el nombre de host o la dirección IP de destino, selecciona Dirección de host y introduce la dirección en el campo Host 1.
- Para establecer una conexión privada, selecciona Endpoint attachment (Endpoint adjunto) y elige el adjunto que quieras de la lista Endpoint Attachment (Endpoint adjunto).
-
En la sección Autenticación, selecciona un Tipo de autenticación
e introduce los detalles pertinentes. A continuación, haz clic en Siguiente.
La conexión SFTP admite los siguientes tipos de autenticación:
- Nombre de usuario y contraseña
- SSH_PUBLIC_KEY
Para saber cómo configurar estos tipos de autenticación, consulta Configurar la autenticación.
- Revise los detalles de la conexión y la autenticación y, a continuación, haga clic en Crear.
En el campo Tipo de destino, selecciona el tipo que quieras:
Si quieres establecer una conexión pública con tus sistemas backend con seguridad adicional, puedes configurar direcciones IP de salida estáticas para tus conexiones y, a continuación, configurar las reglas de tu cortafuegos para que solo se permitan las direcciones IP estáticas específicas.
Configurar la autenticación
Introduce los detalles en función de la autenticación que quieras usar.
-
Nombre de usuario y contraseña
- Nombre de usuario: nombre de usuario de SFTP que se usará para la conexión.
- Contraseña: secreto de Secret Manager que contiene la contraseña asociada al nombre de usuario de SFTP.
-
SSH_PUBLIC_KEY
- Nombre de usuario: cuenta de usuario de SFTP utilizada para la autenticación.
- Clave privada SSH: clave privada para la autenticación SSH.
- Contraseña de clave privada SSH: frase de contraseña o contraseña que protege la clave privada, si la hay.
- Tipo de clave privada SSH: formato de la clave privada.
Usar la conexión SFTP 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.
Acciones
En esta sección se enumeran algunas de las acciones que admite el conector. Para saber cómo configurar las acciones, consulta los ejemplos de acciones.
Acción de subida
En la siguiente tabla se describen los parámetros de entrada de la acción Upload
.
Nombre del parámetro | Tipo de datos | Obligatorio | Descripción |
---|---|---|---|
Contenido | Cadena | No | Contenido que se va a subir como archivo. |
ContentBytes | Cadena | No | Contenido de bytes (como una cadena Base64) que se va a subir como archivo. Úsalo para subir datos binarios. |
HasBytes | Booleano | No | Especifica si el contenido se debe subir como bytes. El valor predeterminado es false . |
RemoteFile | Cadena | Sí | Nombre del archivo en el host remoto. |
Sobrescribir | Booleano | No | Especifica si se debe sobrescribir el archivo remoto. El valor predeterminado es false . |
Para ver ejemplos de cómo configurar la acción Upload
, consulta Ejemplos.
Descargar acción
En la siguiente tabla se describen los parámetros de entrada de la acción Download
.
Nombre del parámetro | Tipo de datos | Obligatorio | Descripción |
---|---|---|---|
RemoteFile | Cadena | Sí | Nombre del archivo en el host remoto. |
HasBytes | Booleano | No | Especifica si el contenido se debe descargar como bytes. El valor predeterminado es false . |
Para ver ejemplos de cómo configurar la acción Download
, consulta Ejemplos.
Acción MoveFile
En la siguiente tabla se describen los parámetros de entrada de la acción MoveFile
.
Nombre del parámetro | Tipo de datos | Obligatorio | Descripción |
---|---|---|---|
RemoteFile | Cadena | Sí | Ruta del archivo remoto que se va a mover. |
DestinationPath | Cadena | Sí | La nueva ruta a la que quieres mover el archivo. |
Para ver ejemplos de cómo configurar la acción MoveFile
, consulta Ejemplos.
Acción RenameFile
En la siguiente tabla se describen los parámetros de entrada de la acción RenameFile
.
Nombre del parámetro | Tipo de datos | Obligatorio | Descripción |
---|---|---|---|
RemoteFile | Cadena | Sí | Ruta y nombre del archivo remoto que se va a cambiar. |
NewFileName | Cadena | Sí | Nuevo nombre del archivo remoto. |
Para ver ejemplos de cómo configurar la acción RenameFile
, consulta Ejemplos.
Ejemplos
En esta sección se describe cómo realizar algunas de las operaciones y acciones de entidades en este conector. En los ejemplos se describen las siguientes operaciones:
- Lista todos los archivos del directorio raíz
- Mostrar los archivos que coinciden con un patrón en un directorio
- Mover un archivo
- Cambiar el nombre de un archivo
- Eliminar un archivo
- Subir un archivo de texto ASCII
- Subir un archivo binario
- Descargar un archivo de texto ASCII
- Descargar un archivo binario
- Descargar varios archivos
En la siguiente tabla se muestran los ejemplos de situaciones y la configuración correspondiente en la tarea Conectores:
Tarea | Comando de ejemplo | Configuración |
---|---|---|
Lista todos los archivos del directorio raíz | ls / |
|
Mostrar los archivos .csv de un directorio |
ls /tmp/*.csv |
|
Mover un archivo | mv /tmp/dir_A/hello_world.txt /dir_B/dir_C/ |
En este ejemplo, se mueve el archivo [{ "Success":"true" }] |
Cambiar el nombre de un archivo | mv /tmp/hello_world.txt /tmp/hello_world_new.txt |
En este ejemplo se cambia el nombre del archivo [{ "Success":"true" }] |
Eliminar un archivo | rm /tmp/myfile.csv |
|
Subir un archivo de texto ASCII | put file_1.txt /tmp/file_1.txt |
En este ejemplo se crea el archivo El atributo |
Subir un archivo binario | put image_1.png /tmp/image_1.png |
Para subir contenido binario, primero debes codificarlo en formato Base64. Puedes elegir la herramienta que quieras para codificar el contenido. Los pasos para codificar el contenido no se incluyen en este documento. Una vez que tengas el contenido como
una cadena Base64, sigue estos pasos:
En este ejemplo se crea el archivo El atributo |
Descargar un archivo de texto ASCII | get /tmp/myfile.txt |
El contenido del archivo descargado está disponible como una cadena en el campo |
Descargar un archivo binario | get /tmp/myfile.png |
El contenido del archivo descargado está disponible como una cadena codificada en Base64 en el campo |
Descargar varios archivos |
|
|
Limitaciones del sistema
El conector SFTP puede procesar 1 transacción 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.
Crear conexiones con Terraform
Puedes usar el recurso de Terraform para crear una conexión.
Para saber cómo aplicar o quitar una configuración de Terraform, consulta Comandos básicos de Terraform.
Para ver una plantilla de Terraform de ejemplo para crear una conexión, consulta la plantilla de ejemplo.
Cuando crees esta conexión con Terraform, debes definir las siguientes variables en el archivo de configuración de Terraform:
Nombre del parámetro | Tipo de datos | Obligatorio | Descripción |
---|---|---|---|
remote_path | STRING | Falso | La ruta actual en el servidor SFTP. |
Esquema JSON de la carga útil
Todos los objetos de entidad de una conexión SFTP tienen un esquema JSON predefinido. Los objetos de entidad de una conexión SFTP usan el siguiente esquema JSON:
{ "type": "object", "properties": { "FilePath": { "type": "string", "readOnly": false }, "Filename": { "type": [ "string", "null" ], "readOnly": false, "description": "The name of the file or directory." }, "FileSize": { "type": [ "number", "null" ], "readOnly": false, "description": "The size of the file." }, "LastModified": { "type": [ "string", "null" ], "readOnly": false }, "IsDirectory": { "type": [ "boolean", "null" ], "readOnly": false }, "Permissions": { "type": [ "string", "null" ], "readOnly": false }, "Owner": { "type": [ "string", "null" ], "readOnly": false }, "OwnerId": { "type": [ "string", "null" ], "readOnly": false }, "Group": { "type": [ "string", "null" ], "readOnly": false }, "GroupId": { "type": [ "string", "null" ], "readOnly": false } } }
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.