Leggere in inglese

Condividi tramite


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

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

Questa guida pratica illustra come accedere all'account di Archiviazione BLOB di Azure e al contenitore 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, che vadano in esecuzione quando vengono attivati da eventi nel contenitore di archiviazione o in altri sistemi, e che eseguano 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 all'Archiviazione BLOB di Azure da un flusso di lavoro nei tipi di risorse app per la logica (A consumo) e app per la logica (Standard). È possibile usare il connettore con flussi di lavoro di app per la logica in App per la logica di Azure multi-tenant e app per la logica di Azure a tenant singolo. Con App per la logica (Standard) è possibile usare le operazioni del connettore predefinito di BLOB di Azure o le operazioni del connettore gestito di Archiviazione BLOB di Azure.

Informazioni tecniche sul connettore

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

App per la logica 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 di Archiviazione BLOB di Azure
- 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), che compare nella raccolta connettori in Runtime>Condiviso, e connettore predefinito, basato sul provider di servizi e che compare nella raccolta connettori in Runtime>In app. La versione predefinita varia per:

- La versione predefinita si connette direttamente all'account di archiviazione di Azure che richiede solo una 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 di Archiviazione BLOB di Azure
- Informazioni di riferimento sul connettore predefinito blob di Azure
- Connettori predefiniti in App per la logica di Azure

Limiti

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

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

    1. Usare un trigger che restituisce le proprietà del file, ad esempio quando un blob viene aggiunto o modificato (solo proprietà).

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

  • Limiti dei trigger di Archiviazione BLOB di Azure

    • 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 di Archiviazione BLOB di Azure. Tuttavia, un flusso di lavoro dell'app per la logica Standard può usare il connettore gestito di Archiviazione BLOB di Azure e il connettore predefinito BLOB di Azure. Sebbene entrambe le versioni del connettore forniscano un solo trigger BLOB, a seconda che si stia usando un flusso di lavoro A consumo o Standard, il nome del trigger varia nei seguenti aspetti:

