Anslut till en FTP-server från arbetsflöden i Azure Logic Apps

Gäller för: Azure Logic Apps (Förbrukning + Standard)

Den här artikeln visar hur du kommer åt FTP-servern (File Transfer Protocol) från ett arbetsflöde i Azure Logic Apps med FTP-anslutningsappen. Du kan sedan skapa automatiserade arbetsflöden som körs när de utlöses av händelser på FTP-servern eller i andra system och köra åtgärder för att hantera filer på FTP-servern.

Arbetsflödet kan till exempel börja med en FTP-utlösare som övervakar och svarar på händelser på FTP-servern. Utlösaren gör utdata tillgängliga för efterföljande åtgärder i arbetsflödet. Arbetsflödet kan köra FTP-åtgärder som skapar, skickar, tar emot och hanterar filer via ditt FTP-serverkonto med hjälp av följande specifika uppgifter:

  • Övervaka när filer läggs till eller ändras.
  • Skapa, kopiera, ta bort, lista och uppdatera filer.
  • Hämta filmetadata och innehåll.
  • Hantera mappar.

Om du inte har använt Azure Logic Apps tidigare läser du följande kom igång-dokumentation:

Anslut eller teknisk referens

FTP-anslutningsappen har olika versioner, baserat på logikapptyp och värdmiljö.

Typ av logikapp (plan) Miljö Anslut ellerversion
Förbrukning Azure Logic Apps för flera klientorganisationer Hanterad anslutningsapp (standardklass). Mer information finns i följande dokumentation:

- Referens för FTP-hanterad anslutningsapp
- Hanterade anslutningsappar i Azure Logic Apps
Förbrukning Integration Service Environment (ISE) Hanterad anslutningsapp (standardklass) och ISE-version, som har andra meddelandegränser än standardklassen. Mer information finns i följande dokumentation:

- Referens för FTP-hanterad anslutningsapp
- ISE-meddelandegränser
- Hanterade anslutningsappar i Azure Logic Apps
Standard Azure Logic Apps för en klientorganisation och App Service-miljön v3 (endast Windows-abonnemang) Hanterad anslutningsapp (Azure-värdbaserad) och inbyggd anslutningsapp, som är tjänstleverantörsbaserad. Den inbyggda anslutningsappen har direkt åtkomst till virtuella Azure-nätverk med en anslutningssträng. Mer information finns i följande dokumentation:

- Referens för FTP-hanterad anslutningsapp
- Avsnittet ftp-inbyggda anslutningsåtgärder senare i den här artikeln
- Hanterade anslutningsappar i Azure Logic Apps
- Inbyggda anslutningsappar i Azure Logic Apps

Begränsningar

  • Kapacitet och dataflöde

    • Inbyggd anslutningsapp för Standard-arbetsflöden:

      Som standard kan FTP-åtgärder läsa eller skriva filer som är 200 MB eller mindre. För närvarande stöder inte den inbyggda FTP-anslutningsappen segmentering.

    • Hanterad eller Azure-värdbaserad anslutningsapp för förbruknings- och standardarbetsflöden

      Som standard kan FTP-åtgärder läsa eller skriva filer som är 50 MB eller mindre. För att hantera filer som är större än 50 MB stöder FTP-åtgärder segmentering av meddelanden. Åtgärden Hämta filinnehåll använder implicit segmentering.

  • Utlösare för FTP-hanterad eller Azure-värdbaserad anslutning kan uppleva saknade, ofullständiga eller fördröjda resultat när tidsstämpeln "senast ändrad" bevaras. Å andra sidan har den inbyggda FTP-anslutningsutlösaren i Standard Logic App-arbetsflöden inte den här begränsningen. Mer information finns i avsnittet Begränsningar för FTP-anslutningsappen.

  • Den FTP-hanterade eller Azure-värdbaserade anslutningsappen kan skapa ett begränsat antal anslutningar till FTP-servern, baserat på anslutningskapaciteten i Azure-regionen där logikappresursen finns. Om den här gränsen utgör ett problem i ett arbetsflöde för förbrukningslogikappen kan du överväga att skapa ett standardarbetsflöde för logikappar och använda den inbyggda FTP-anslutningsappen i stället.

