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:
Usare un trigger che restituisce le proprietà del file, ad esempio quando un blob viene aggiunto o modificato (solo proprietà).
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
Account e sottoscrizione di Azure. Se non si ha una sottoscrizione di Azure, iscriversi per creare un account Azure gratuito.
Flusso di lavoro dell'app per la logica da cui si vuole accedere all'account di archiviazione di Azure. Per avviare il flusso di lavoro con un trigger BLOB di Azure, è necessario un flusso di lavoro vuoto. Per usare un'azione BLOB di Azure, avviare il flusso di lavoro con un trigger qualsiasi.
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:
Flussi di lavoro delle app per la logica a consumo: Visual Studio Code
Creare flussi di lavoro dell'app per la logica Standard: Visual Studio Code
Nel portale di Azure, aprire l'App per la logica a consumo e il flusso di lavoro vuoto nella finestra di progettazione.
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à).
Se richiesto, fornire le informazioni seguenti per la connessione all'account di archiviazione. Al termine, seleziona Crea.
Proprietà Richiesto Descrizione Nome connessione Sì Un nome per la connessione Tipo di autenticazione Sì 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.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:
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.
Aggiungere tutte le azioni necessarie al flusso di lavoro.
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:
- Flussi di lavoro a consumo: Visual Studio Code
- Creare flussi di lavoro Standard: Visual Studio Code
Nel portale di Azure, aprire l'app per la logica e il flusso di lavoro A consumo nella finestra di progettazione.
Se il flusso di lavoro è vuoto, aggiungere il trigger richiesto dallo scenario.
In questo esempio viene usato il trigger Ricorrenza.
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.
Se viene chiesto, specificare le informazioni seguenti per la connessione. Al termine, seleziona Crea.
Proprietà Richiesto Descrizione Nome connessione Sì Un nome per la connessione Tipo di autenticazione Sì 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.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:
L'esempio seguente illustra la configurazione dell'azione che ottiene il contenuto da un BLOB nella sottocartella:
Aggiungere tutte le azioni necessarie al flusso di lavoro.
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:
Per accedere agli account di archiviazione protetti da firewall usando il connettore gestito di Archiviazione BLOB di Azure nelle app per la logica A consumo, vedere la documentazione seguente:
Per accedere agli account di archiviazione protetti dal firewall nelle app per la logica Standard, vedere la documentazione seguente:
Connettore predefinitodi Archiviazione BLOB di Azure: accedere agli account di archiviazione tramite l'integrazione della rete virtuale
Connettore gestito di Archiviazione BLOB di Azure: accedere agli account di archiviazione in altre aree
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:
Prendere nota degli indirizzi IP in uscita del connettore gestito per l'area della risorsa dell'app per la logica.
Nel portale di Azure cercare e aprire la risorsa account di archiviazione.
Nel menù di spostamento dell'account di archiviazione, in Sicurezza e rete, selezionare Rete.
In Consenti l'accesso da, selezionare Reti selezionate, che mostra le impostazioni pertinenti.
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.
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:
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:
Nel portale di Azure cercare e aprire la risorsa account di archiviazione.
Nel menù di spostamento dell'account di archiviazione, in Sicurezza e rete, selezionare Rete.
In Consenti l'accesso da, selezionare Reti selezionate, che mostra le impostazioni pertinenti.
Se si desidera accedere all'account di archiviazione dal computer, in Firewall, selezionare Aggiungi l'indirizzo IP client.
In Eccezioni, selezionare Consenti ai servizi Microsoft attendibili di accedere a questo account di archiviazione.
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.
Nel portale di Azure aprire la risorsa app per la logica.
Nel menù di spostamento delle risorse dell'app per la logica, in Impostazioni, selezionare Identità.
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.
Nel riquadro Assegnazioni di ruolo di Azure, selezionare Aggiungi assegnazione di ruolo.
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. 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:
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.
Assicurarsi di impostare il tipo di autenticazione per usare l'identità gestita.
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.