Connettersi a un server FTP dai flussi di lavoro in App per la logica di Azure
Si applica a: App per la logica di Azure (a consumo e standard)
Questo articolo illustra come accedere al server FTP (File Transfer Protocol) da un flusso di lavoro in App per la logica di Azure con il connettore FTP. È quindi possibile creare flussi di lavoro automatizzati eseguiti quando vengono attivati da eventi nel server FTP o in altri sistemi ed eseguire azioni per gestire i file nel server FTP.
Ad esempio, il flusso di lavoro può iniziare con un trigger FTP che monitora e risponde agli eventi nel server FTP. Il trigger rende gli output disponibili per le azioni successive nel flusso di lavoro. Il flusso di lavoro può eseguire azioni FTP che creano, inviano, ricevono e gestiscono file tramite l'account del server FTP usando le attività specifiche seguenti:
- Monitorare quando i file vengono aggiunti o modificati.
- Creare, copiare, eliminare, elencare e aggiornare i file.
- Ottenere i metadati e il contenuto dei file.
- Gestire le cartelle.
Se non si ha familiarità con App per la logica di Azure, vedere la documentazione introduttiva seguente:
- Informazioni su App per la logica di Azure
- Avvio rapido: Creare un flusso di lavoro dell'app per la logica di consumo di esempio
Informazioni tecniche sul connettore
Il connettore FTP ha versioni diverse, in base al tipo di app per la logica e all'ambiente host.
Tipo di app per la logica (piano) | Ambiente | Versione del connettore |
---|---|---|
Consumo | App per la logica di Azure multi-tenant | Connettore gestito, visualizzato nella raccolta di connettori in Runtime>Condiviso. Per altre informazioni, vedere la documentazione seguente: - Informazioni di riferimento sul connettore gestito FTP - Connettori gestiti in App per la logica di Azure |
Standard | App per la logica di Azure a tenant singolo e ambiente del servizio app v3 (solo piani di Windows) | Connettore gestito (ospitato da Azure) visualizzato nella raccolta di connettori in Runtime>Condiviso e connettore predefinito visualizzato nella raccolta di connettori in Runtime>In app e basato sul provider di servizi. Il connettore predefinito può accedere direttamente alle reti virtuali di Azure con un stringa di connessione. Per altre informazioni, vedere la documentazione seguente: - Informazioni di riferimento sul connettore gestito FTP - Sezione relativa alle operazioni del connettore predefinite FTP più avanti in questo articolo - Connettori gestiti in App per la logica di Azure - Connettori predefiniti in App per la logica di Azure |
Limiti
Capacità e velocità effettiva
Connettore predefinito per flussi di lavoro Standard:
Per impostazione predefinita, le azioni FTP possono leggere o scrivere file di dimensioni inferiori o di 200 MB. Attualmente, il connettore predefinito FTP non supporta la suddivisione in blocchi.
Connettore gestito o ospitato in Azure per flussi di lavoro a consumo e standard
Per impostazione predefinita, le azioni FTP possono leggere o scrivere file di dimensioni inferiori o di 50 MB. Per gestire file di dimensioni superiori a 50 MB, le azioni FTP supportano la suddivisione in blocchi dei messaggi. L'azione Recupera contenuto file usa in modo implicito la suddivisione in blocchi.
I trigger per il connettore gestito FTP o ospitato in Azure potrebbero riscontrare risultati mancanti, incompleti o ritardati quando viene mantenuto il timestamp "ultima modifica". D'altra parte, il trigger del connettore predefinito FTP nei flussi di lavoro dell'app per la logica Standard non presenta questa limitazione. Per altre informazioni, vedere la sezione Limitazioni del connettore FTP.
Il connettore gestito ftp o ospitato in Azure può creare un numero limitato di connessioni al server FTP, in base alla capacità di connessione nell'area di Azure in cui è presente la risorsa dell'app per la logica. Se questo limite pone un problema in un flusso di lavoro dell'app per la logica a consumo, è consigliabile creare un flusso di lavoro dell'app per la logica Standard e usare invece il connettore predefinito FTP.
Prerequisiti
Account e sottoscrizione di Azure. Se non si ha una sottoscrizione di Azure, iscriversi per creare un account Azure gratuito.
Flusso di lavoro dell'app per la logica in cui si vuole accedere all'account FTP. Per avviare il flusso di lavoro con un trigger FTP, è necessario iniziare con un flusso di lavoro vuoto. Per usare un'azione FTP, avviare il flusso di lavoro con un altro trigger, ad esempio il trigger Ricorrenza .
Per altri requisiti applicabili sia al connettore gestito FTP che al connettore predefinito, vedere le informazioni di riferimento sul connettore gestito FTP - Requisiti.
Problemi noti
Per impostazione predefinita, i trigger che restituiscono una matrice hanno un'impostazione Dividi al già abilitata. Con questa impostazione abilitata, il trigger discute automaticamente la matrice creando internamente un'istanza del flusso di lavoro separata per elaborare ogni elemento della matrice. Tutte le istanze del flusso di lavoro vengono eseguite in parallelo in modo che gli elementi della matrice vengano elaborati contemporaneamente.
Tuttavia, quando l'impostazione Split On è abilitata, i trigger del connettore gestito restituiscono gli output per tutti gli elementi della matrice come elenchi. Tutte le azioni successive che fanno riferimento a questi output devono prima gestire questi output come elenchi. Per gestire singolarmente ogni elemento di matrice, è possibile aggiungere azioni aggiuntive. Ad esempio, per scorrere questi elementi di matrice, è possibile usare un ciclo For each . Per i trigger che restituiscono solo metadati o proprietà, usare un'azione che ottiene prima i metadati dell'elemento della matrice e quindi usare un'azione per ottenere il contenuto degli elementi.
È necessario applicare questo approccio solo per i trigger del connettore gestito , non per i trigger del connettore predefiniti che restituiscono output per un elemento di matrice alla volta quando l'impostazione Split On è abilitata.
Si supponga, ad esempio, di avere un trigger del connettore gestito denominato Quando un file viene aggiunto o modificato (solo proprietà) che restituisce i metadati o le proprietà per i file nuovi o aggiornati come matrici. Per ottenere i metadati separatamente per ogni file, è possibile usare un ciclo For each che scorre la matrice. In questo ciclo usare le azioni del connettore gestito seguenti nell'ordine specificato:
Ottenere i metadati del file per ottenere i metadati di ogni file.
Ottenere l'azione relativa al contenuto del file per ottenere il contenuto di ogni file.
Aggiungere un trigger FTP
Un flusso di lavoro dell'app per la logica a consumo può usare solo il connettore gestito FTP. Tuttavia, un flusso di lavoro dell'app per la logica Standard può usare il connettore gestito FTP e il connettore predefinito FTP. In un flusso di lavoro dell'app per la logica Standard, anche i connettori gestiti vengono etichettati come connettori di Azure .
Il connettore gestito FTP e il connettore predefinito dispongono di un solo trigger disponibile:
Trigger del connettore gestito: il trigger FTP denominato Quando un file viene aggiunto o modificato (solo proprietà) esegue un flusso di lavoro dell'app per la logica a consumo o standard quando uno o più file vengono aggiunti o modificati in una cartella nel server FTP. Questo trigger ottiene solo le proprietà o i metadati del file, non il contenuto del file. Tuttavia, per ottenere il contenuto del file, il flusso di lavoro può seguire questo trigger con altre azioni FTP.
Per altre informazioni su questo trigger, vedere Quando viene aggiunto o modificato un file (solo proprietà).
Trigger del connettore predefinito: il trigger FTP denominato Quando un file viene aggiunto o aggiornato esegue un flusso di lavoro dell'app per la logica Standard quando uno o più file vengono aggiunti o modificati in una cartella nel server FTP. Questo trigger ottiene solo le proprietà o i metadati del file, non il contenuto del file. Tuttavia, per ottenere il contenuto, il flusso di lavoro può seguire questo trigger con altre azioni FTP. Per altre informazioni su questo trigger, vedere Quando viene aggiunto o aggiornato un file.
I passaggi seguenti usano il portale di Azure, ma con l'estensione app per la logica di Azure appropriata, è anche possibile usare gli strumenti seguenti per creare e modificare flussi di lavoro delle app per la logica:
Flussi di lavoro dell'app per la logica A consumo: Visual Studio o Visual Studio Code
Creare flussi di lavoro dell'app per la logica Standard: Visual Studio Code
Nella portale di Azure aprire il flusso di lavoro dell'app per la logica vuota nella finestra di progettazione.
Nella finestra di progettazione selezionare Standard nella casella di ricerca. Nella casella di ricerca immettere ftp.
Nell'elenco dei trigger selezionare il trigger denominato Quando viene aggiunto o modificato un filed (solo proprietà).
Specificare le informazioni per la connessione. Al termine, seleziona Crea.
Nota
Per impostazione predefinita, questo connettore trasferisce i file in formato testo. Per trasferire i file in formato binario, ad esempio, dove e quando viene usata la codifica, selezionare l'opzione trasporto binario.
Dopo aver visualizzato la casella delle informazioni sul trigger, trovare la cartella da monitorare per i file nuovi o modificati.
Nella casella Cartella selezionare l'icona della cartella per visualizzare la directory della cartella.
Selezionare la freccia dell'angolo destro (>). Passare alla cartella desiderata e quindi selezionare la cartella.
La cartella selezionata viene visualizzata nella casella Cartella.
Al termine, salvare il flusso di lavoro.
Quando si salva il flusso di lavoro, questo passaggio pubblica automaticamente gli aggiornamenti nell'app per la logica distribuita, disponibile in Azure. Con solo un trigger, il flusso di lavoro controlla solo il server FTP in base alla pianificazione specificata. È necessario aggiungere un'azione che risponde al trigger ed esegue un'operazione con gli output del trigger.
Aggiungere un'azione FTP
Un flusso di lavoro dell'app per la logica a consumo può usare solo il connettore gestito FTP. Tuttavia, un flusso di lavoro dell'app per la logica Standard può usare il connettore gestito FTP e il connettore predefinito FTP. Ogni versione ha più azioni. Ad esempio, sia le versioni del connettore gestito che quelle del connettore predefinito hanno le proprie azioni per ottenere i metadati dei file e il contenuto del file.
Azioni del connettore gestito: queste azioni vengono eseguite in un flusso di lavoro dell'app per la logica a consumo o standard.
Azioni del connettore predefinite: queste azioni vengono eseguite solo in un flusso di lavoro dell'app per la logica Standard.
I passaggi seguenti usano il portale di Azure, ma con l'estensione app per la logica di Azure appropriata, è anche possibile usare gli strumenti seguenti per creare e modificare flussi di lavoro delle app per la logica:
Flussi di lavoro dell'app per la logica A consumo: Visual Studio o Visual Studio Code
Creare flussi di lavoro dell'app per la logica Standard: Visual Studio Code
Prima di poter usare un'azione FTP, il flusso di lavoro deve già iniziare con un trigger, che può essere qualsiasi tipo scelto. Ad esempio, è possibile usare il trigger predefinito Ricorrenza generica per avviare il flusso di lavoro in base a una pianificazione specifica.
Nella portale di Azure aprire il flusso di lavoro dell'app per la logica nella finestra di progettazione.
Trovare e selezionare l'azione FTP da usare.
Questo esempio continua con l'azione Get file metadata (Recupera metadati file) per ottenere i metadati per un singolo elemento di matrice.
Nella finestra di progettazione, sotto il trigger o qualsiasi altra azione, selezionare Nuovo passaggio.
Nella casella di ricerca di Scegli un'operazione selezionare Standard.
Nella casella di ricerca immettere ftp get file metadata .In the search box, enter ftp get file metadata.
Nell'elenco delle azioni selezionare l'azione get file metadata (Ottieni metadati file).
Se necessario, fornire le informazioni per la connessione. Al termine, seleziona Crea.
Nota
Per impostazione predefinita, questo connettore trasferisce i file in formato testo. Per trasferire i file in formato binario, ad esempio, dove e quando viene usata la codifica, selezionare l'opzione trasporto binario.
Dopo aver visualizzato la casella Get file metadata action information (Ottieni informazioni sui metadati del file), fare clic all'interno della casella File in modo che venga aperto l'elenco di contenuto dinamico.
È ora possibile selezionare gli output dal trigger precedente.
Nell'elenco di contenuto dinamico, in Quando un file viene aggiunto o modificato, selezionare Elenco di ID file.
La proprietà File fa ora riferimento all'output del trigger List of Files ID .The File property now references the List of Files ID trigger output.
Nella finestra di progettazione, sotto l'azione Recupera metadati file, selezionare Nuovo passaggio.
Nella casella di ricerca di Scegli un'operazione selezionare Standard.
Nella casella di ricerca immettere ftp get file content(Recupera contenuto file).
Nell'elenco delle azioni selezionare l'azione Get file content (Recupera contenuto file).
Dopo che viene visualizzata la casella Get file content action information (Ottieni informazioni sul contenuto del file), fare clic all'interno della casella File in modo che venga aperto l'elenco di contenuto dinamico.
È ora possibile selezionare gli output del trigger precedente e qualsiasi altra azione.
Nell'elenco di contenuto dinamico, in Recupera metadati file selezionare ID, che fa riferimento al file aggiunto o aggiornato.
La proprietà File fa ora riferimento all'output dell'azione ID .
Al termine, salvare il flusso di lavoro. Sulla barra degli strumenti della finestra di progettazione seleziona Salva.
Testare il flusso di lavoro
Per verificare che il flusso di lavoro restituisca il contenuto previsto, aggiungere un'altra azione che invia il contenuto dal file aggiunto o aggiornato. In questo esempio viene utilizzata l'azione di Office 365 Outlook denominata Invia un messaggio di posta elettronica.
Nell'azione Recupera contenuto file aggiungere l'azione Office 365 Outlook denominata Invia un messaggio di posta elettronica. Se invece si dispone di un account Outlook.com, aggiungere l'azione Outlook.com Invia un messaggio di posta elettronica e modificare di conseguenza i passaggi seguenti.
Nella finestra di progettazione, sotto l'azione Recupera contenuto file, selezionare Nuovo passaggio.
Nella casella di ricerca di Scegli un'operazione selezionare Standard.
Nella casella di ricerca immettere office 365 outlook invia un messaggio di posta elettronica. Nell'elenco delle azioni selezionare l'azione di Office 365 Outlook denominata Invia un messaggio di posta elettronica.
Se necessario, accedere all'account di posta elettronica.
Nella casella delle informazioni sull'azione specificare i valori necessari e includere eventuali altri parametri o proprietà da testare.
Ad esempio, è possibile includere l'output del contenuto file dall'azione Recupera contenuto file. Per trovare questo output, seguire questa procedura:
Nell'azione Recupera contenuto file fare clic all'interno della casella Corpo in modo che venga aperto l'elenco di contenuto dinamico.
Nell'elenco di contenuto dinamico, accanto a Recupera contenuto file, selezionare Visualizza altro.
Nell'elenco di contenuto dinamico, in Recupera contenuto file selezionare Contenuto file.
La proprietà Body fa ora riferimento all'output dell'azione Contenuto file.
Salvare il flusso di lavoro dell'app per la logica.
Per eseguire e attivare il flusso di lavoro, sulla barra degli strumenti della finestra di progettazione selezionare Esegui esecuzione trigger>. Aggiungere un file alla cartella FTP monitorata dal flusso di lavoro.
Operazioni predefinite del connettore FTP
Il connettore predefinito FTP è disponibile solo per i flussi di lavoro dell'app per la logica Standard e fornisce le operazioni seguenti:
Trigger | Descrizione |
---|---|
Quando un file viene aggiunto o aggiornato | Avviare un flusso di lavoro dell'app per la logica quando un file viene aggiunto o aggiornato nella cartella specificata nel server FTP. Nota: questo trigger ottiene solo i metadati o le proprietà del file, non il contenuto del file. Tuttavia, per ottenere il contenuto, il flusso di lavoro può seguire questo trigger con l'azione Recupera contenuto file. |
Azione | Descrizione |
---|---|
Crea file | Creare un file usando il percorso e il contenuto del file specificati. |
Elimina file | Eliminare un file usando il percorso del file specificato. |
Ottieni contenuto del file | Ottenere il contenuto di un file usando il percorso di file specificato. |
Ottieni metadati del file | Ottenere i metadati o le proprietà di un file usando il percorso del file specificato. |
Elencare file e sottocartelle in una cartella | Ottenere un elenco di file e sottocartelle nella cartella specificata. |
Aggiorna il file | Aggiornare un file usando il percorso e il contenuto del file specificati. |
Quando un file viene aggiunto o aggiornato
ID operazione: whenFtpFilesAreAddedOrModified
Questo trigger avvia un flusso di lavoro dell'app per la logica eseguito quando un file viene aggiunto o aggiornato nella cartella specificata nel server FTP. Il trigger ottiene solo i metadati o le proprietà del file, non il contenuto del file. Tuttavia, per ottenere il contenuto, il flusso di lavoro può seguire questo trigger con l'azione Recupera contenuto file.
Parametri
Nome | Chiave | Richiesto | Type | Descrizione |
---|---|---|---|---|
Percorso cartella | folderPath |
Vero | string |
Percorso della cartella, relativo alla directory radice. |
Numero di file da restituire | maxFileCount |
Falso | integer |
Numero massimo di file da restituire da un'esecuzione di un singolo trigger. I valori validi sono compresi tra 1 e 100. Nota: per impostazione predefinita, l'impostazione Split On è abilitata e forza questo trigger a elaborare ogni file singolarmente in parallelo. |
Timestamp cutoff per ignorare i file meno recenti | oldFileCutOffTimestamp |
Falso | dateTime |
Tempo di cutoff da usare per ignorare i file meno recenti. Usare il formato YYYY-MM-DDTHH:MM:SS timestamp . Per disabilitare questa funzionalità, lasciare vuota questa proprietà. |
Valori restituiti
Quando l'impostazione Split On del trigger è abilitata, il trigger restituisce i metadati o le proprietà per un file alla volta. In caso contrario, il trigger restituisce una matrice che contiene i metadati di ogni file.
Nome | Type |
---|---|
Elenco di file | BlobMetadata |
Crea file
ID operazione: createFile
Questa azione crea un file usando il percorso del file e il contenuto del file specificati. Se il file esiste già, questa azione sovrascrive il file.
Importante
Se si elimina o si rinomina un file nel server FTP immediatamente dopo la creazione all'interno dello stesso flusso di lavoro, l'operazione potrebbe restituire un errore HTTP 404 , ovvero in base alla progettazione. Per evitare questo problema, includere un ritardo di 1 minuto prima di eliminare o rinominare eventuali file appena creati. È possibile usare l'azione Ritardo per aggiungere questo ritardo al flusso di lavoro.
Parametri
Nome | Chiave | Richiesto | Type | Descrizione |
---|---|---|---|---|
Percorso file | filePath |
Vero | string |
Percorso del file, inclusa l'estensione del nome file, se presente, rispetto alla directory radice. |
Contenuto del file | fileContent |
Vero | string |
Contenuto del file. |
Valori restituiti
Questa azione restituisce un oggetto BlobMetadata denominato Body.
Nome | Type |
---|---|
Nome file metadati file | string |
Percorso file metadati File | string |
Dimensioni file metadati file | string |
Metadati dei file | BlobMetadata |
Elimina file
ID operazione: deleteFtpFile
Questa azione elimina un file usando il percorso del file specificato.
Parametri
Nome | Chiave | Richiesto | Type | Descrizione |
---|---|---|---|---|
Percorso file | filePath |
Vero | string |
Percorso del file, inclusa l'estensione del nome file, se presente, rispetto alla directory radice. |
Valori restituiti
None
Ottieni contenuto del file
ID operazione: getFtpFileContent
Questa azione ottiene il contenuto di un file usando il percorso del file specificato.
Parametri
Nome | Chiave | Richiesto | Type | Descrizione |
---|---|---|---|---|
Percorso file | path |
Vero | string |
Percorso del file, inclusa l'estensione del nome file, se presente, rispetto alla directory radice. |
Valori restituiti
Questa azione restituisce il contenuto di un file come valore binario denominato Contenuto file.
Nome | Type |
---|---|
Contenuto del file | Binario |
Ottieni metadati del file
ID operazione: getFileMetadata
Questa azione ottiene i metadati o le proprietà di un file usando il percorso del file specificato.
Parametri
Nome | Chiave | Richiesto | Type | Descrizione |
---|---|---|---|---|
Percorso file | path |
Vero | string |
Percorso del file, inclusa l'estensione del nome file, se presente, rispetto alla directory radice. |
Valori restituiti
Questa azione restituisce gli output seguenti:
Nome | Type |
---|---|
Nome file | string |
Percorso file | string |
Dimensioni file | string |
Ora dell'ultimo aggiornamento | string |
Metadati dei file | BlobMetadata |
Elencare file e sottocartelle in una cartella
ID operazione: listFilesInFolder
Questa azione ottiene un elenco di file e sottocartelle nella cartella specificata.
Parametri
Nome | Chiave | Richiesto | Type | Descrizione |
---|---|---|---|---|
Percorso cartella | folderPath |
Vero | string |
Percorso della cartella, relativo alla directory radice. |
Contenuto del file | fileContent |
Vero | string |
Contenuto del file |
Valori restituiti
Questa azione restituisce una matrice denominata Response e contiene oggetti BlobMetadata .
Nome | Type |
---|---|
Response | Matrice con oggetti BlobMetadata |
Aggiorna file
ID operazione: updateFile
Questa azione aggiorna un file usando il percorso e il contenuto del file specificati.
Importante
Se si elimina o si rinomina un file nel server FTP immediatamente dopo la creazione all'interno dello stesso flusso di lavoro, l'operazione potrebbe restituire un errore HTTP 404 , ovvero in base alla progettazione. Per evitare questo problema, includere un ritardo di 1 minuto prima di eliminare o rinominare eventuali file appena creati. È possibile usare l'azione Ritardo per aggiungere questo ritardo al flusso di lavoro.
Parametri
Nome | Chiave | Richiesto | Type | Descrizione |
---|---|---|---|---|
Percorso file | filePath |
Vero | string |
Percorso del file, inclusa l'estensione del nome file, se presente, rispetto alla directory radice. |
Contenuto del file | fileContent |
Vero | string |
Contenuto del file |
Valori restituiti
Questa azione restituisce un oggetto BlobMetadata denominato Body.
Nome | Type |
---|---|
Testo | BlobMetadata |