Förutsättningar

  • Ett Azure-konto och prenumeration. Om du heller inte har någon Azure-prenumeration kan du registrera ett kostnadsfritt Azure-konto.

  • Arbetsflödet för logikappen där du vill komma åt ditt FTP-konto. Om du vill starta arbetsflödet med en FTP-utlösare måste du börja med ett tomt arbetsflöde. Om du vill använda en FTP-åtgärd startar du arbetsflödet med en annan utlösare, till exempel upprepningsutlösaren.

  • Fler krav som gäller för både FTP-hanterad anslutningsapp och inbyggd anslutningsapp finns i referensen för FTP-hanterad anslutningsapp – Krav.

Kända problem

Som standard har utlösare som returnerar en matris inställningen Dela på som redan är aktiverad. Med den här inställningen aktiverad diskuterar utlösaren automatiskt matrisen genom att internt skapa en separat arbetsflödesinstans för att bearbeta varje matrisobjekt. Alla arbetsflödesinstanser körs parallellt så att matrisobjekten bearbetas samtidigt.

Men när inställningen Dela på är aktiverad returnerar utlösare för hanterad anslutningsapp utdata för alla matrisobjekt som listor. Alla efterföljande åtgärder som refererar till dessa utdata måste först hantera dessa utdata som listor. Om du vill hantera varje matrisobjekt individuellt kan du lägga till extra åtgärder. Om du till exempel vill iterera genom dessa matrisobjekt kan du använda en För varje loop. För utlösare som endast returnerar metadata eller egenskaper använder du en åtgärd som hämtar matrisobjektets metadata först och sedan använder en åtgärd för att hämta objektinnehållet.

Du måste endast använda den här metoden för utlösare för hanterade anslutningsappar, inte inbyggda anslutningsutlösare som returnerar utdata för ett matrisobjekt i taget när inställningen Dela på är aktiverad.

Anta till exempel att du har en utlösare för hanterad anslutningsapp med namnet När en fil läggs till eller ändras (endast egenskaper) som returnerar metadata eller egenskaper för de nya eller uppdaterade filerna som matriser. Om du vill hämta metadata separat för varje fil kan du använda en För varje loop som itererar genom matrisen. I den här loopen använder du följande åtgärder för hanterade anslutningsappar i den angivna ordningen:

  1. Hämta filmetadata för att hämta varje fils metadata.

  2. Hämta filinnehållsåtgärden för att hämta varje fils innehåll.

Lägga till en FTP-utlösare

Ett arbetsflöde för förbrukningslogikappen kan endast använda den FTP-hanterade anslutningsappen. Ett standardarbetsflöde för logikappar kan dock använda den FTP-hanterade anslutningsappen och den inbyggda FTP-anslutningsappen. I ett standardarbetsflöde för logikappar är hanterade anslutningsappar också märkta som Azure-anslutningsappar .

Den FTP-hanterade anslutningsappen och den inbyggda anslutningsappen har bara en tillgänglig utlösare:

  • Utlösare för hanterad anslutningsapp: FTP-utlösaren med namnet När en fil läggs till eller ändras (endast egenskaper) kör ett arbetsflöde för förbrukning eller standardlogikapp när en eller flera filer läggs till eller ändras i en mapp på FTP-servern. Den här utlösaren hämtar endast filegenskaperna eller metadata, inte filinnehållet. Men för att hämta filinnehållet kan arbetsflödet följa den här utlösaren med andra FTP-åtgärder.

    Mer information om den här utlösaren finns i När en fil läggs till eller ändras (endast egenskaper).

  • Inbyggd anslutningsutlösare: FTP-utlösaren med namnet När en fil läggs till eller uppdateras kör ett standardarbetsflöde för logikappar när en eller flera filer läggs till eller ändras i en mapp på FTP-servern. Den här utlösaren hämtar endast filegenskaperna eller metadata, inte filinnehållet. Men för att hämta innehållet kan arbetsflödet följa den här utlösaren med andra FTP-åtgärder. Mer information om den här utlösaren finns i När en fil läggs till eller uppdateras.

Följande steg använder Azure-portalen, men med lämpligt Azure Logic Apps-tillägg kan du också använda följande verktyg för att skapa och redigera arbetsflöden för logikappar:

  1. Öppna arbetsflödet för den tomma logikappen i designern i Azure-portalen.

  2. I designern går du till sökrutan och väljer Standard. I sökrutan anger du ftp.

  3. I listan utlösare väljer du utlösaren med namnet När en fil läggs till eller ändras (endast egenskaper)..

    Screenshot shows Azure portal, Consumption workflow designer, and FTP trigger selected.

  4. Ange information för anslutningen. Välj Skapa när du är klar.

    Kommentar

    Som standard överför den här anslutningsappen filer i textformat. Om du vill överföra filer i binärt format, till exempel var och när kodning används, väljer du alternativet binär transport.

    Screenshot shows Consumption workflow designer and FTP connection profile.

  5. När informationsrutan för utlösaren visas letar du reda på den mapp som du vill övervaka för nya eller redigerade filer.

    1. I rutan Mapp väljer du mappikonen för att visa mappkatalogen.

    2. Välj höger vinkelpil (>). Bläddra till den mapp som du vill använda och välj sedan mappen.

    Screenshot shows Consumption workflow designer, FTP trigger, and

    Den valda mappen visas i rutan Mapp .

    Screenshot shows Consumption workflow designer, FTP trigger, and

  6. Spara arbetsflödet när du är klar.

