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 le seguenti attività:

  • Nel tuo progetto Google Cloud:
    • Concedi il ruolo IAM roles/connectors.admin all'utente. configurazione del 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 una persona non umana utente che deve autenticarsi e avere l'autorizzazione ad accedere ai dati nelle API di Google. Se non hai un account di servizio, devi crearne uno. Per maggiori informazioni le informazioni, vedi Creazione di un account di servizio.

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

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

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

Configura il connettore

Per configurare il connettore è necessario creare una connessione al tuo origine dati (sistema di backend). Una connessione è specifica per un'origine dati. it significa che se hai molte origini dati, devi creare una connessione separata per ogni origine dati. Per creare una connessione:

  1. Nella console Cloud, vai a Connettori di integrazione > Pagina Connessioni e poi selezionare o creare 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 aree geografiche supportate, consulta la sezione Località.

    2. Fai clic su Avanti.
  4. Nella sezione Dettagli connessione, completa i seguenti passaggi:
      .
    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 contenere più di 63 caratteri.
    4. Facoltativamente, 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, per elaborare meno transazioni. Per comprendere in che modo i nodi influiscono sui prezzi dei connettori, consulta Prezzi per i 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 file: specifica il livello di profondità delle cartelle su cui vuoi eseguire una query dalla tabella radice.
    8. Passiva: consente di stabilire se indirizzare il server in modalità passiva. Opzione consigliata se dietro 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à 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. Facoltativamente, fai clic su + Aggiungi etichetta per aggiungere un'etichetta alla connessione sotto forma di coppia chiave/valore.
    14. Fai clic su 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.
      • Seleziona Indirizzo host dall'elenco per specificare il nome host o l'indirizzo IP della destinazione.
      • Se vuoi stabilire una connessione privata ai tuoi sistemi di backend, seleziona Collegamento endpoint dall'elenco, quindi seleziona il collegamento dell'endpoint richiesto. dall'elenco Allegato endpoint.

      Se vuoi stabilire una connessione pubblica ai tuoi sistemi di backend con maggiore sicurezza, puoi valuta la possibilità di configurare una rete statico in uscita indirizzi IP per le tue connessioni, quindi configura le regole del firewall per inserire nella lista consentita solo gli indirizzi IP statici specifici.

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

    2. Fai clic su 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, consulta l'articolo Configurare l'autenticazione.

    3. Fai clic su Avanti.
  7. Verifica: controlla i dettagli della connessione e dell'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 l'applicazione connessa. Puoi accedere agli oggetti di un'applicazione solo tramite questa astrazione. L'astrazione ti viene esposta sotto forma di entità, operazioni e azioni.

  • Entità: un'entità può essere considerata un oggetto o un insieme di proprietà nel un'applicazione o un servizio connesso. La definizione di un'entità differisce da connettore di rete. Ad esempio, in un connettore di database, le tabelle sono le entità, connettore file server, le cartelle sono le entità e, in un connettore del sistema di messaggistica, le code sono le entità.

    Tuttavia, è possibile che un connettore non supporti o non disponga di entità. In questo caso, L'elenco Entities sarà vuoto.

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

    Selezionando un'entità dall'elenco disponibile, viene generato un elenco di le operazioni disponibili per l'entità. Per una descrizione dettagliata delle operazioni, consulta operazioni relative a entità. Tuttavia, se un connettore non supporta nessuna delle operazioni relative alle entità, ad esempio operazioni 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à variano da connettore a connettore. Normalmente, un'azione ha alcuni parametri di input e un output . Tuttavia, è possibile che un connettore non supporta alcuna azione, nel qual caso l'elenco Actions sarà vuoto.

Limitazioni di sistema

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

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

Azioni

Questa sezione elenca alcune delle azioni supportate dal connettore. Per capire come configurare azioni, consulta la sezione Esempi di azioni.

Azione di caricamento

La seguente tabella 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 Contenuti in byte (come stringa Base64) da caricare come file. Utilizzalo per caricare i 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 gli esempi.

Azione di download

La seguente tabella 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 in byte. Il valore predefinito è false.

Per esempi su come configurare l'azione Download, consulta gli esempi.

Azione MoveFile

La seguente tabella 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 gli esempi.

Azione RinominaFile

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

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

Per esempi su come configurare l'azione RenameFile, consulta gli esempi.

Esempi

Questa sezione descrive come eseguire alcune delle operazioni relative alle entità e delle azioni 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
  • Scaricare un file di testo ASCII
  • Scaricare un file binario

