Anslut till Azure Blob Storage från arbetsflöden i Azure Logic Apps

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

Den här instruktionsguiden visar hur du kommer åt ditt Azure Blob Storage-konto och din container från ett arbetsflöde i Azure Logic Apps med hjälp av Azure Blob Storage-anslutningsappen. Den här anslutningsappen innehåller utlösare och åtgärder som arbetsflödet kan använda för blobåtgärder. Du kan sedan skapa automatiserade arbetsflöden som körs när de utlöses av händelser i din lagringscontainer eller i andra system och köra åtgärder för att arbeta med data i lagringscontainern. Du kan till exempel komma åt och hantera filer som lagras som blobar i ditt Azure Storage-konto.

Du kan ansluta till Azure Blob Storage från ett arbetsflöde i resurstyperna Logic App (Förbrukning) och Logic App (Standard). Du kan använda anslutningsappen med logikapparbetsflöden i Azure Logic Apps med flera klientorganisationer, Azure Logic Apps med en enda klientorganisation och integrationstjänstmiljön (ISE). Med Logic App (Standard) kan du använda antingen de inbyggda Azure Blob-anslutningsåtgärderna eller de hanterade anslutningsåtgärderna för Azure Blob Storage.

Anslut eller teknisk referens

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

Logikapp Environment Anslut ellerversion
Förbrukning Azure Logic Apps för flera klientorganisationer Hanterad anslutningsapp (standardklass). Mer information finns i följande dokumentation:

- Referens för hanterad Azure Blob Storage-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 hanterad Azure Blob Storage-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 versionen skiljer sig åt på följande sätt:

– Den inbyggda versionen ansluter direkt till ditt Azure Storage-konto som bara kräver en anslutningssträng.

– Den inbyggda versionen kan komma åt virtuella Azure-nätverk direkt.

Mer information finns i följande dokumentation:

- Referens för hanterad Azure Blob Storage-anslutningsapp
- Inbyggd anslutningsreferens för Azure Blob
- Inbyggda anslutningsappar i Azure Logic Apps

Begränsningar

  • För logikapparbetsflöden som körs i en integrationstjänstmiljö (ISE) använder den här anslutningsappens ISE-märkta version ISE-meddelandegränserna i stället.

  • Azure Blob Storage-hanterade anslutningsåtgärder kan läsa eller skriva filer som är 50 MB eller mindre. För att hantera filer som är större än 50 MB men upp till 1 024 MB stöder Azure Blob Storage-åtgärder segmentering av meddelanden. Blob Storage-åtgärden med namnet Hämta blobinnehåll använder implicit segmentering.

  • Azure Blob Storage-hanteradeoch inbyggda utlösare stöder inte segmentering, men de inbyggda utlösarna kan hantera filer som är 50 MB eller mer. Men när en hanterad utlösare begär filinnehåll väljer utlösaren endast filer som är 50 MB eller mindre. Om du vill hämta filer som är större än 50 MB följer du det här mönstret:

    1. Använd en Blob-utlösare som returnerar filegenskaper, till exempel När en blob läggs till eller ändras (endast egenskaper).

    2. Följ utlösaren med åtgärden Hanterad anslutningsapp i Azure Blob Storage med namnet Hämta blobinnehåll, som läser hela filen och implicit använder segmentering.

  • Azure Blob Storage-utlösargränser

    • Utlösaren för hanterad anslutningsapp är begränsad till 30 000 blobar i den virtuella avsökningsmappen.
    • Den inbyggda anslutningsutlösaren är begränsad till 10 000 blobar i hela avsökningscontainern.

    Om gränsen överskrids kan det hända att en ny blob inte kan utlösa arbetsflödet, så utlösaren hoppas över.

Förutsättningar

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

  • Ett Azure Storage-konto och en blobcontainer

  • Arbetsflödet för logikappen där du vill komma åt ditt Azure Storage-konto. Om du vill starta arbetsflödet med en Azure Blob-utlösare behöver du ett tomt arbetsflöde. Om du vill använda en Azure Blob-åtgärd startar du arbetsflödet med valfri utlösare.

Lägga till en Blob-utlösare

Ett arbetsflöde för förbrukningslogikappen kan endast använda den hanterade Azure Blob Storage-anslutningsappen. Ett standardarbetsflöde för logikappar kan dock använda den hanterade Azure Blob Storage-anslutningsappen och den inbyggda Azure Blob-anslutningsappen. Även om båda anslutningsversionerna endast tillhandahåller en Blob-utlösare skiljer sig utlösarnamnet på följande sätt, beroende på om du arbetar med ett förbruknings- eller standardarbetsflöde:

