Connessione Archiviazione BLOB di Azure dai flussi di lavoro in App per la logica di Azure

Si applica a: App per la logica di Azure (consumo + standard)

Questa guida pratica illustra come accedere all'account e al contenitore Archiviazione BLOB di Azure da un flusso di lavoro in App per la logica di Azure usando il connettore Archiviazione BLOB di Azure. Questo connettore fornisce trigger e azioni che il flusso di lavoro può usare per le operazioni BLOB. È quindi possibile creare flussi di lavoro automatizzati eseguiti quando vengono attivati da eventi nel contenitore di archiviazione o in altri sistemi ed eseguire azioni per lavorare con i dati nel contenitore di archiviazione. Ad esempio, è possibile accedere e gestire i file archiviati come BLOB nell'account di archiviazione di Azure.

È possibile connettersi a Archiviazione BLOB di Azure da un flusso di lavoro nei tipi di risorse App per la logica (consumo) e App per la logica (Standard). È possibile usare il connettore con i flussi di lavoro dell'app per la logica in App per la logica di Azure multi-tenant, App per la logica di Azure a tenant singolo e l'ambiente del servizio di integrazione (I edizione Standard). Con l'app per la logica (Standard) è possibile usare le operazioni predefinite del connettore BLOB di Azure o le operazioni Archiviazione BLOB di Azure connettore gestito.

Riferimento tecnico Connessione or

Il connettore Archiviazione BLOB di Azure ha versioni diverse, in base al tipo di app per la logica e all'ambiente host.

App per la logica Ambiente versione di Connessione or
Consumo App per la logica di Azure multi-tenant Connettore gestito (classe Standard). Per altre informazioni, vedere la documentazione seguente:

- Informazioni di riferimento sul connettore gestito Archiviazione BLOB di Azure
- Connettori gestiti in App per la logica di Azure
Consumo Ambiente del servizio di integrazione Connettore gestito (classe Standard) e I edizione Standard versione, che presenta limiti di messaggio diversi rispetto alla classe Standard. Per altre informazioni, vedere la documentazione seguente:

- Informazioni di riferimento sul connettore gestito Archiviazione BLOB di Azure
- I edizione Standard limiti dei messaggi
- 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 in Azure) e connettore predefinito, basato sul provider di servizi. La versione predefinita è diversa nei modi seguenti:

- La versione predefinita si connette direttamente all'account Archiviazione di Azure che richiede solo un stringa di connessione.

- La versione predefinita può accedere direttamente alle reti virtuali di Azure.

Per altre informazioni, vedere la documentazione seguente:

- Informazioni di riferimento sul connettore gestito Archiviazione BLOB di Azure
- Informazioni di riferimento sul connettore predefinito blob di Azure
- Connettori predefiniti in App per la logica di Azure

Limiti

  • Per i flussi di lavoro dell'app per la logica in esecuzione in un ambiente del servizio di integrazione (I edizione Standard), questa versione con etichetta I edizione Standard del connettore usa invece i limiti dei messaggi I edizione Standard.

  • Archiviazione BLOB di Azure azioni del connettore gestito possono leggere o scrivere file di dimensioni inferiori o di 50 MB. Per gestire file di dimensioni superiori a 50 MB, ma fino a 1024 MB, Archiviazione BLOB di Azure azioni supportano la suddivisione in blocchi dei messaggi. L'azione Blob Archiviazione denominata Recupera contenuto BLOB usa in modo implicito la suddivisione in blocchi.

  • Anche se Archiviazione BLOB di Azure trigger gestiti e predefiniti non supportano la suddivisione in blocchi, i trigger predefiniti possono gestire file di dimensioni superiori a 50 MB. Tuttavia, quando un trigger gestito richiede contenuto di file, il trigger seleziona solo i file di dimensioni inferiori o di 50 MB. Per recuperare file di dimensione superiore a 50 MB, seguire questo modello:

    1. Usare un trigger BLOB che restituisce le proprietà del file, ad esempio Quando un BLOB viene aggiunto o modificato (solo proprietà).Use a Blob trigger that returns file properties properties, such as When a blob is added or modified (properties only).

    2. Seguire il trigger con l'azione del connettore gestito Archiviazione BLOB di Azure denominata Recupera contenuto BLOB, che legge il file completo e usa in modo implicito la suddivisione in blocchi.

  • Archiviazione BLOB di Azure limiti dei trigger

    • Il trigger del connettore gestito è limitato a 30.000 BLOB nella cartella virtuale di polling.
    • Il trigger del connettore predefinito è limitato a 10.000 BLOB nell'intero contenitore di polling.

    Se il limite viene superato, un nuovo BLOB potrebbe non essere in grado di attivare il flusso di lavoro, quindi il trigger viene ignorato.