La tabella seguente elenca 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 e poi 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 e fai clic su Fine.
  4. Imposta la clausola di filtro. Per impostare la clausola, nella sezione Input attività dell'attività Connettori, fai clic su filterClause. e inserisci FilePath LIKE '/tmp/%.csv' nel campo 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 e fai clic su Fine.
  3. Nella sezione Input attività dell'attività Connettori, fai clic su connectorInputPayload, quindi inserisci un valore simile al seguente nella Campo Default Value:
    {
    "RemoteFile": "/tmp/dir_A/hello_world.txt",
    "DestinationPath": "/dir_B/dir_C/"
    }

In questo esempio, l'elemento /tmp/dir_A/hello_world.txt viene spostato il file nella directory /dir_B/dir_C/. L'esecuzione di questo esempio restituisce uno smiliar di risposta a quanto segue nella variabile di output connectorOutputPayload dell'attività del 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 e fai clic su Fine.
  3. Nella sezione Input attività dell'attività Connettori, fai clic su connectorInputPayload, quindi inserisci un valore simile al seguente nella Campo Default Value:
    {
    "RemoteFile": "/tmp/hello_world.txt",
    "NewFilename": "hello_world_new.txt"
    }

In questo esempio, l'elemento hello_world.txt viene rinominato in hello_world_new.txt. L'esecuzione di questo esempio restituisce uno smiliar di risposta a quanto segue nella variabile di output connectorOutputPayload dell'attività del 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 in cui si trova il file da spostare.
  3. Seleziona l'operazione Delete e fai clic su Fine.
  4. Imposta l'ID entità sul percorso completo del file. Per impostare l'ID entità, in Input attività dell'attività Connettori, fai clic su entityId e inserisci /tmp/myfile.csv nel campo Valore predefinito.

    In alternativa, invece di specificare entityId, puoi anche impostare filterClause a 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 e fai clic su Fine.
  3. Nella sezione Input attività dell'attività Connettori, fai clic su connectorInputPayload, quindi 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! nel server FTP Directory /tmp. 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, è false.

Carica un file binario put image_1.png /tmp/image_1.png Per caricare un contenuto binario, devi prima codificarlo nel formato Base64. Puoi scegliere uno strumento a tua scelta codificare i contenuti. I passaggi per la codifica dei contenuti l'ambito di applicazione del presente documento. Una volta che i contenuti sono una stringa Base64, segui questi passaggi:
  1. Nella finestra di dialogo Configure connector task, fai clic su Actions.
  2. Seleziona l'azione Upload e fai clic su Fine.
  3. Nella sezione Input attività dell'attività Connettori, fai clic su connectorInputPayload, quindi inserisci quanto segue nel Campo Default Value:
    {
      "ContentBytes": "SGVsbG8gd29ybGQ=",
      "RemoteFile": "/tmp/image_1.png",
      "Overwrite": true,
      "HasBytes": true
    }
  4. In questo esempio viene creato il file image_1.png con i contenuti come specificato nel campo ContentBytes. Il file viene creato nella piattaforma Directory /tmp. 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 è false.

Scaricare 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 e fai clic su Fine.
  3. Nella sezione Output attività dell'attività Connettori, fai clic su connectorInputPayload, quindi 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à del 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 e fai clic su Fine.
  3. Nella sezione Output attività dell'attività Connettori, fai clic su connectorInputPayload, quindi inserisci quanto segue nel Campo Default Value:
    {
    "RemoteFile": "/tmp/myfile.png",
    "HasBytes" : true
    }

Il contenuto del file scaricato è disponibile come stringa codificata Base64. nel campo ContentBytes del parametro di risposta connectorOutputPayload dell'attività del connettore.

Schema JSON per payload

Tutti gli oggetti entità in una connessione FTP hanno uno schema JSON predefinito. Avere una buona comprensione dello schema, puoi configurare facilmente i valori dei payload di input o output. Gli oggetti entità una connessione FTP utilizza 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 della clausola di filtro

Per le operazioni di elenco, aggiornamento ed eliminazione, puoi impostare il valore dell'input difilterClasue in modo dinamico in fase di runtime, utilizzando Mappatura dei dati nell'integrazione. Ad esempio, potresti inviare il valore della clausola di filtro quando richiami il trigger API nella tua integrazione. L'immagine seguente mostra un mapping di esempio per la variabile filterClause nell'editor di mappatura dei dati della Attività di mappatura dei dati: imposta la clausola di filtro nell'editor di mappatura dei dati

Utilizzare Terraform per creare connessioni

Puoi utilizzare il comando Terraform risorsa 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 di connessioni, vedi il modello di esempio.

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

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

Utilizzare la connessione FTP in un'integrazione

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

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

Ricevi assistenza dalla community Google Cloud

Puoi pubblicare le tue domande e discutere di questo connettore in Google Cloud community presso i forum Cloud.

Passaggi successivi