När du sparar arbetsflödet publicerar det här steget automatiskt dina uppdateringar till din distribuerade logikapp, som finns i Azure. Med bara en utlösare kontrollerar arbetsflödet bara FTP-servern baserat på ditt angivna schema. Du måste lägga till en åtgärd som svarar på utlösaren och gör något med utlösarens utdata.

Lägga till en FTP-åtgärd

Ett arbetsflöde för förbrukningslogikappen kan endast använda den FTP-hanterade anslutningsappen. Ett standardarbetsflöde för logikappar kan dock använda den FTP-hanterade anslutningsappen och den inbyggda FTP-anslutningsappen. Varje version har flera åtgärder. Till exempel har både hanterade och inbyggda anslutningsversioner sina egna åtgärder för att hämta filmetadata och hämta filinnehåll.

  • Åtgärder för hanterade anslutningsappar: Dessa åtgärder körs i ett arbetsflöde för förbrukning eller standardlogikapp.

  • Inbyggda anslutningsåtgärder: Dessa åtgärder körs endast i ett standardarbetsflöde för logikappar.

Följande steg använder Azure-portalen, men med lämpligt Azure Logic Apps-tillägg kan du också använda följande verktyg för att skapa och redigera arbetsflöden för logikappar:

Innan du kan använda en FTP-åtgärd måste arbetsflödet redan börja med en utlösare, vilket kan vara vilken typ du vill. Du kan till exempel använda den inbyggda utlösaren för allmän upprepning för att starta arbetsflödet enligt ett visst schema.

  1. Öppna arbetsflödet för logikappen i designern i Azure-portalen.

  2. Leta upp och välj den FTP-åtgärd som du vill använda.

    Det här exemplet fortsätter med åtgärden Hämta filmetadata så att du kan hämta metadata för ett enda matrisobjekt.

    1. Välj Nytt steg under utlösaren eller andra åtgärder i designern.

    2. Under sökrutan Välj en åtgärd väljer du Standard.

    3. I sökrutan anger du ftp get-filmetadata.

    4. I åtgärdslistan väljer du åtgärden Med namnet Hämta filmetadata.

    Screenshot shows the Azure portal, Consumption workflow designer, search box with

  3. Om det behövs anger du informationen för anslutningen. Välj Skapa när du är klar.

    Kommentar

    Som standard överför den här anslutningsappen filer i textformat. Om du vill överföra filer i binärt format, till exempel var och när kodning används, väljer du alternativet binär transport.

    Screenshot shows Consumption workflow designer and FTP connection profile for an action.

  4. När åtgärdsrutan Hämta metadata visas klickar du i rutan Arkiv så att listan med dynamiskt innehåll öppnas.

    Nu kan du välja utdata från föregående utlösare.

  5. I listan med dynamiskt innehåll går du till När en fil läggs till eller ändras väljer du Lista över fil-ID.

    Screenshot shows Consumption workflow designer,

    Egenskapen Arkiv refererar nu till utdata för utdata för list av fil-ID-utlösare .

  6. I designern går du till åtgärden Hämta filmetadata och väljer Nytt steg.

  7. Under sökrutan Välj en åtgärd väljer du Standard.

  8. I sökrutan anger du ftp get-filinnehåll.

  9. I åtgärdslistan väljer du åtgärden Med namnet Hämta filinnehåll.

    Screenshot shows the Azure portal, Consumption workflow designer, search box with

  10. När rutan Hämta information om filinnehållsåtgärden visas klickar du i rutan Arkiv så att listan med dynamiskt innehåll öppnas.

    Nu kan du välja utdata från föregående utlösare och andra åtgärder.

  11. I listan med dynamiskt innehåll går du till Hämta filmetadata och väljer ID, som refererar till filen som lades till eller uppdaterades.

    Screenshot shows Consumption workflow designer,

    Egenskapen Arkiv refererar nu till ID-åtgärdsutdata .

    Screenshot shows Consumption workflow designer,

  12. Spara arbetsflödet när du är klar. I verktygsfältet för designern väljer du Spara.