Logikapp Anslut ellerversion Utlösarnamn beskrivning
Förbrukning Endast hanterad anslutningsapp När en blob läggs till eller ändras (endast egenskaper) Utlösaren utlöses när en blobs egenskaper läggs till eller uppdateras i lagringscontainerns rotmapp. När du konfigurerar den hanterade utlösaren ignorerar den hanterade versionen befintliga blobar i lagringscontainern.
Standard – Inbyggd anslutningsapp

– Hanterad anslutningsapp
– Inbyggd: När en blob läggs till eller uppdateras

– Hanterad: När en blob läggs till eller ändras (endast egenskaper)
– Inbyggd: Utlösaren utlöses när en blob läggs till eller uppdateras i lagringscontainern och utlöses för alla kapslade mappar i lagringscontainern, inte bara rotmappen. När du konfigurerar den inbyggda utlösaren bearbetar den inbyggda versionen alla befintliga blobar i lagringscontainern.

– Hanterad: Utlösaren utlöses när en blobs egenskaper läggs till eller uppdateras i lagringscontainerns rotmapp. När du konfigurerar den hanterade utlösaren ignorerar den hanterade versionen befintliga blobar i lagringscontainern.

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 arbetsflöden för logikappar:

  1. I Azure-portalen öppnar du logikappen Förbrukning och ett tomt arbetsflöde i designern.

  2. I designern går du till sökrutan och väljer Standard och följer sedan de här allmänna stegen för att lägga till den hanterade Azure Blob Storage-utlösare som du vill använda.

    Det här exemplet fortsätter med utlösaren med namnet When a blob is added or modified (properties only).

  3. Om du uppmanas att göra det anger du följande information för din anslutning till ditt lagringskonto. Välj Skapa när du är klar.

    Property Obligatoriskt Beskrivning
    Anslutningens namn Ja Ett namn på anslutningen
    Autentiseringstyp Ja Autentiseringstypen för ditt lagringskonto. Mer information finns i Autentiseringstyper för utlösare och åtgärder som stöder autentisering – Säker åtkomst och data.

    Den här anslutningen använder till exempel åtkomstnyckelautentisering och ger åtkomstnyckelvärdet för lagringskontot tillsammans med följande egenskapsvärden:

    Property Obligatoriskt Värde beskrivning
    Namn på Azure Storage-konto Ja, men bara för åtkomstnyckelautentisering <lagringskontonamn> Namnet på azure-lagringskontot där blobcontainern finns.

    Obs! Om du vill hitta lagringskontots namn öppnar du lagringskontoresursen i Azure-portalen. På resursmenyn går du till Säkerhet + nätverk och väljer Åtkomstnycklar. Under Lagringskontonamn kopierar och sparar du namnet.
    Åtkomstnyckel för Azure Storage-konto Ja
    men endast för åtkomstnyckelautentisering
    <storage-account-access-key> Åtkomstnyckeln för ditt Azure Storage-konto.

    Obs! Om du vill hitta åtkomstnyckeln öppnar du lagringskontoresursen i Azure-portalen. Välj Åtkomstnycklar1>>Visa under Säkerhet + nätverk på resursmenyn. Kopiera och spara primärnyckelvärdet.

    Screenshot showing Consumption workflow, Azure Blob Storage trigger, and example connection information.

  4. När informationsrutan för utlösaren visas anger du nödvändig information.

    För egenskapsvärdet Container väljer du mappikonen för att bläddra efter blobcontainern. Eller ange sökvägen manuellt med syntaxen /<container-name>, till exempel:

    Screenshot showing Consumption workflow with Azure Blob Storage trigger, and example trigger information.

  5. Om du vill lägga till andra egenskaper som är tillgängliga för den här utlösaren öppnar du listan Lägg till ny parameter och väljer de egenskaper som du vill använda.

    Mer information finns i Utlösaregenskaper för azure bloblagringshanterad anslutningsapp.

  6. Lägg till andra åtgärder som krävs i arbetsflödet.

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

Lägga till en Blob-åtgärd