Prerequisiti

Aggiungere un trigger BLOB

Un flusso di lavoro dell'app per la logica a consumo può usare solo il connettore gestito Archiviazione BLOB di Azure. Tuttavia, un flusso di lavoro dell'app per la logica Standard può usare il connettore gestito Archiviazione BLOB di Azure e il connettore predefinito BLOB di Azure. Sebbene entrambe le versioni del connettore forniscano un solo trigger BLOB, il nome del trigger è diverso nel modo seguente, in base al fatto che si stia usando un flusso di lavoro a consumo o Standard:

App per la logica versione di Connessione or Nome trigger Descrizione
Consumo Solo connettore gestito Quando un BLOB viene aggiunto o modificato (solo proprietà) Il trigger viene attivato quando le proprietà di un BLOB vengono aggiunte o aggiornate nella cartella radice del contenitore di archiviazione. Quando si configura il trigger gestito, la versione gestita ignora i BLOB esistenti nel contenitore di archiviazione.
Standard - Connettore predefinito

- Connettore gestito
- Predefinito: quando un BLOB viene aggiunto o aggiornato

- Gestito: quando un BLOB viene aggiunto o modificato (solo proprietà)
- Predefinito: il trigger viene attivato quando un BLOB viene aggiunto o aggiornato nel contenitore di archiviazione e viene attivato per tutte le cartelle annidate nel contenitore di archiviazione, non solo la cartella radice. Quando si configura il trigger predefinito, la versione predefinita elabora tutti i BLOB esistenti nel contenitore di archiviazione.

- Gestito: il trigger viene attivato quando le proprietà di un BLOB vengono aggiunte o aggiornate nella cartella radice del contenitore di archiviazione. Quando si configura il trigger gestito, la versione gestita ignora i BLOB esistenti nel contenitore di archiviazione.