Testa arbetsflödet

Om du vill kontrollera att arbetsflödet returnerar det innehåll som du förväntar dig lägger du till en annan åtgärd som skickar dig innehållet från den tillagda eller uppdaterade filen. I det här exemplet används office 365 Outlook-åtgärden med namnet Skicka ett e-postmeddelande.

  1. Under åtgärden Hämta filinnehåll lägger du till Office 365 Outlook-åtgärden med namnet Skicka ett e-postmeddelande. Om du har ett Outlook.com konto i stället lägger du till åtgärden Outlook.com Skicka ett e-postmeddelande och justerar följande steg i enlighet med detta.

    1. I designern går du till åtgärden Hämta filinnehåll och väljer Nytt steg.

    2. Under sökrutan Välj en åtgärd väljer du Standard.

    3. I sökrutan anger du Office 365 Outlook skicka ett e-postmeddelande. I åtgärdslistan väljer du åtgärden Office 365 Outlook med namnet Skicka ett e-postmeddelande.

    Screenshot shows Consumption workflow designer and

  2. Om det behövs loggar du in på ditt e-postkonto.

  3. I åtgärdsinformationsrutan anger du de värden som krävs och inkluderar alla andra parametrar eller egenskaper som du vill testa.

    Du kan till exempel inkludera filinnehållsutdata från åtgärden Hämta filinnehåll . Följ dessa steg för att hitta dessa utdata:

    1. I åtgärden Hämta filinnehåll klickar du i rutan Brödtext så att listan med dynamiskt innehåll öppnas.

    2. I listan med dynamiskt innehåll bredvid Hämta filinnehåll väljer du Visa mer.

      Screenshot shows Consumption workflow designer,

    3. I listan med dynamiskt innehåll går du till Hämta filinnehåll och väljer Filinnehåll.

      Egenskapen Body refererar nu till utdata för åtgärden Filinnehåll .

      Screenshot shows Consumption workflow designer,

  4. Spara arbetsflödet för logikappen.

  5. Om du vill köra och utlösa arbetsflödet går du till verktygsfältet designer och väljer Kör utlösarkörning>. Lägg till en fil i FTP-mappen som arbetsflödet övervakar.

FTP-inbyggda anslutningsåtgärder

Den inbyggda FTP-anslutningsappen är endast tillgänglig för standardarbetsflöden för logikappar och tillhandahåller följande åtgärder:

Utlösare Description
När en fil läggs till eller uppdateras Starta ett logikapparbetsflöde när en fil läggs till eller uppdateras i den angivna mappen på FTP-servern.

Obs! Den här utlösaren hämtar endast filmetadata eller egenskaper, inte filinnehållet. Men för att hämta innehållet kan arbetsflödet följa den här utlösaren med åtgärden Hämta filinnehåll .

Åtgärd Beskrivning
Skapa fil Skapa en fil med den angivna filsökvägen och filinnehållet.
Ta bort fil Ta bort en fil med den angivna filsökvägen.
Hämta filinnehåll Hämta innehållet i en fil med den angivna filsökvägen.
Hämta metadata för filen Hämta metadata eller egenskaper för en fil med den angivna filsökvägen.
Visa en lista över filer och undermappar i en mapp Hämta en lista över filer och undermappar i den angivna mappen.
Uppdatera fil Uppdatera en fil med den angivna filsökvägen och filinnehållet.

När en fil läggs till eller uppdateras

Åtgärds-ID: whenFtpFilesAreAddedOrModified

Den här utlösaren startar en arbetsflödeskörning för logikappen när en fil läggs till eller uppdateras i den angivna mappen på FTP-servern. Utlösaren hämtar endast filmetadata eller egenskaper, inte något filinnehåll. Men för att hämta innehållet kan arbetsflödet följa den här utlösaren med åtgärden Hämta filinnehåll .

Parameters

Name Key Obligatoriskt Type Description
Mappsökväg folderPath Sant string Mappsökvägen i förhållande till rotkatalogen.
Antal filer som ska returneras maxFileCount Falsk integer Det maximala antalet filer som ska returneras från en enda utlösarkörning. Giltiga värden sträcker sig från 1 till 100.

