FTP

Il connettore FTP ti consente di connetterti a un server FTP ed eseguire operazioni di trasferimento di file.

Prima di iniziare

Prima di utilizzare il connettore FTP, esegui queste operazioni:

  • Nel tuo progetto Google Cloud:
    • Concedi il ruolo IAM roles/connectors.admin all'utente che configura il connettore.
    • Concedi i seguenti ruoli IAM all'account di servizio che vuoi utilizzare per il connettore:
      • roles/secretmanager.viewer
      • roles/secretmanager.secretAccessor

      Un account di servizio è un tipo speciale di Account Google destinato a rappresentare un utente "non umano" che deve autenticarsi ed essere autorizzato ad accedere ai dati nelle API di Google. Se non hai un account di servizio, devi crearne uno. Per saperne di più, consulta la pagina sulla creazione di un account di servizio.

    • Abilita i seguenti servizi:
      • secretmanager.googleapis.com (API Secret Manager)
      • connectors.googleapis.com (API Connectors)

      Per informazioni su come abilitare i servizi, vedi Abilitazione dei servizi.

    Se questi servizi o queste autorizzazioni non sono stati abilitati per il tuo progetto in precedenza, ti verrà chiesto di abilitarli durante la configurazione del connettore.

Configura il connettore

Per configurare il connettore è necessario creare una connessione all'origine dati (sistema di backend). Una connessione è specifica per un'origine dati. Ciò significa che se disponi di molte origini dati, devi creare una connessione separata per ciascuna. Per creare una connessione, segui questi passaggi:

  1. Nella console Cloud, vai alla pagina Connettori di integrazione > Connessioni, quindi seleziona o crea un progetto Google Cloud.

    Vai alla pagina Connessioni

  2. Fai clic su + Crea nuova per aprire la pagina Crea connessione.
  3. Nella sezione Posizione, scegli la località per la connessione.
    1. Regione: seleziona una località dall'elenco a discesa.

      Per l'elenco di tutte le regioni supportate, vedi Località.

    2. Tocca Avanti.
  4. Nella sezione Dettagli connessione, completa quanto segue:
    1. Connettore: seleziona FTP dall'elenco a discesa dei connettori disponibili.
    2. Versione connettore: seleziona la versione del connettore dall'elenco a discesa delle versioni disponibili.
    3. Nel campo Nome connessione, inserisci un nome per l'istanza di connessione.

      I nomi delle connessioni devono soddisfare i seguenti criteri:

      • I nomi delle connessioni possono contenere lettere, numeri o trattini.
      • Le lettere devono essere minuscole.
      • I nomi delle connessioni devono iniziare con una lettera e terminare con una lettera o un numero.
      • I nomi delle connessioni non possono superare i 63 caratteri.
    4. (Facoltativo) Inserisci una descrizione per l'istanza di connessione.
    5. Account di servizio: seleziona un account di servizio con i ruoli richiesti.
    6. Facoltativamente, configura le impostazioni del nodo di connessione:

      • Numero minimo di nodi: inserisci il numero minimo di nodi di connessione.
      • Numero massimo di nodi: inserisci il numero massimo di nodi di connessione.

      Un nodo è un'unità (o una replica) di una connessione che elabora le transazioni. Sono necessari più nodi per elaborare più transazioni per una connessione e, al contrario, sono necessari meno nodi per elaborare un numero minore di transazioni. Per capire in che modo i nodi influiscono sui prezzi del connettore, consulta Prezzi dei nodi di connessione. Se non inserisci alcun valore, per impostazione predefinita il numero minimo di nodi è impostato su 2 (per una migliore disponibilità) e il numero massimo di nodi è impostato su 50.

    7. Profondità di recupero dei file: specifica il livello di profondità delle cartelle su cui vuoi eseguire una query dalla tabella radice.
    8. Passive: consente di stabilire se indirizzare il server in modalità passiva. Opzione consigliata se è protetta da un firewall.
    9. Remote Path (Percorso remoto): il percorso corrente nel server FTP.
    10. Modalità SSL: il meccanismo di autenticazione da utilizzare per la connessione al server FTP.
    11. Profondità della tabella: il livello di profondità per visualizzare le sottocartelle come visualizzazioni.
    12. Utilizza MLSD: utilizza le schede per l'elaborazione automatica. Utilizzato solo per i server FTP.
    13. (Facoltativo) Fai clic su + Aggiungi etichetta per aggiungere un'etichetta alla connessione sotto forma di coppia chiave-valore.
    14. Tocca Avanti.
  5. Nella sezione Destinazioni, inserisci i dettagli dell'host remoto (sistema di backend) a cui vuoi connetterti.
    1. Tipo di destinazione: seleziona un Tipo di destinazione.
      1. Nel campo Indirizzo host, specifica il nome host o l'indirizzo IP della destinazione.
        1. Se vuoi stabilire una connessione privata ai sistemi di backend, segui questi passaggi:
          1. Crea un collegamento al servizio PSC.
          2. Crea un collegamento endpoint e inserisci i relativi dettagli nel campo Indirizzo host.
        2. Se vuoi stabilire una connessione pubblica ai tuoi sistemi di backend con maggiore sicurezza, puoi configurare indirizzi IP statici in uscita per le tue connessioni, quindi configurare le regole firewall in modo da inserire nella lista consentita solo indirizzi IP statici specifici.

      Per inserire altre destinazioni, fai clic su +Aggiungi destinazione.

    2. Tocca Avanti.
  6. Nella sezione Autenticazione, inserisci i dettagli di autenticazione.
    1. Seleziona un Tipo di autenticazione e inserisci i dettagli pertinenti.

      La connessione FTP supporta i seguenti tipi di autenticazione:

      • Nome utente e password
    2. Per informazioni su come configurare questi tipi di autenticazione, vedi Configurare l'autenticazione.

    3. Tocca Avanti.
  7. Verifica: controlla i dettagli di connessione e autenticazione.
  8. Fai clic su Crea.