I passaggi seguenti usano la portale di Azure, ma con l'estensione App per la logica di Azure appropriata, è anche possibile usare gli strumenti seguenti per creare flussi di lavoro dell'app per la logica:

  1. Nella portale di Azure aprire l'app per la logica a consumo e il flusso di lavoro vuoto nella finestra di progettazione.

  2. Nella finestra di progettazione, nella casella di ricerca selezionare Standard e quindi seguire questi passaggi generali per aggiungere il trigger gestito Archiviazione BLOB di Azure desiderato.

    Questo esempio continua con il trigger denominato Quando viene aggiunto o modificato un BLOB (solo proprietà).This example continua con il trigger denominato When a blob is added or modified (properties only).

  3. Se richiesto, specificare le informazioni seguenti per la connessione all'account di archiviazione. Al termine, seleziona Crea.

    Proprietà Richiesto Descrizione
    Nome connessione Nome della connessione
    Tipo di autenticazione Tipo di autenticazione per l'account di archiviazione. Per altre informazioni, vedere Tipi di autenticazione per trigger e azioni che supportano l'autenticazione - Proteggere l'accesso e i dati.

    Ad esempio, questa connessione usa l'autenticazione della chiave di accesso e fornisce il valore della chiave di accesso per l'account di archiviazione insieme ai valori delle proprietà seguenti:

    Proprietà Richiesto Valore Descrizione
    nome account Archiviazione di Azure Sì, ma solo per l'autenticazione della chiave di accesso <storage-account-name> Nome dell'account di archiviazione di Azure in cui è presente il contenitore BLOB.

    Nota: per trovare il nome dell'account di archiviazione, aprire la risorsa dell'account di archiviazione nella portale di Azure. Nel menu delle risorse, in Sicurezza e rete, selezionare Chiavi di accesso. In Archiviazione nome dell'account copiare e salvare il nome.
    chiave di accesso dell'account Archiviazione di Azure
    ma solo per l'autenticazione con chiave di accesso
    <storage-account-access-key> Chiave di accesso per l'account di archiviazione di Azure.

    Nota: per trovare la chiave di accesso, aprire la risorsa dell'account di archiviazione nella portale di Azure. Nel menu della risorsa, in Sicurezza e rete selezionare Chiavi>di accesso key1>Mostra. Copiare e salvare il valore della chiave primaria.

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

  4. Dopo aver visualizzato la casella delle informazioni sul trigger, specificare le informazioni necessarie.

    Per il valore della proprietà Container selezionare l'icona della cartella per cercare il contenitore BLOB. In alternativa, immettere manualmente il percorso usando la sintassi /<container-name>, ad esempio:

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

  5. Per aggiungere altre proprietà disponibili per questo trigger, aprire l'elenco Aggiungi nuovo parametro e selezionare le proprietà desiderate.

    Per altre informazioni, vedere Archiviazione BLOB di Azure proprietà del trigger del connettore gestito.

  6. Aggiungere qualsiasi altra azione richiesta dal flusso di lavoro.

  7. Al termine, salvare il flusso di lavoro. Sulla barra degli strumenti della finestra di progettazione seleziona Salva.

Aggiungere un'azione BLOB

Un flusso di lavoro dell'app per la logica a consumo può usare solo il connettore gestito Archiviazione BLOB di Azure. Tuttavia, un flusso di lavoro dell'app per la logica Standard può usare il connettore gestito Archiviazione BLOB di Azure e il connettore predefinito BLOB di Azure. Ogni versione ha più azioni, ma denominate in modo diverso. Ad esempio, le versioni del connettore gestite e predefinite hanno le proprie azioni per ottenere i metadati dei file e ottenere il contenuto del file.

  • Azioni del connettore gestito: queste azioni vengono eseguite in un flusso di lavoro a consumo o standard.

  • Azioni del connettore predefinite: queste azioni vengono eseguite solo in un flusso di lavoro 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 i flussi di lavoro dell'app per la logica:

  1. Nella portale di Azure aprire l'app per la logica a consumo e il flusso di lavoro nella finestra di progettazione.

  2. Se il flusso di lavoro è vuoto, aggiungere il trigger richiesto dallo scenario.

    In questo esempio viene usato il trigger Ricorrenza.

  3. Nella finestra di progettazione seguire questi passaggi generali per trovare e aggiungere l'azione gestita Archiviazione BLOB di Azure desiderata.

    Questo esempio continua con l'azione get blob content ( Recupera contenuto BLOB).

  4. Se richiesto, specificare le informazioni seguenti per la connessione. Al termine, seleziona Crea.

    Proprietà Richiesto Descrizione
    Nome connessione Nome della connessione
    Tipo di autenticazione Tipo di autenticazione per l'account di archiviazione. Per altre informazioni, vedere Tipi di autenticazione per trigger e azioni che supportano l'autenticazione - Proteggere l'accesso e i dati.

    Ad esempio, questa connessione usa l'autenticazione della chiave di accesso e fornisce il valore della chiave di accesso per l'account di archiviazione insieme ai valori delle proprietà seguenti:

    Proprietà Richiesto Valore Descrizione
    nome account Archiviazione di Azure
    ma solo per l'autenticazione con chiave di accesso
    <storage-account-name> Nome dell'account di archiviazione di Azure in cui è presente il contenitore BLOB.

    Nota: per trovare il nome dell'account di archiviazione, aprire la risorsa dell'account di archiviazione nella portale di Azure. Nel menu delle risorse, in Sicurezza e rete, selezionare Chiavi di accesso. In Archiviazione nome dell'account copiare e salvare il nome.
    chiave di accesso dell'account Archiviazione di Azure
    ma solo per l'autenticazione con chiave di accesso
    <storage-account-access-key> Chiave di accesso per l'account di archiviazione di Azure.

    Nota: per trovare la chiave di accesso, aprire la risorsa dell'account di archiviazione nella portale di Azure. Nel menu della risorsa, in Sicurezza e rete selezionare Chiavi>di accesso key1>Mostra. Copiare e salvare il valore della chiave primaria.

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

  5. Nella casella informazioni sull'azione specificare le informazioni necessarie.

    Ad esempio, nell'azione Recupera contenuto BLOB specificare il nome dell'account di archiviazione. Per il valore della proprietà BLOB selezionare l'icona della cartella per cercare il contenitore o la cartella di archiviazione. In alternativa, immettere manualmente il percorso.

    Attività Sintassi del percorso BLOB
    Ottenere il contenuto da un BLOB specifico nella cartella radice. /<container-name>/<blob-name>
    Ottenere il contenuto da un BLOB specifico in una sottocartella. /<container-name>/<subfolder>/<blob-name>

    L'esempio seguente illustra la configurazione dell'azione che ottiene il contenuto da un BLOB nella cartella radice:

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

    L'esempio seguente illustra la configurazione dell'azione che ottiene il contenuto da un BLOB nella sottocartella:

    Screenshot showing Consumption workflow with Blob action setup for subfolder.

  6. Aggiungere qualsiasi altra azione richiesta dal flusso di lavoro.

  7. Al termine, salvare il flusso di lavoro. Sulla barra degli strumenti della finestra di progettazione seleziona Salva.