Ett arbetsflöde för förbrukningslogikappen kan endast använda den hanterade Azure Blob Storage-anslutningsappen. Ett standardarbetsflöde för logikappar kan dock använda den hanterade Azure Blob Storage-anslutningsappen och den inbyggda Azure Blob-anslutningsappen. Varje version har flera, men olika namngivna å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 förbruknings- eller standardarbetsflöde.

  • Inbyggda anslutningsåtgärder: Dessa åtgärder körs endast i ett Standard-arbetsflöde.

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 logikappen och arbetsflödet för förbrukning i designern i Azure-portalen.

  2. Om arbetsflödet är tomt lägger du till den utlösare som ditt scenario kräver.

    I det här exemplet används upprepningsutlösaren.

  3. I designern följer du de här allmänna stegen för att hitta och lägga till den hanterade Azure Blob Storage-åtgärd som du vill använda.

    Det här exemplet fortsätter med åtgärden Hämta blobinnehåll.

  4. Ange följande information för anslutningen om du uppmanas att göra det. Välj Skapa när du är klar.

    Property Obligatoriskt Beskrivning
    Anslutningens namn Ja Ett namn på anslutningen
    Autentiseringstyp Ja Autentiseringstypen för ditt lagringskonto. Mer information finns i Autentiseringstyper för utlösare och åtgärder som stöder autentisering – Säker åtkomst och data.

    Den här anslutningen använder till exempel åtkomstnyckelautentisering och ger åtkomstnyckelvärdet för lagringskontot tillsammans med följande egenskapsvärden:

    Property Obligatoriskt Värde beskrivning
    Namn på Azure Storage-konto Ja
    men endast för åtkomstnyckelautentisering
    <lagringskontonamn> Namnet på azure-lagringskontot där blobcontainern finns.

    Obs! Om du vill hitta lagringskontots namn öppnar du lagringskontoresursen i Azure-portalen. På resursmenyn går du till Säkerhet + nätverk och väljer Åtkomstnycklar. Under Lagringskontonamn kopierar och sparar du namnet.
    Åtkomstnyckel för Azure Storage-konto Ja
    men endast för åtkomstnyckelautentisering
    <storage-account-access-key> Åtkomstnyckeln för ditt Azure Storage-konto.

    Obs! Om du vill hitta åtkomstnyckeln öppnar du lagringskontoresursen i Azure-portalen. Välj Åtkomstnycklar1>>Visa under Säkerhet + nätverk på resursmenyn. Kopiera och spara primärnyckelvärdet.

    Screenshot showing Consumption workflow, Azure Blob action, and example connection information.

  5. Ange nödvändig information i åtgärdsinformationsrutan.

    I åtgärden Hämta blobinnehåll anger du till exempel lagringskontots namn. För egenskapen Blob väljer du mappikonen för att bläddra efter din lagringscontainer eller mapp. Eller ange sökvägen manuellt.

    Uppgift Syntax för blobsökväg
    Hämta innehållet från en specifik blob i rotmappen. /<container-name>/<blob-name>
    Hämta innehållet från en specifik blob i en undermapp. /<container-name>/<subfolder>/<blob-name>

    I följande exempel visas den åtgärdskonfiguration som hämtar innehållet från en blob i rotmappen:

    Screenshot showing Consumption workflow with Blob action setup for root folder.

    I följande exempel visas den åtgärdskonfiguration som hämtar innehållet från en blob i undermappen:

    Screenshot showing Consumption workflow with Blob action setup for subfolder.

  6. Lägg till andra åtgärder som krävs i arbetsflödet.

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

Få åtkomst till lagringskonton bakom brandväggar

Du kan lägga till nätverkssäkerhet i ett Azure Storage-konto genom att begränsa åtkomsten med en brandvägg och brandväggsregler. Den här konfigurationen skapar dock en utmaning för Azure och andra Microsoft-tjänster som behöver åtkomst till lagringskontot. Lokal kommunikation i datacentret abstraherar de interna IP-adresserna, så att bara tillåta trafik via IP-adresser kanske inte räcker för att tillåta kommunikation över brandväggen. Baserat på vilken Azure Blob Storage-anslutning du använder är följande alternativ tillgängliga:

Få åtkomst till lagringskonton i andra regioner

Om du inte använder hanterad identitetsautentisering kan logikappens arbetsflöden inte direkt komma åt lagringskonton bakom brandväggar när både logikappresursen och lagringskontot finns i samma region. Som en lösning placerar du logikappresursen i en annan region än ditt lagringskonto. Ge sedan åtkomst till de utgående IP-adresserna för de hanterade anslutningsprogrammen i din region.

Kommentar

Den här lösningen gäller inte för Azure Table Storage-anslutningsappen och Azure Queue Storage-anslutningsappen. Använd i stället den inbyggda HTTP-utlösaren och åtgärden för att komma åt din Table Storage eller Queue Storage.