Configura l'autenticazione

Inserisci i dettagli in base all'autenticazione che vuoi utilizzare.

  • Nome utente e password
    • Nome utente. Il nome utente FTP da utilizzare per la connessione.
    • Password: il secret di Secret Manager contenente la password associata al nome utente FTP.

Entità, operazioni e azioni

Tutti i connettori di integrazione forniscono un livello di astrazione per gli oggetti dell'applicazione connessa. Puoi accedere agli oggetti di un'applicazione solo tramite questa astrazione. L'astrazione è esposta come entità, operazioni e azioni.

  • Entità: un'entità può essere considerata come un oggetto o una raccolta di proprietà nell'applicazione o nel servizio collegato. La definizione di un'entità è diversa da un connettore a un connettore. Ad esempio, in un connettore di database, le tabelle sono le entità, in un connettore di file server, le cartelle sono le entità e in un connettore di sistema di messaggistica le code sono le entità.

    Tuttavia, è possibile che un connettore non supporti o non abbia entità, nel qual caso l'elenco Entities sarà vuoto.

  • Operazione : un'operazione è l'attività che puoi eseguire su un'entità. Su un'entità puoi eseguire una qualsiasi delle seguenti operazioni:

    Se selezioni un'entità dall'elenco disponibile, viene generato un elenco di operazioni disponibili per l'entità. Per una descrizione dettagliata delle operazioni, consulta le operazioni delle entità dell'attività Connettori. Tuttavia, se un connettore non supporta nessuna delle operazioni delle entità, queste operazioni non supportate non sono elencate nell'elenco Operations.

  • Azione: un'azione è una funzione di prima classe resa disponibile per l'integrazione attraverso l'interfaccia del connettore. Un'azione consente di apportare modifiche a una o più entità e di variare da connettore a connettore. Tuttavia, è possibile che un connettore non supporti alcuna azione, nel qual caso l'elenco Actions sarà vuoto.

Limitazioni di sistema