Accedere agli account di archiviazione dietro i firewall

È possibile aggiungere la sicurezza di rete a un account di archiviazione di Azure limitando l'accesso con un firewall e regole del firewall. Tuttavia, questa configurazione causa alcune problematiche per Azure e altri servizi Microsoft che devono accedere all'account di archiviazione. La comunicazione locale nel data center astrae gli indirizzi IP interni, quindi consentire semplicemente il traffico attraverso indirizzi IP potrebbe non essere sufficiente per consentire correttamente la comunicazione attraverso il firewall. In base alla Archiviazione BLOB di Azure connettore in uso, sono disponibili le opzioni seguenti:

Accedere agli account di archiviazione in altre aree

Se non si usa l'autenticazione dell'identità gestita, i flussi di lavoro dell'app per la logica non possono accedere direttamente agli account di archiviazione protetti da firewall quando la risorsa dell'app per la logica e l'account di archiviazione esistono nella stessa area. Come soluzione alternativa, inserire la risorsa dell'app per la logica in un'area diversa rispetto all'account di archiviazione. Concedere quindi l'accesso agli indirizzi IP in uscita per i connettori gestiti nell'area.

Nota

Questa soluzione non si applica al connettore azure Table Archiviazione e al connettore di Archiviazione code di Azure. Per accedere al Archiviazione tabella o al Archiviazione coda, usare invece il trigger e l'azione HTTP predefiniti.

Per aggiungere gli indirizzi IP in uscita al firewall dell'account di archiviazione, seguire questa procedura:

  1. Prendere nota degli indirizzi IP in uscita del connettore gestito per l'area della risorsa dell'app per la logica.

  2. Nella portale di Azure trovare e aprire la risorsa dell'account di archiviazione.

  3. Nel menu di spostamento dell'account di archiviazione, in Sicurezza e rete selezionare Rete.

    1. In Consenti l'accesso da selezionare Reti selezionate, che mostra le impostazioni pertinenti.

    2. In Firewall aggiungere gli indirizzi IP o gli intervalli che richiedono l'accesso. Se è necessario accedere all'account di archiviazione dal computer, selezionare Aggiungi l'indirizzo IP client.

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

    3. Al termine, seleziona Salva.