Följ dessa steg för att lägga till dina utgående IP-adresser i brandväggen för lagringskontot:

  1. Observera utgående IP-adresser för den hanterade anslutningsappen för logikappresursens region.

  2. I Azure-portalen letar du upp och öppnar din lagringskontoresurs.

  3. På navigeringsmenyn för lagringskontot går du till Säkerhet + nätverk och väljer Nätverk.

    1. Under Tillåt åtkomst från väljer du Valda nätverk, som visar relevanta inställningar.

    2. Under Brandvägg lägger du till DE IP-adresser eller intervall som behöver åtkomst. Om du behöver komma åt lagringskontot från datorn väljer du Lägg till klientens IP-adress.

      Screenshot of blob storage account networking page in Azure portal, showing firewall settings to add IP addresses and ranges to the allowlist.

    3. När du är klar väljer du Spara.

Få åtkomst till lagringskonton via ett betrott virtuellt nätverk

  • Logikappen och lagringskontot finns i samma region.

    Du kan placera ditt lagringskonto i ett virtuellt Azure-nätverk genom att skapa en privat slutpunkt och sedan lägga till det virtuella nätverket i listan över betrodda virtuella nätverk. För att ge logikappen åtkomst till lagringskontot via ett betrott virtuellt nätverk måste du distribuera logikappen till en integrationstjänstmiljö (ISE) som kan ansluta till resurser i ett virtuellt nätverk. Du kan sedan lägga till undernäten i ise i den betrodda listan. ISE-baserade lagringsanslutningar, till exempel DEN ISE-versionerade Azure Blob Storage-anslutningsappen, har direkt åtkomst till lagringscontainern. Den här konfigurationen är samma upplevelse som att använda tjänstslutpunkterna från en ISE.

  • Logikappen och lagringskontot finns i olika regioner.

    Du behöver inte skapa en privat slutpunkt. Du kan bara tillåta trafik via ISE:s utgående IP-adresser på lagringskontot.

Få åtkomst till lagringskonton via integrering av virtuella nätverk

  • Logikappen och lagringskontot finns i samma region.

    Du kan placera lagringskontot i ett virtuellt Azure-nätverk genom att skapa en privat slutpunkt och sedan lägga till det virtuella nätverket i listan över betrodda virtuella nätverk. För att ge logikappen åtkomst till lagringskontot måste du konfigurera utgående trafik med hjälp av integrering av virtuella nätverk för att aktivera anslutning till resurser i ett virtuellt nätverk. Du kan sedan lägga till det virtuella nätverket i lagringskontots lista över betrodda virtuella nätverk.

  • Logikappen och lagringskontot finns i olika regioner.

    Du behöver inte skapa en privat slutpunkt. Du kan bara tillåta trafik via ISE:s utgående IP-adresser på lagringskontot.

Få åtkomst till Blob Storage i samma region med systemhanterade identiteter

Om du vill ansluta till Azure Blob Storage i valfri region kan du använda hanterade identiteter för autentisering. Du kan skapa ett undantag som ger Microsoft betrodda tjänster, till exempel en hanterad identitet, åtkomst till ditt lagringskonto via en brandvägg.

Kommentar

Den här lösningen gäller inte för standardlogikappar. Även om du använder en systemtilldelad hanterad identitet med en standardlogikapp kan den hanterade Azure Blob Storage-anslutningsappen inte ansluta till ett lagringskonto i samma region.

Följ dessa steg om du vill använda hanterade identiteter i logikappen för att få åtkomst till Blob Storage:

  1. Konfigurera åtkomst till ditt lagringskonto.

  2. Skapa en rolltilldelning för logikappen.

  3. Aktivera stöd för den hanterade identiteten i logikappen.

Kommentar

Den här lösningen har följande begränsningar:

Om du vill autentisera anslutningen till lagringskontot måste du konfigurera en systemtilldelad hanterad identitet. En användartilldelad hanterad identitet fungerar inte.

Konfigurera åtkomst till lagringskonto

Konfigurera stöd för undantag och hanterad identitet genom att först konfigurera lämplig åtkomst till ditt lagringskonto:

  1. I Azure-portalen letar du upp och öppnar din lagringskontoresurs.

  2. På navigeringsmenyn för lagringskontot går du till Säkerhet + nätverk och väljer Nätverk.

    1. Under Tillåt åtkomst från väljer du Valda nätverk, som visar relevanta inställningar.

    2. Om du behöver komma åt lagringskontot från datorn går du till Brandvägg och väljer Lägg till klientens IP-adress.

    3. Under Undantag väljer du Tillåt betrodda Microsoft-tjänster att komma åt det här lagringskontot.

      Screenshot showing Azure portal and Blob Storage account networking pane with allow settings.

    4. När du är klar väljer du Spara.

