Almacenamiento y Transferencia de Archivos

Azure Storage Blob Service

  • Descripción: el componente Azure Storage Blob Service almacena y recupera blobs (objeto binario grande) del servicio Azure Storage Blob utilizando las APIs de Azure v12.

  • Ejemplo

    • El flujo comienza con una solicitud POST al endpoint /hello.

    • El componente azure-storage-blob se utiliza para conectarse al contenedor myblobcontainer en la cuenta camelstorageaccount01.

    • Parámetros:

      • credentialType: "SHARED_ACCOUNT_KEY": especifica que la autenticación usará la clave de cuenta compartida.

      • operation: "listBlobs": define que la operación realizada será listar los blobs presentes en el contenedor.

      • accessKey: "{{AWS_ACCESS_KEY}}": especifica la clave de acceso para autenticación, referenciada en una variable.

    • Después de listar los blobs, el flujo registra información en el log con el identificador myLogger.

Script

Diagrama

- from:
    uri: "rest:post:/hello"
    steps:
    - to:
        uri: "azure-storage-blob://camelstorageaccount01/myblobcontainer"
        parameters:
          credentialType: "SHARED_ACCOUNT_KEY"
          operation: "listBlobs"
          accessKey: "{{AWS_ACCESS_KEY}}"
    - to:
        uri: "log:myLogger"
component azure storage blob service

AWS S3 Storage Service

  • Descripción: el componente AWS S3 Storage Service permite que interactúe con el servicio Amazon S3 (Simple Storage Service) de AWS y maneje datos en buckets S3 directamente a través de las rutas de integración.

  • Ejemplo

    • El flujo comienza con una solicitud GET al endpoint /file/retrieve.

    • El conector recupera un archivo del bucket S3.

      • uri: Define el bucket (nombre o ARN).

      • Los parámetros incluyen:

        • fileName: define la ruta del archivo en el bucket (por ejemplo, path/to/myfile.txt).

        • accessKey y secretKey: son credenciales de autenticación para acceder al bucket, referenciadas como variables de entorno.

    • Después de que el archivo se recupere con éxito, el contenido del archivo se registra en el log.

Script

Diagrama

- from:
    uri: "rest:get:/file/retrieve"
    steps:
      - to:
          uri: "aws2-s3:bucketNameOrArn"
          parameters:
            fileName: "path/to/myfile.txt"
            accessKey: "{{ACCESS_KEY}}"
            secretKey: "{{SECRET_KEY}}"
      - log:
          message: "File retrieved successfully: ${body}"
component aws3 connector

FTP/FTPS

  • Descripción: el componente FTP proporciona acceso a sistemas de archivos remotos a través de los protocolos FTP y SFTP. Funcionamiento solo en modo pasivo.

El FTPS es una versión segura de FTP, que agrega soporte para SSL/TLS para cifrar la conexión.
  • Ejemplo

    • El flujo comienza con la descarga de un archivo desde un servidor FTP. El servidor se especifica mediante la variable ftp_host.

    • Transforma el contenido del archivo reemplazando los caracteres acentuados 'ã', 'â', 'á', 'à' y 'ä' por 'a'.

    • Luego, realiza la carga del archivo modificado en el mismo o en otro directorio en el servidor FTP.

Script

Diagrama

- from:
    id: ftp-input
    uri: "ftp:{{ftp_host}}/download"
    parameters:
      fileName: "{{ftp_filename_extension_input}}"
      password: "{{ftp_password}}"
      username: "{{ftp_username}}"
      delay: 10000
      passiveMode: true
    steps:
      - transform:
          simple: ${bodyAs(String).replaceAll('[ãâáàä]', 'a')}
      - to:
          id: ftp-output
          uri: "ftp:{{ftp_host}}/upload"
          parameters:
            fileName: "{{ftp_filename_extension_output}}"
            password: "{{ftp_password}}"
            username: "{{ftp_username}}"
            passiveMode: true
component ftp connector

Google Storage

  • Descripción: el componente Google Storage permite la integración con el servicio Google Cloud Storage, facilitando el almacenamiento y la recuperación de objetos en buckets de Google Cloud. Como conector, puede configurarse para realizar upload de archivos, listar objetos y eliminar elementos de buckets. La integración ofrece soporte para el envío de diferentes tipos de archivos, además de permitir la personalización de encabezados, control de sobrescritura y manejo de errores.

  • Ejemplo

    • El flujo recibe una solicitud GET.

    • Se conecta a Google Cloud Storage usando las credenciales de la cuenta de servicio y elimina el objeto especificado en el bucket.

    • Luego, registra en el log que el objeto fue eliminado.

Script

Diagrama

- from:
    uri: rest:get:/simple
    steps:
      - to:
          uri: google-storage:my bucket
          parameters:
            serviceAccountKey: my account key
            objectName: object name
            operation: deleteObject
      - log:
          message: object deleted
component google storage

SFTP

  • Descripción: el componente SFTP proporciona acceso a sistemas de archivos remotos a través de los protocolos FTP y SFTP. Funciona solo en modo pasivo.

  • Ejemplo

    • El flujo del ejemplo está configurado para ser activado por un programador Quartz, que se dispara cada minuto.

    • Cuando se activa el gatillo, el cuerpo del mensaje se define como Hello World.

    • El flujo luego envía este mensaje como un archivo llamado helloworld.txt a un servidor SFTP en la dirección demo.wftpserver.com, en el puerto 2222, en el directorio /upload.

Script

Diagrama

- from:
    uri: "quartz://ipaas/trigger"
    parameters:
      cron: "* * * * *"
    steps:
    - setBody:
        constant: "Hello World"
    - to:
        uri: "sftp://demo.wftpserver.com:2222/upload"
        parameters:
          username: "demo"
          password: "demo"
          fileName: "helloworld.txt"
          passiveMode: true
component sftp
Thanks for your feedback!
EDIT

Share your suggestions with us!
Click here and then [+ Submit idea]