Accedere agli account di archiviazione tramite una rete virtuale attendibile

  • L'app per la logica e l'account di archiviazione sono presenti nella stessa area.

    È possibile inserire l'account di archiviazione in una rete virtuale di Azure creando un endpoint privato e quindi aggiungendo tale rete virtuale all'elenco di reti virtuali attendibili. Per concedere all'app per la logica l'accesso all'account di archiviazione tramite una rete virtuale attendibile, è necessario distribuire tale app per la logica in un ambiente del servizio di integrazione (I edizione Standard), che può connettersi alle risorse in una rete virtuale. È quindi possibile aggiungere le subnet in tale edizione Standard all'elenco attendibile. I connettori di archiviazione basati su I edizione Standard, ad esempio il connettore di Archiviazione BLOB di Azure con controllo delle versioni I edizione Standard, possono accedere direttamente al contenitore di archiviazione. Questa configurazione è la stessa esperienza dell'uso degli endpoint di servizio da un edizione Standard.

  • L'app per la logica e l'account di archiviazione esistono in aree diverse.

    Non è necessario creare un endpoint privato. È sufficiente consentire il traffico attraverso gli indirizzi IP in uscita edizione Standard nell'account di archiviazione.

Accedere agli account di archiviazione tramite l'integrazione della rete virtuale

  • L'app per la logica e l'account di archiviazione sono presenti nella stessa area.

    È possibile inserire l'account di archiviazione in una rete virtuale di Azure creando un endpoint privato e quindi aggiungendo tale rete virtuale all'elenco di reti virtuali attendibili. Per concedere all'app per la logica l'accesso all'account di archiviazione, è necessario configurare il traffico in uscita usando l'integrazione della rete virtuale per abilitare la connessione alle risorse in una rete virtuale. È quindi possibile aggiungere la rete virtuale all'elenco di reti virtuali attendibili dell'account di archiviazione.

  • L'app per la logica e l'account di archiviazione esistono in aree diverse.

    Non è necessario creare un endpoint privato. È sufficiente consentire il traffico attraverso gli indirizzi IP in uscita edizione Standard nell'account di archiviazione.

Accedere alle Archiviazione BLOB nella stessa area con identità gestite dal sistema

Per connettersi a Archiviazione BLOB di Azure in qualsiasi area, è possibile usare le identità gestite per l'autenticazione. È possibile creare un'eccezione che fornisce servizi attendibili Microsoft, ad esempio un'identità gestita, l'accesso all'account di archiviazione tramite un firewall.

Nota

Questa soluzione non si applica alle app per la logica Standard. Anche se si usa un'identità gestita assegnata dal sistema con un'app per la logica Standard, il connettore gestito Archiviazione BLOB di Azure non può connettersi a un account di archiviazione nella stessa area.

Per usare le identità gestite nell'app per la logica per accedere ai Archiviazione BLOB, seguire questa procedura:

  1. Configurare l'accesso all'account di archiviazione.

  2. Creare un'assegnazione di ruolo per l'app per la logica.

  3. Abilitare il supporto per l'identità gestita nell'app per la logica.

Nota

Questa soluzione presenta le limitazioni seguenti:

Per autenticare la connessione all'account di archiviazione, è necessario configurare un'identità gestita assegnata dal sistema. Un'identità gestita assegnata dall'utente non funzionerà.

Configurare l'accesso all'account di archiviazione

Per configurare l'eccezione e il supporto dell'identità gestita, configurare innanzitutto l'accesso appropriato all'account di archiviazione:

  1. Nella portale di Azure trovare e aprire la risorsa dell'account di archiviazione.

  2. Nel menu di spostamento dell'account di archiviazione, in Sicurezza e rete selezionare Rete.

    1. In Consenti l'accesso da selezionare Reti selezionate, che mostra le impostazioni pertinenti.

    2. Se è necessario accedere all'account di archiviazione dal computer, in Firewall selezionare Aggiungi l'indirizzo IP client.

    3. In Eccezioni selezionare Consenti servizi Microsoft attendibile di accedere a questo account di archiviazione.

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

    4. Al termine, seleziona Salva.

Nota

