Ansluta 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 arbetsflöden för logikappar i Azure Logic Apps med flera klienter och Azure Logic Apps med en enda klientorganisation. 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.
Teknisk referens för anslutningsprogram
Azure Blob Storage-anslutningsappen har olika versioner, baserat på logikapptyp och värdmiljö.
Logikapp | Environment | Anslutningsversion |
---|---|---|
Förbrukning | Azure Logic Apps med flera klientorganisationer | Hanterad anslutningsapp, som visas i anslutningsgalleriet under Runtime>Shared. Mer information finns i följande dokumentation: - Referens för hanterad Azure Blob Storage-anslutningsapp - Hanterade anslutningsappar i Azure Logic Apps |
Standard | Azure Logic Apps för en klientorganisation och App Service Environment v3 (endast Windows-planer) | Hanterad anslutningsapp (Azure-värdbaserad), som visas i anslutningsgalleriet under Runtime>Shared och inbyggd anslutningsapp, som är tjänstleverantörsbaserad, och visas i anslutningsgalleriet under Runtime>In App. 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 niska veze. – 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
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-hanterade och 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:
Använd en Blob-utlösare som returnerar filegenskaper, till exempel När en blob läggs till eller ändras (endast egenskaper).
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.
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 | Anslutningsversion | 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:
Arbetsflöden för förbrukningslogikapp: Visual Studio eller Visual Studio Code
Arbetsflöden för standardlogikapp: Visual Studio Code
I Azure-portalen öppnar du logikappen Förbrukning och ett tomt arbetsflöde i designern.
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).
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.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:
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.
Lägg till andra åtgärder som krävs i arbetsflödet.
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:
Arbetsflöden för förbrukningslogikapp: Visual Studio eller Visual Studio Code
Arbetsflöden för standardlogikapp: Visual Studio Code
Öppna logikappen och arbetsflödet för förbrukning i designern i Azure-portalen.
Om arbetsflödet är tomt lägger du till den utlösare som ditt scenario kräver.
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.
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.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:
I följande exempel visas den åtgärdskonfiguration som hämtar innehållet från en blob i undermappen:
Lägg till andra åtgärder som krävs i arbetsflödet.
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:
Information om hur du kommer åt lagringskonton bakom brandväggar med hjälp av den hanterade Azure Blob Storage-anslutningsappen i Förbrukningslogikappar finns i följande dokumentation:
Om du vill komma åt lagringskonton bakom brandväggar i standardlogikappar läser du följande dokumentation:
Inbyggd Azure Blob Storage-anslutning: Få åtkomst till lagringskonton via integrering av virtuella nätverk
Hanterad Azure Blob Storage-anslutningsapp: Få åtkomst till lagringskonton i andra regioner
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:
Observera utgående IP-adresser för den hanterade anslutningsappen för logikappresursens region.
I Azure-portalen letar du upp och öppnar din lagringskontoresurs.
På navigeringsmenyn för lagringskontot går du till Säkerhet + nätverk och väljer Nätverk.
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 skapa en standardlogikapp som kan ansluta till resurser i ett virtuellt nätverk.
Logikappen och lagringskontot finns i olika regioner.
Skapa en privat slutpunkt på ditt lagringskonto för åtkomst.
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.
Skapa en privat slutpunkt på ditt lagringskonto för åtkomst.
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:
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:
I Azure-portalen letar du upp och öppnar din lagringskontoresurs.
På navigeringsmenyn för lagringskontot går du till Säkerhet + nätverk och väljer Nätverk.
Under Tillåt åtkomst från väljer du Valda nätverk, som visar relevanta inställningar.
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.
Under Undantag väljer du Tillåt betrodda Microsoft usluge att komma åt det här lagringskontot.
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 usluge 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 klienter och standardlogikappar i miljöer med en enda klientorganisation.
Öppna logikappresursen i Azure-portalen.
På logikappens resursnavigeringsmeny går du till Inställningar och väljer Identitet.
I fönstret Systemtilldelat anger du Status till På, om den inte redan är aktiverad väljer du Spara och bekräftar ändringarna. Under Behörigheter väljer du Azure-rolltilldelningar.
I fönstret Azure-rolltilldelningar väljer du Lägg till rolltilldelning.
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. 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:
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.
Kontrollera att du anger autentiseringstypen så att den hanterade identiteten används.
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.