Obs! Som standard är inställningen Dela på aktiverad och tvingar utlösaren att bearbeta varje fil separat parallellt.
Tidsstämpel för stopp för att ignorera äldre filer oldFileCutOffTimestamp Falsk dateTime Den bryttid som ska användas för att ignorera äldre filer. Använd tidsstämpelformatet YYYY-MM-DDTHH:MM:SS. Om du vill inaktivera den här funktionen lämnar du den här egenskapen tom.

Returer

När utlösarens delningsinställning är aktiverad returnerar utlösaren metadata eller egenskaper för en fil i taget. Annars returnerar utlösaren en matris som innehåller varje fils metadata.

Namn Type
Lista över filer BlobMetadata

Skapa fil

Åtgärds-ID: createFile

Den här åtgärden skapar en fil med den angivna filsökvägen och filinnehållet. Om filen redan finns skriver den här åtgärden över filen.

Viktigt!

Om du tar bort eller byter namn på en fil på FTP-servern omedelbart efter att du har skapat den i samma arbetsflöde kan åtgärden returnera ett HTTP 404-fel, vilket är avsiktligt. Undvik det här problemet genom att ta med en fördröjning på 1 minut innan du tar bort eller byter namn på nya filer. Du kan använda åtgärden Fördröj för att lägga till den här fördröjningen i arbetsflödet.

Parameters

Name Key Obligatoriskt Type Description
Filsökväg filePath Sant string Filsökvägen, inklusive filnamnstillägget, i förhållande till rotkatalogen.
Filinnehåll fileContent Sant string Filinnehållet.

Returer

Den här åtgärden returnerar ett BlobMetadata-objekt med namnet Body.

Namn Type
Filmetadata Filnamn string
Filmetadata Filsökväg string
Filmetadata Filstorlek string
Filmetadata BlobMetadata

Ta bort fil

Åtgärds-ID: deleteFtpFile

Den här åtgärden tar bort en fil med den angivna filsökvägen.

Parameters

Name Key Obligatoriskt Type Description
Filsökväg filePath Sant string Filsökvägen, inklusive filnamnstillägget, i förhållande till rotkatalogen.

Returer

None

Hämta filinnehåll

Åtgärds-ID: getFtpFileContent

Den här åtgärden hämtar innehållet i en fil med den angivna filsökvägen.

Parameters

Name Key Obligatoriskt Type Description
Filsökväg path Sant string Filsökvägen, inklusive filnamnstillägget, i förhållande till rotkatalogen.

Returer

Den här åtgärden returnerar innehållet i en fil som ett binärt värde med namnet Filinnehåll.

Namn Type
Filinnehåll Binära

Hämta metadata för filen

Åtgärds-ID: getFileMetadata

Den här åtgärden hämtar metadata eller egenskaper för en fil med den angivna filsökvägen.

Parameters

Name Key Obligatoriskt Type Description
Filsökväg path Sant string Filsökvägen, inklusive filnamnstillägget, i förhållande till rotkatalogen.

Returer

Den här åtgärden returnerar följande utdata:

Namn Type
Filnamn string
Filsökväg string
Filstorlek string
Senast uppdaterad tid string
Filmetadata BlobMetadata

Visa en lista över filer och undermappar i en mapp

Åtgärds-ID: listFilesInFolder

Den här åtgärden hämtar en lista över filer och undermappar i den angivna mappen.

Parameters

Name Key Obligatoriskt Type Description
Mappsökväg folderPath Sant string Mappsökvägen i förhållande till rotkatalogen.
Filinnehåll fileContent Sant string Innehållet för filen

Returer

Den här åtgärden returnerar en matris med namnet Svar och innehåller BlobMetadata-objekt .

Namn Type
Svar Matris med BlobMetadata-objekt

Uppdatera fil

Åtgärds-ID: updateFile

Den här åtgärden uppdaterar en fil med den angivna filsökvägen och filinnehållet.

Viktigt!

Om du tar bort eller byter namn på en fil på FTP-servern omedelbart efter att du har skapat den i samma arbetsflöde kan åtgärden returnera ett HTTP 404-fel, vilket är avsiktligt. Undvik det här problemet genom att ta med en fördröjning på 1 minut innan du tar bort eller byter namn på nya filer. Du kan använda åtgärden Fördröj för att lägga till den här fördröjningen i arbetsflödet.

Parameters

Name Key Obligatoriskt Type Description
Filsökväg filePath Sant string Filsökvägen, inklusive filnamnstillägget, i förhållande till rotkatalogen.
Filinnehåll fileContent Sant string Innehållet för filen

Returer

Den här åtgärden returnerar ett BlobMetadata-objekt med namnet Body.

Namn Type
Brödtext BlobMetadata

Nästa steg