Se viene visualizzato un errore 403 Accesso negato quando si tenta di connettersi all'account di archiviazione dal flusso di lavoro, esistono più possibili cause. Provare la risoluzione seguente prima di passare a passaggi aggiuntivi. Prima di tutto, disabilitare l'impostazione Consenti alle servizi Microsoft attendibili di accedere a questo account di archiviazione e salvare le modifiche. Riabilitare quindi l'impostazione e salvare di nuovo le modifiche.

Creare un'assegnazione di ruolo per l'app per la logica

Abilitare quindi il supporto dell'identità gestita nella risorsa dell'app per la logica.

I passaggi seguenti sono gli stessi per le app per la logica a consumo in ambienti multi-tenant e app per la logica Standard in ambienti a tenant singolo.

  1. Nella portale di Azure aprire la risorsa dell'app per la logica.

  2. Nel menu di spostamento delle risorse dell'app per la logica, in Impostazioni selezionare Identità.

  3. Nel riquadro Assegnato dal sistema impostare Stato su , se non è già abilitato, selezionare Salva e confermare le modifiche. In Autorizzazioni selezionare Assegnazioni di ruolo di Azure.

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

  4. Nel riquadro Assegnazioni di ruolo di Azure selezionare Aggiungi assegnazione di ruolo.

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

  5. Nel riquadro Aggiungi assegnazioni di ruolo configurare la nuova assegnazione di ruolo con i valori seguenti:

    Proprietà valore Descrizione
    Scope <ambito risorsa> Set di risorse in cui si vuole applicare l'assegnazione di ruolo. Per questo esempio, selezionare Archiviazione.
    Abbonamento <Sottoscrizione di Azure> Sottoscrizione di Azure per l'account di archiviazione.
    Conto risorse <storage-account-name> Nome dell'account di archiviazione a cui si vuole accedere dal flusso di lavoro dell'app per la logica.
    Ruolo <role-to-assign> Ruolo necessario per il flusso di lavoro per il funzionamento della risorsa da parte del flusso di lavoro. Questo esempio richiede Archiviazione Collaboratore dati BLOB, che consente l'accesso ai contenitori BLOB e alla data di lettura, scrittura ed eliminazione. Per informazioni dettagliate sulle autorizzazioni, spostare il mouse sull'icona delle informazioni accanto a un ruolo nel menu a discesa.

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

  6. Al termine, selezionare Salva per completare la creazione dell'assegnazione di ruolo.

Abilitare il supporto delle identità gestite nell'app per la logica

Completare quindi i passaggi seguenti:

  1. Se si dispone di un flusso di lavoro vuoto, aggiungere un trigger del connettore Archiviazione BLOB di Azure. In caso contrario, aggiungere un'azione connettore Archiviazione BLOB di Azure. Assicurarsi di creare una nuova connessione per il trigger o l'azione, anziché usare una connessione esistente.

  2. Assicurarsi di impostare il tipo di autenticazione per usare l'identità gestita.

  3. Dopo aver configurato il trigger o l'azione, è possibile salvare il flusso di lavoro e testare il trigger o l'azione.

Risolvere i problemi relativi all'accesso agli account di archiviazione

  • "Questa richiesta non è autorizzata a eseguire questa operazione".

    L'errore seguente è un problema comunemente segnalato che si verifica quando l'app per la logica e l'account di archiviazione si trovano nella stessa area. Tuttavia, sono disponibili opzioni per risolvere questa limitazione, come descritto nella sezione Accedere agli account di archiviazione dietro i firewall.

    {
       "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"
    }
    

Errori di Application Insights

  • Errori 404 e 409

    Se il flusso di lavoro Standard usa un'azione predefinita blob di Azure che aggiunge un BLOB al contenitore di archiviazione, potrebbero verificarsi errori 404 e 409 in Application Insights per le richieste non riuscite. Questi errori sono previsti perché il connettore controlla se il file BLOB esiste prima di aggiungere il BLOB. Gli errori vengono restituiti quando il file non esiste. Nonostante questi errori, l'azione predefinita aggiunge correttamente il BLOB.

Passaggi successivi