Kommentar

Om du får ett 403 Forbidden-fel när du försöker ansluta till lagringskontot från arbetsflödet finns det flera möjliga orsaker. Prova följande lösning innan du går vidare till ytterligare steg. Inaktivera först inställningen Tillåt betrodda Microsoft-tjänster att komma åt det här lagringskontot och spara ändringarna. Aktivera sedan inställningen igen och spara ändringarna igen.

Skapa rolltilldelning för logikapp

Aktivera sedan stöd för hanterad identitet på logikappresursen.

Följande steg är desamma för förbrukningslogikappar i miljöer med flera klientorganisationer och standardlogikappar i miljöer med en enda klientorganisation.

  1. Öppna logikappresursen i Azure-portalen.

  2. På logikappens resursnavigeringsmeny går du till Inställningar och väljer Identitet.

  3. I fönstret Systemtilldelat anger du Status till , om den inte redan är aktiverad väljer du Spara och bekräftar ändringarna. Under Behörigheter väljer du Azure-rolltilldelningar.

    Screenshot showing the Azure portal and logic app resource menu with the 'Identity' settings pane and 'Azure role assignment permissions' button.

  4. I fönstret Azure-rolltilldelningar väljer du Lägg till rolltilldelning.

    Screenshot showing the logic app role assignments pane with the selected subscription and button to add a new role assignment.

  5. I fönstret Lägg till rolltilldelningar konfigurerar du den nya rolltilldelningen med följande värden:

    Property Värde beskrivning
    Definitionsområde <resursomfång> Resursuppsättningen där du vill tillämpa rolltilldelningen. I det här exemplet väljer du Lagring.
    Abonnemang <Azure-prenumeration> Azure-prenumerationen för ditt lagringskonto.
    Resurs <lagringskontonamn> Namnet på det lagringskonto som du vill komma åt från logikappens arbetsflöde.
    Roll <roll-till-tilldela> Den roll som ditt scenario kräver för att arbetsflödet ska fungera med resursen. Det här exemplet kräver Storage Blob Data Contributor, som tillåter läs-, skriv- och borttagningsåtkomst till blobcontainrar och datum. Om du vill ha behörighetsinformation flyttar du musen över informationsikonen bredvid en roll i den nedrullningsbara menyn.

    Screenshot of role assignment configuration pane, showing settings for scope, subscription, resource, and role.

  6. När du är klar väljer du Spara för att slutföra skapandet av rolltilldelningen.

Aktivera stöd för hanterad identitet i logikappen

Slutför sedan följande steg:

  1. Om du har ett tomt arbetsflöde lägger du till en Azure Blob Storage-anslutningsutlösare. Annars lägger du till en Azure Blob Storage-anslutningsåtgärd. Se till att du skapar en ny anslutning för utlösaren eller åtgärden i stället för att använda en befintlig anslutning.

  2. Kontrollera att du anger autentiseringstypen så att den hanterade identiteten används.

  3. När du har konfigurerat utlösaren eller åtgärden kan du spara arbetsflödet och testa utlösaren eller åtgärden.

Felsöka problem med åtkomst till lagringskonton

  • "Den här begäran har inte behörighet att utföra den här åtgärden."

    Följande fel är ett vanligt rapporterat problem som inträffar när logikappen och lagringskontot finns i samma region. Det finns dock alternativ för att lösa den här begränsningen enligt beskrivningen i avsnittet Åtkomst till lagringskonton bakom brandväggar.

    {
       "status": 403,
       "message": "This request is not authorized to perform this operation.\\r\\nclientRequestId: a3da2269-7120-44b4-9fe5-ede7a9b0fbb8",
       "error": {
          "message": "This request is not authorized to perform this operation."
       },
       "source": "azureblob-ase.azconn-ase.p.azurewebsites.net"
    }
    

Application Insights-fel

  • 404- och 409-fel

    Om standardarbetsflödet använder en inbyggd Azure Blob-åtgärd som lägger till en blob i lagringscontainern kan du få 404 - och 409-fel i Application Insights för misslyckade begäranden. Dessa fel förväntas eftersom anslutningsappen kontrollerar om blobfilen finns innan bloben läggs till. Felen uppstår när filen inte finns. Trots dessa fel lägger den inbyggda åtgärden till bloben.

Nästa steg