Il connettore FTP può elaborare 1 transazione al secondo per nodo e limitare qualsiasi transazione oltre questo limite. Per impostazione predefinita, Integration Connectors alloca 2 nodi (per una migliore disponibilità) per una connessione.

Per informazioni sui limiti applicabili a Integration Connectors, consulta Limiti.

Azioni

In questa sezione sono elencate alcune delle azioni supportate dal connettore. Per capire come configurare le azioni, consulta gli esempi di azioni.

Azione di caricamento

La tabella seguente descrive i parametri di input dell'azione Upload.

Nome parametro Tipo di dati Obbligatorio Descrizione
Contenuti Stringa No Contenuti da caricare come file.
ContentBytes Stringa No Byte di contenuti (come stringa Base64) da caricare come file. Utilizzalo per caricare dati binari.
HasBytes Booleano No Specifica se i contenuti devono essere caricati come byte. Il valore predefinito è false.
RemoteFile Stringa Il nome del file sull'host remoto.
Sovrascrivi Booleano No Specifica se il file remoto deve essere sovrascritto. Il valore predefinito è false.

Per esempi su come configurare l'azione Upload, consulta la sezione Esempi.

Azione di download

La tabella seguente descrive i parametri di input dell'azione Download.

Nome parametro Tipo di dati Obbligatorio Descrizione
RemoteFile Stringa Il nome del file sull'host remoto.
HasBytes Booleano No Specifica se i contenuti devono essere scaricati come byte. Il valore predefinito è false.

Per esempi su come configurare l'azione Download, consulta la sezione Esempi.

Azione MoveFile

La tabella seguente descrive i parametri di input dell'azione MoveFile.

Nome parametro Tipo di dati Obbligatorio Descrizione
RemoteFile Stringa Il percorso del file remoto da spostare.
DestinationPath Stringa Il nuovo percorso in cui vuoi spostare il file.

Per esempi su come configurare l'azione MoveFile, consulta la sezione Esempi.

Azione RinominaFile

La tabella seguente descrive i parametri di input dell'azione RenameFile.

Nome parametro Tipo di dati Obbligatorio Descrizione
RemoteFile Stringa Percorso e nome file remoti da rinominare.
NewFileName Stringa Nuovo nome del file remoto.

Per esempi su come configurare l'azione RenameFile, consulta la sezione Esempi.

Esempi

Questa sezione descrive come eseguire alcune operazioni e azioni delle entità in questo connettore. Gli esempi descrivono le seguenti operazioni:

  • Elenca tutti i file nella directory principale
  • Elenca i file che corrispondono a un pattern in una directory
  • Spostare un file
  • Rinominare un file
  • Eliminazione di un file
  • Carica un file di testo ASCII
  • Carica un file binario
  • Scarica un file di testo ASCII
  • Scaricare un file binario

Nella tabella seguente sono elencati gli scenari di esempio e la configurazione corrispondente nell'attività Connettori:

Attività Comando di esempio Configurazione
Elenca tutti i file nella directory principale ls /
  1. Nella finestra di dialogo Configure connector task, fai clic su Entities.
  2. Seleziona l'entità Root, quindi l'operazione List.
  3. Fai clic su Fine.