App per la logica Versione del connettore Nome trigger Descrizione
Consumo Solo connettore gestito Quando viene aggiunto o modificato un BLOB (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 il 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 delle app per la logica:

  1. Nel 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 successivamente seguire questa procedura generale per aggiungere il trigger gestito di Archiviazione BLOB di Azure desiderato.

    Questo esempio continua con il trigger denominato Quando viene aggiunto o modificato un BLOB (solo proprietà).

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

    Proprietà Richiesto Descrizione
    Nome connessione Un nome per la connessione
    Tipo di autenticazione Tipo di autenticazione per l'account di archiviazione. Per maggiori 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 dell'account dell’Archiviazione di Azure Sì, ma solo per l'autenticazione della chiave di accesso <storage-account-name> Nome per l'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 nel portale di Azure. Nel menù delle risorse, in Sicurezza e rete, selezionare Chiavi di accesso. In Nome account di archiviazione, copiare e salvare il nome.
    Chiave di accesso dell'account di archiviazione di Azure Sì,
    ma solo per l'autenticazione con chiave di accesso
    <chiave-accesso-account-archiviazione> Chiave di accesso per l'account di archiviazione di Azure.

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

    Screenshot che mostra il flusso di lavoro A consumo, il trigger di Archiviazione BLOB di Azure e le informazioni della connessione di esempio.

  4. Quando appare la casella delle informazioni sul trigger, fornire le informazioni necessarie.

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

    Screenshot che mostra il flusso di lavoro A consumo con il trigger di Archiviazione BLOB di Azure e informazioni sul trigger di esempio.

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

    Per maggiori informazioni, vedere Proprietà del trigger del connettore gestito di Archiviazione BLOB di Azure.

  6. Aggiungere tutte le azioni necessarie al 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 di Archiviazione BLOB di Azure. Tuttavia, un flusso di lavoro dell'app per la logica Standard può usare il connettore gestito di Archiviazione BLOB di Azure e il connettore predefinito BLOB di Azure. Ogni versione ha più azioni, ma denominate in modo diverso. 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 A consumo o Standard.

  • Azioni del connettore predefinito: queste azioni vengono eseguite solo in un flusso di lavoro Standard.

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. Nel portale di Azure, aprire l'app per la logica e il flusso di lavoro A consumo 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 questa procedura generale per trovare e aggiungere l'azione gestita di Archiviazione BLOB di Azure desiderata.

    Questo esempio continua con l'azione denominata Recupera contenuto BLOB.

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

    Proprietà Richiesto Descrizione
    Nome connessione Un nome per la connessione
    Tipo di autenticazione Tipo di autenticazione per l'account di archiviazione. Per maggiori 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 dell'account dell’Archiviazione di Azure Sì,
    ma solo per l'autenticazione con chiave di accesso
    <storage-account-name> Nome per l'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 nel portale di Azure. Nel menù delle risorse, in Sicurezza e rete, selezionare Chiavi di accesso. In Nome account di archiviazione, copiare e salvare il nome.
    Chiave di accesso dell'account di archiviazione di Azure Sì,
    ma solo per l'autenticazione con chiave di accesso
    <chiave-accesso-account-archiviazione> Chiave di accesso per l'account di archiviazione di Azure.

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

    Screenshot che mostra il flusso di lavoro A consumo, l'azione del blob di Azure e informazioni della connessione di esempio.

  5. Nella casella delle 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 esplorare 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 che mostra il flusso di lavoro A consumo con la configurazione dell'azione BLOB per la cartella radice.

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

    Screenshot che mostra il flusso di lavoro A consumo con la configurazione dell'azione BLOB per la sottocartella.

  6. Aggiungere tutte le azioni necessarie al 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 protetti dal 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 una comunicazione efficace attraverso il firewall. A seconda del connettore di Archiviazione BLOB di Azure utilizzato, 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 archiviazione tabelle di Azure e al connettore archiviazione code di Azure. Per accedere all'archiviazione tabelle o all'archiviazione code, usare 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. Nel portale di Azure cercare e aprire la risorsa account di archiviazione.

  3. Nel menù 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 si vuole accedere all'account di archiviazione dal computer, selezionare Aggiungi l'indirizzo IP client.

      Screenshot della pagina di rete dell'account di archiviazione BLOB nel portale di Azure, che mostra le impostazioni del firewall per aggiungere indirizzi IP e intervalli all'elenco degli elementi consentiti.

    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 aggiungere 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 creare un'app per la logica Standard, che può connettersi alle risorse in una rete virtuale.

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

    Creare un endpoint privato nell'account di archiviazione per l'accesso.

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 aggiungere tale rete virtuale all'elenco delle 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.

    Creare un endpoint privato nell'account di archiviazione per l'accesso.

Accedere all'archiviazione BLOB nella stessa area con identità gestite dal sistema

Per connettersi all'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 di 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 all'archiviazione BLOB, seguire questa procedura:

  1. Autorizzare 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. Ciò non è possibile con un'identità gestita assegnata dall'utente.

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. Nel portale di Azure cercare e aprire la risorsa account di archiviazione.

  2. Nel menù 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 si desidera accedere all'account di archiviazione dal computer, in Firewall, selezionare Aggiungi l'indirizzo IP client.

    3. In Eccezioni, selezionare Consenti ai servizi Microsoft attendibili di accedere a questo account di archiviazione.

      Screenshot che mostra il portale di Azure e il riquadro rete dell'account di archiviazione BLOB con le impostazioni consenti.

    4. Al termine, seleziona Salva.

Nota

Se compare un errore 403 Accesso negato quando si tenta di connettersi all'account di archiviazione dal flusso di lavoro, vi sono diverse possibili cause. Provare la risoluzione seguente prima di passare a passaggi aggiuntivi. Prima di tutto, disabilitare l'impostazione Consenti ai 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

Successivamente, abilitare 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. Nel portale di Azure aprire la risorsa app per la logica.

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

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

    Screenshot che mostra il menù delle risorse del portale di Azure e dell'app per la logica con il riquadro delle impostazioni

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

    Screenshot che mostra il riquadro assegnazioni di ruolo dell'app per la logica con la sottoscrizione e il pulsante selezionati per aggiungere una nuova assegnazione di ruolo.

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

    Proprietà valore Descrizione
    Scope <resource-scope> 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 allo scenario per il funzionamento del flusso di lavoro con la risorsa. Questo esempio richiede collaboratore ai dati dei BLOB di archiviazione, che consente di leggere, scrivere ed eliminare l’accesso ai contenitori blob e alla data. Per informazioni dettagliate sulle autorizzazioni, spostare il mouse sull'icona delle informazioni accanto a un ruolo nel menù a discesa.

    Screenshot del riquadro di configurazione dell'assegnazione di ruolo, che mostra le impostazioni per ambito, sottoscrizione, risorsa e ruolo.

  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 di Archiviazione BLOB di Azure. In caso contrario, aggiungere un'azione del connettore di 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 protetti dal 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"
    }
    

Eventi 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 gli 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