Elenca .csv file in una directory ls /tmp/*.csv
  1. Nella finestra di dialogo Configure connector task, fai clic su Entities.
  2. Seleziona la directory di base (/tmp) dall'elenco Entity.
  3. Seleziona l'operazione List, quindi fai clic su Fine.
  4. Imposta la clausola di filtro. Per impostare la clausola, nella sezione Task Input dell'attività Connectors (Connettori), fai clic su filterClause e inserisci FilePath LIKE '/tmp/%.csv' nel campo Default Value (Valore predefinito).
Spostare un file mv /tmp/dir_A/hello_world.txt /dir_B/dir_C/
  1. Nella finestra di dialogo Configure connector task, fai clic su Actions.
  2. Seleziona l'azione MoveFile, quindi fai clic su Fine.
  3. Nella sezione Input attività dell'attività Connettori, fai clic su connectorInputPayload e inserisci un valore simile al seguente nel campo Default Value:
    
    {
    "RemoteFile": "/tmp/dir_A/hello_world.txt",
    "DestinationPath": "/dir_B/dir_C/"
    }

In questo esempio il file /tmp/dir_A/hello_world.txt viene spostato nella directory /dir_B/dir_C/. L'esecuzione di questo esempio restituisce una risposta simile a quella riportata di seguito nella variabile di output connectorOutputPayload dell'attività Connettore:


[{
"Success":"true"
}]
Rinominare un file mv /tmp/hello_world.txt /tmp/hello_world_new.txt
  1. Nella finestra di dialogo Configure connector task, fai clic su Actions.
  2. Seleziona l'azione RenameFile, quindi fai clic su Fine.
  3. Nella sezione Input attività dell'attività Connettori, fai clic su connectorInputPayload e inserisci un valore simile al seguente nel campo Default Value:
    
    {
    "RemoteFile": "/tmp/hello_world.txt",
    "NewFilename": "hello_world_new.txt"
    }

Questo esempio rinomina il file hello_world.txt in hello_world_new.txt. L'esecuzione di questo esempio restituisce una risposta simile a quella riportata di seguito nella variabile di output connectorOutputPayload dell'attività Connettore:


[{
"Success":"true"
}]
Eliminazione di un file rm /tmp/myfile.csv
  1. Nella finestra di dialogo Configure connector task, fai clic su Entities.
  2. Dall'elenco Entity, seleziona la directory di base con il file da spostare.
  3. Seleziona l'operazione Delete, quindi fai clic su Fine.
  4. Imposta l'ID entità sul percorso completo del file. Per impostare l'ID entità, nella sezione Task Input dell'attività Connectors, fai clic su entityId, quindi inserisci /tmp/myfile.csv nel campo Default Value (Valore predefinito).

    In alternativa, anziché specificare entityId, puoi anche impostare filterClause su FilePath LIKE '/tmp/myfile.csv'.

Carica un file di testo ASCII put file_1.txt /tmp/file_1.txt
  1. Nella finestra di dialogo Configure connector task, fai clic su Actions.
  2. Seleziona l'azione Upload, quindi fai clic su Fine.
  3. Nella sezione Input attività dell'attività Connettori, fai clic su connectorInputPayload e inserisci quanto segue nel campo Default Value:
    
    {
      "Content": "This is a sample text!\r\n",
      "RemoteFile": "/tmp/file_1.txt",
      "Overwrite": true
    }
  4. Questo esempio crea il file file_1.txt con i contenuti This is a sample text! nella directory /tmp del server FTP. Inoltre, qualsiasi file esistente con lo stesso nome viene sovrascritto perché il valore dell'attributo Overwrite è true.

    L'impostazione dell'attributo Overwrite è facoltativa; per impostazione predefinita, il valore è false.

Carica un file binario put image_1.png /tmp/image_1.png Per caricare un contenuto binario, devi prima codificare il contenuto nel formato Base64. Puoi scegliere uno strumento di tua scelta per codificare i contenuti. I passaggi per la codifica dei contenuti non rientrano nell'ambito di questo documento. Dopo aver ottenuto il contenuto come stringa Base64, segui questi passaggi:
  1. Nella finestra di dialogo Configure connector task, fai clic su Actions.
  2. Seleziona l'azione Upload, quindi fai clic su Fine.
  3. Nella sezione Input attività dell'attività Connettori, fai clic su connectorInputPayload e inserisci quanto segue nel campo Default Value:
    
    {
      "ContentBytes": "SGVsbG8gd29ybGQ=",
      "RemoteFile": "/tmp/image_1.png",
      "Overwrite": true,
      "HasBytes": true
    }
  4. Questo esempio crea il file image_1.png con i contenuti specificati nel campo ContentBytes. Il file viene creato nella directory /tmp del server FTP. Inoltre, qualsiasi file esistente con lo stesso nome viene sovrascritto perché il valore dell'attributo Overwrite è true.

    L'impostazione dell'attributo Overwrite è facoltativa; per impostazione predefinita, il valore è false.

Scarica un file di testo ASCII get /tmp/myfile.txt
  1. Nella finestra di dialogo Configure connector task, fai clic su Actions.
  2. Seleziona l'azione Download, quindi fai clic su Fine.
  3. Nella sezione Output attività dell'attività Connettori, fai clic su connectorInputPayload e inserisci quanto segue nel campo Default Value:
    
    {
    "RemoteFile": "/tmp/myfile.txt"
    }

I contenuti del file scaricato sono disponibili come stringa nel campo Content del parametro di risposta connectorOutputPayload dell'attività Connettore.

Scaricare un file binario get /tmp/myfile.png
  1. Nella finestra di dialogo Configure connector task, fai clic su Actions.
  2. Seleziona l'azione Download, quindi fai clic su Fine.
  3. Nella sezione Output attività dell'attività Connettori, fai clic su connectorInputPayload e inserisci quanto segue nel campo Default Value:
    
    {
    "RemoteFile": "/tmp/myfile.png",
    "HasBytes" : true
    }

I contenuti del file scaricato sono disponibili come stringa codificata in Base64 nel campo ContentBytes del parametro di risposta connectorOutputPayload dell'attività Connettore.

Schema JSON per il payload

Tutti gli oggetti entità in una connessione FTP hanno uno schema JSON predefinito. Una buona comprensione dello schema consente di configurare facilmente i valori del payload di input o di output. Gli oggetti di entità in una connessione FTP utilizzano il seguente schema 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
      }
    }
  }

Configurazione dinamica di SafeSearch

Per le operazioni Elenco, Aggiornamento ed Eliminazione, puoi impostare il valore della variabile di input di filterClasue in modo dinamico in fase di runtime utilizzando l'attività Mappatura dei dati nell'integrazione. Ad esempio, potresti voler inviare il valore della clausola di filtro quando richiami il trigger API nell'integrazione. L'immagine seguente mostra una mappatura di esempio per la variabile filterClause nell'editor di mappatura dei dati dell'attività di mappatura dei dati: imposta la clausola di filtro nell'editor di mappatura dei dati

Utilizzare Terraform per creare connessioni

Puoi utilizzare la risorsa Terraform per creare una nuova connessione.

Per scoprire come applicare o rimuovere una configurazione Terraform, consulta Comandi Terraform di base.

Per visualizzare un modello Terraform di esempio per la creazione delle connessioni, guarda il modello di esempio.

Quando crei questa connessione utilizzando Terraform, devi impostare le seguenti variabili nel file di configurazione Terraform:

Nome parametro Tipo di dati Obbligatorio Descrizione
file_retrieval_depth STRING False Specifica il livello di profondità delle cartelle su cui vuoi eseguire una query dalla tabella radice.
passivo BOOLEANO False Consente di stabilire se indirizzare il server in modalità passiva. Opzione consigliata se è protetta da un firewall.
remote_path STRING False Il percorso corrente nel server FTP.
table_depth INTEGER False Il livello di profondità per visualizzare le sottocartelle come visualizzazioni.
use_mlsd BOOLEANO False Utilizza le schede per l'elaborazione automatica. Utilizzato solo per i server FTP.

Utilizza la connessione FTP in un'integrazione

Dopo aver creato la connessione, diventa disponibile sia in Apigee Integration che in Application Integration. Puoi usare la connessione in un'integrazione tramite l'attività Connettori.

  • Per capire come creare e utilizzare l'attività Connettori in Apigee Integration, consulta Attività Connettori.
  • Per capire come creare e utilizzare l'attività Connettori in Application Integration, consulta Attività Connettori.

Ricevi assistenza dalla community Google Cloud

Puoi pubblicare le tue domande e discutere di questo connettore nella community Google Cloud sui forum Cloud.

Passaggi successivi