Connettersi a un database SQL 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 al database SQL da un flusso di lavoro in App per la logica di Azure con il connettore SQL Server. È quindi possibile creare flussi di lavoro automatizzati eseguiti quando vengono attivati da eventi nel database SQL o in altri sistemi ed eseguire azioni per gestire i dati e le risorse SQL.

Ad esempio, il flusso di lavoro può eseguire azioni che ottengono, inseriscono ed eliminano dati o che possono eseguire query SQL e stored procedure. Il flusso di lavoro può verificare la presenza di nuovi record in un database non SQL, eseguire alcune operazioni di elaborazione, usare i risultati per creare nuovi record nel database SQL e inviare avvisi di posta elettronica sui nuovi record.

Se non si ha familiarità con App per la logica di Azure, vedere la documentazione introduttiva seguente:

Edizioni SQL supportate

Il connettore SQL Server supporta le edizioni di SQL seguenti:

Informazioni tecniche sul connettore

Il connettore SQL Server ha versioni diverse, 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 SQL Server
- 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, visualizzato nella raccolta dei connettori in Runtime>Condiviso e connettore predefinito, visualizzato nella raccolta dei connettori in Runtime>in-App ed è basato sul provider di servizi. Il connettore predefinito è diverso nei modi seguenti:

- Il connettore predefinito può connettersi direttamente a un database SQL e accedere alle reti virtuali di Azure usando una stringa di connessione senza un gateway dati locale.

Per altre informazioni, vedere la documentazione seguente:

- Informazioni di riferimento sul connettore gestito di SQL Server
- Informazioni di riferimento sul connettore predefinito di SQL Server
- Connettori predefiniti in App per la logica di Azure

Limiti

Per altre informazioni, vedere le informazioni di riferimento sul connettore gestito di SQL Server o le informazioni di riferimento sul connettore predefinito di SQL Server.

Prerequisiti

  • Account e sottoscrizione di Azure. Se non si ha una sottoscrizione, è possibile iscriversi per creare un account Azure gratuito.

  • Database di SQL Server, Database SQL di Azure o Istanza gestita di SQL.

    Il connettore SQL Server richiede che le tabelle contengano dati in modo che le operazioni del connettore possano restituire risultati quando viene chiamato. Ad esempio, se si usa il database SQL di Azure, è possibile usare i database di esempio inclusi per provare le operazioni del connettore SQL Server.

  • Informazioni necessarie per creare una connessione al database SQL, ad esempio il server SQL e il nome del database. Se si usa l'autenticazione di Windows o l'autenticazione di SQL Server per autenticare l'accesso, sono necessari anche il nome utente e la password. In genere è possibile trovare queste informazioni nella stringa di connessione.

    Importante

    Se si usa una stringa di connessione di SQL Server copiata direttamente dal portale di Azure, è necessario aggiungere manualmente la password alla stringa di connessione. Per informazioni riservate, ad esempio questa stringa, assicurarsi di usare il flusso di autenticazione più sicuro disponibile. Microsoft consiglia di autenticare l'accesso alle risorse di Azure con un'identità gestita, quando possibile, e assegnare un ruolo con i privilegi minimi necessari.

    Se questa funzionalità non è disponibile, assicurarsi di proteggere le stringhe di connessione tramite altre misure, ad esempio Azure Key Vault, che è possibile usare con le impostazioni dell'app nei flussi di lavoro Standard. È quindi possibile fare riferimento direttamente a stringhe sicure, ad esempio stringhe di connessione e chiavi. Analogamente ai modelli ARM, in cui è possibile definire le variabili di ambiente in fase di distribuzione, è possibile definire le impostazioni dell'app all'interno della definizione del flusso di lavoro dell'app per la logica Standard. È quindi possibile acquisire valori di infrastruttura generati dinamicamente, ad esempio endpoint di connessione, stringhe di archiviazione e altri. Per altre informazioni, vedere Tipi di applicazione per Microsoft Identity Platform.

    • Per un database SQL in Azure, la stringa di connessione ha il formato seguente:

      Server=tcp:{your-server-name}.database.windows.net,1433;Initial Catalog={your-database-name};Persist Security Info=False;User ID={your-user-name};Password={your-password};MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;

      1. Per trovare questa stringa nel portale di Azure, aprire il database.

      2. Nel menu del database, in Proprietà, selezionare Stringhe di connessione.

    • Per un server SQL locale, la stringa di connessione ha il formato seguente:

      Server={your-server-address};Database={your-database-name};User Id={your-user-name};Password={your-password};

  • Nei flussi di lavoro Standard, per usare i trigger predefiniti di SQL, è necessario abilitare il rilevamento delle modifiche nella tabella in cui si desidera usare il trigger. Per altre informazioni, vedere Abilitare e disabilitare il rilevamento delle modifiche.

  • Flusso di lavoro dell'app per la logica in cui si desidera accedere al database SQL. Per avviare il flusso di lavoro con un trigger di SQL Server, è necessario iniziare con un flusso di lavoro vuoto. Per usare un'azione di SQL Server, avviare il flusso di lavoro con qualsiasi trigger.

  • Per connettersi a un server SQL locale, si applicano i requisiti aggiuntivi seguenti, in base al fatto che si disponga di un flusso di lavoro di app per la logica A consumo o Standard.

    • Flusso di lavoro A consumo

      In App per la logica di Azure multi-tenant è necessario che il gateway dati locale sia installato in un computer locale e in una risorsa gateway dati già creata in Azure.

    • Flusso di lavoro Standard

      È possibile usare il connettore predefinito di SQL Server o il connettore gestito.

      • Per usare l'autenticazione di Microsoft Entra o l'autenticazione dell'identità gestita con l'app per la logica, è necessario configurare SQL Server per usare questi tipi di autenticazione. Per altre informazioni, vedere Autenticazione - Informazioni di riferimento sul connettore gestito di SQL Server.

      • Per usare il connettore predefinito, è possibile autenticare la connessione con un'identità gestita, un ID Microsoft Entra o una stringa di connessione. È possibile modificare il pooling di connessioni specificando i parametri nella stringa di connessione. Per altre informazioni, vedere Pooling di connessioni.

      • Per usare il connettore gestito di SQL Server, seguire gli stessi requisiti di un flusso di lavoro dell'app per la logica A consumo in App per la logica di Azure multi-tenant. Per altri requisiti del connettore, vedere le informazioni di riferimento sul connettore gestito di SQL Server.

Aggiungere un trigger di SQL Server

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 selezionare Standardnella casella di ricerca. Seguire quindi questa procedura generale per aggiungere il trigger gestito di SQL Server desiderato.

    Questo esempio continua con il trigger denominato Quando viene creato un elemento.

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

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

    Per questo esempio, nel trigger denominato Quando viene creato un elemento, specificare i valori per il nome del server SQL e il nome del database, se non sono stati specificati in precedenza. In caso contrario, nell'elenco Nome tabella selezionare la tabella da usare. Selezionare Frequenza e Intervallo per impostare la pianificazione per il trigger per verificare la presenza di nuovi elementi.

    Screenshot che mostra La finestra di progettazione del flusso di lavoro A consumo e l'azione gestita denominata Quando viene creato un elemento.

  5. Se per questo trigger sono disponibili altre proprietà, aprire l'elenco Aggiungi nuovo parametro e selezionare le proprietà rilevanti per lo scenario.

    Questo trigger restituisce soltanto una riga della tabella selezionata. Per eseguire altre attività, continuare aggiungendo un'azione del connettore SQL Server o un'altra azione che esegue l'attività successiva desiderata nel flusso di lavoro dell'app per la logica.

    Ad esempio, per visualizzare i dati in questa riga, è possibile aggiungere altre azioni per la creazione di un file che include i campi dalla riga restituita e quindi inviare avvisi di posta elettronica. Per altre informazioni sulle altre azioni disponibili per questo connettore, vedere le informazioni di riferimento sul connettore gestito di SQL Server.

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

Quando si salva il flusso di lavoro, questo passaggio pubblica automaticamente gli aggiornamenti nell'app per la logica distribuita, disponibile in Azure. Con solo un trigger, il flusso di lavoro controlla solo il database SQL in base alla pianificazione specificata. È necessario aggiungere un'azione che risponde al trigger.

Aggiungere un'azione di SQL Server

I passaggi seguenti usano il portale di Azure, ma con l'estensione App per la logica di Azure appropriata, è anche possibile usare Visual Studio per modificare i flussi di lavoro delle app per la logica di A consumo o Visual Studio Code con gli strumenti seguenti per modificare i flussi di lavoro delle app per la logica:

In questo esempio, il flusso di lavoro dell'app per la logica inizia con il trigger di ricorrenzae chiama un'azione che ottiene una riga da un database SQL.

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

  2. Nella finestra di progettazione seguire questa procedura generale per aggiungere l'azione gestita di SQL Server desiderata.

    Questo esempio continua con l'azione Ottieni riga, che ottiene un singolo record.

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

  4. Dopo aver visualizzato la casella delle informazioni sull'azione, nell'elenco Nome tabella selezionare la tabella da usare. Nella proprietà ID riga immettere l'ID del record desiderato.

    Per questo esempio, il nome della tabella è SalesLT.Customer.

    Screenshot che mostra La finestra di progettazione del flusso di lavoro A consumo e l'azione Ottieni riga denominata Ottieni riga con il nome della tabella di esempio e l'ID riga vuoto.

    Questa azione restituisce soltanto una riga della tabella selezionata. Per visualizzare i dati in questa riga, aggiungere altre azioni. Ad esempio, tali azioni potrebbero creare un file, includere i campi della riga restituita e archiviare il file in un account di archiviazione cloud. Per informazioni sulle altre azioni disponibili per questo connettore, vedere la pagina di riferimento del connettore.

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

Connettersi al database

Quando si aggiunge un trigger o un'azione che si connette a un servizio o a un sistema e non si dispone di una connessione esistente o attiva, App per la logica di Azure richiede di fornire le informazioni di connessione, che variano in base al tipo di connessione, ad esempio:

  • Credenziali dell'account
  • Un nome da usare per la connessione
  • Il nome del server o del sistema
  • Tipo di autenticazione da usare
  • Una stringa di connessione

Dopo aver specificato queste informazioni, continuare con i passaggi seguenti in base al database di destinazione:

Connettersi al Database SQL di Azure o all'Istanza gestita di SQL

Per accedere a un'istanza gestita di SQL senza usare il gateway dati locale, è necessario configurare l'endpoint pubblico nell'istanza gestita di SQL. L'endpoint pubblico usa la porta 3342, quindi assicurarsi di specificare questo numero di porta quando si crea la connessione dall'app per la logica.

Nella casella delle informazioni di connessione completare i passaggi seguenti:

  1. Alla voce Nome connessione, specificare un nome da usare per la connessione.

  2. Per Tipo di autenticazione selezionare l'autenticazione necessaria e abilitata nel database SQL di Azure o in Istanza gestita di SQL:

    Autenticazione Descrizione
    Stringa di connessione - Supportato solo nei flussi di lavoro Standard con il connettore predefinito di SQL Server.

    - Richiede la stringa di connessione al server SQL e al database.
    Active Directory OAuth - Supportato solo nei flussi di lavoro Standard con il connettore predefinito di SQL Server. Per altre informazioni, vedere la documentazione seguente:

    - Autenticazione per il connettore SQL Server
    - Abilitare Open Authorization con Microsoft Entra ID (OAuth con Microsoft Entra ID)
    - OAuth con Microsoft Entra ID
    Identità gestita di App per la logica - Supportato con il connettore gestito di SQL Server. Nei flussi di lavoro Standard questo tipo di autenticazione è disponibile per il connettore predefinito di SQL Server, ma l'opzione è denominata Identità gestita.

    - Richiede gli elementi seguenti:

    --- Un'identità gestita valida abilitata nella risorsa dell'app per la logica che ha accesso al database.

    --- Ruolo Collaboratore database SQL per l'accesso alla risorsa di SQL Server

    Accesso --- Collaboratore al gruppo di risorse che include la risorsa di SQL Server.

    Per altre informazioni, vedere la documentazione seguente:

    - Autenticazione dell'identità gestita per il connettore SQL Server
    - SQL - Ruoli a livello di server
    Entità servizio (applicazione Microsoft Entra) - Supportato con il connettore gestito di SQL Server.

    - Necessita di un'applicazione Microsoft Entra e un'entità servizio. Per altre informazioni, vedere Creare un'applicazione Microsoft Entra e un'entità servizio in grado di accedere alle risorse tramite il portale di Azure.
    Integrato in Microsoft Entra - Supportato con il connettore gestito di SQL Server.

    - Richiede un'identità gestita valida in Microsoft Entra abilitata nella risorsa dell'app per la logica che ha accesso al database. Per altre informazioni, vedere gli argomenti seguenti:

    - Panoramica della sicurezza SQL di Azure - Autenticazione
    - Autorizzare l'accesso al database a SQL di Azure - Autenticazione e autorizzazione
    - Azure SQL - Autenticazione integrata di Microsoft Entra
    Autenticazione di SQL Server - Supportato con il connettore gestito di SQL Server.

    - Richiede gli elementi seguenti:

    --- Una risorsa gateway dati creata in precedenza in Azure per la connessione, indipendentemente dal fatto che l'app per la logica si trovi in App per la logica di Azure multi-tenant.

    --- Un nome utente valido e una password complessa creati e archiviati nel database di SQL Server. Per altre informazioni, vedere gli argomenti seguenti:

    - Panoramica della sicurezza SQL di Azure - Autenticazione
    - Autorizzare l'accesso al database a SQL di Azure - Autenticazione e autorizzazione

    Negli esempi seguenti viene illustrato come visualizzare la casella delle informazioni di connessione se si usa il connettore gestito di SQL Server e si seleziona Autenticazione Microsoft Entra integrata:

    Flussi di lavoro A consumo

    Screenshot che mostra il portale di Azure, il flusso di lavoro A consumo e le informazioni di connessione cloud di SQL Server con il tipo di autenticazione selezionato.

    Flussi di lavoro Standard

    Screenshot che mostra il portale di Azure, il flusso di lavoro Standard e le informazioni di connessione cloud di SQL Server con il tipo di autenticazione selezionato.

  3. Dopo aver selezionato Microsoft Entra integrata, selezionare Accedi. In base al fatto che si usi il database SQL di Azure o Istanza gestita di SQL, selezionare le credenziali utente per l'autenticazione.

  4. Selezionare questi valori per il database:

    Proprietà Richiesto Descrizione
    Nome server L'indirizzo del server SQL, ad esempio, Fabrikam-Azure-SQL.database.windows.net
    Nome database Nome del database SQL, ad esempio Fabrikam-Azure-SQL-DB
    Nome tabella Tabella da usare, ad esempio SalesLT.Customer

    Suggerimento

    Per fornire informazioni sul database e sulla tabella, sono disponibili queste opzioni:

    • Trovare queste informazioni nella stringa di connessione del database. Ad esempio, nel portale di Azure trovare e aprire il database. Nel menu del database selezionare Stringhe di connessione o Proprietà, in cui è possibile trovare la stringa seguente:

      Server=tcp:{your-server-address}.database.windows.net,1433;Initial Catalog={your-database-name};Persist Security Info=False;User ID={your-user-name};Password={your-password};MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;

    • Per impostazione predefinita, le tabelle nei database di sistema vengono filtrate, quindi potrebbero non essere visualizzate automaticamente quando si seleziona un database di sistema. In alternativa, è possibile immettere manualmente il nome della tabella dopo aver selezionato Immettere un valore personalizzato nell'elenco di database.

    Questa casella di informazioni sul database è simile all'esempio seguente:

    Flussi di lavoro A consumo

    Screenshot che mostra le informazioni sul cloud del database SQL con valori di esempio per A consumo.

    Flussi di lavoro Standard

    Screenshot che mostra le informazioni sul database cloud SQL con valori di esempio per Standard.

  5. Continuare ora con i passaggi non ancora completati in Aggiungere un trigger SQL o Aggiungere un'azione SQL.

Connettersi a SQL Server locale

Nella casella delle informazioni di connessione completare i passaggi seguenti:

  1. Per le connessioni al server SQL locale che richiedono il gateway dati locale, assicurarsi di aver completato questi prerequisiti.

    In caso contrario, la risorsa gateway dati non viene visualizzata nell'elenco Gateway di connessione quando si crea la connessione.

  2. Per Tipo di autenticazione selezionare l'autenticazione necessaria e abilitata in SQL Server:

    Autenticazione Descrizione
    Autenticazione di SQL Server - Supportato con il connettore gestito di SQL Server e il connettore predefinito di SQL Server.

    - Richiede gli elementi seguenti:

    --- Una risorsa gateway dati creata in precedenza in Azure per la connessione, indipendentemente dal fatto che l'app per la logica si trovi in App per la logica di Azure multi-tenant.

    --- Un nome utente valido e una password complessa creati e archiviati in SQL Server.

    Per altre informazioni, vedere Autenticazione di SQL Server.
    Autenticazione di Windows - Supportato con il connettore gestito di SQL Server.

    - Richiede gli elementi seguenti:

    --- Una risorsa gateway dati creata in precedenza in Azure per la connessione, indipendentemente dal fatto che l'app per la logica si trovi in App per la logica di Azure multi-tenant.

    --- Un nome utente e una password di Windows validi per confermare l'identità tramite l'account di Windows.

    Per altre informazioni, vedere Autenticazione di Windows.
  3. Selezionare o specificare i valori seguenti per il database SQL:

    Proprietà Richiesto Descrizione
    Nome del server SQL Indirizzo del server SQL, ad esempio Fabrikam-Azure-SQL.database.windows.net
    Nome database SQL Nome del database DI SQL Server, ad esempio Fabrikam-Azure-SQL-DB
    Nome utente Nome utente per SQL server e database
    Password Password per SQL server e database
    Abbonamento Sì. per l'autenticazione di Windows Sottoscrizione di Azure per la risorsa gateway dati creata in precedenza in Azure
    Gateway connessione Sì. per l'autenticazione di Windows Nome della risorsa gateway dati creata in precedenza in Azure



    Suggerimento: se il gateway non compare nell'elenco, verificare di avere configurato il gateway correttamente.

    Suggerimento

    È possibile trovare queste informazioni nella stringa di connessione del database:

    • Server={your-server-address}
    • Database={your-database-name}
    • User ID={your-user-name}
    • Password={your-password}

    Negli esempi seguenti viene illustrato come visualizzare la casella delle informazioni di connessione se si seleziona l'autenticazione di Windows.

    Flussi di lavoro A consumo

    Screenshot che mostra il portale di Azure, il flusso di lavoro A consumo e le informazioni di connessione locali di SQL Server con l'autenticazione selezionata.

    Flussi di lavoro Standard

    Screenshot che mostra il portale di Azure, il flusso di lavoro Standard e le informazioni di connessione locali di SQL Server con l'autenticazione selezionata.

  4. Al termine, selezionare Crea.

  5. Continuare ora con i passaggi non ancora completati in Aggiungere un trigger SQL o Aggiungere un'azione SQL.

Gestire i dati in blocco

In alcuni casi, si lavora con set di risultati così grandi che il connettore non restituisce tutti i risultati contemporaneamente. In alternativa, è necessario controllare meglio le dimensioni e la struttura per i set di risultati. L'elenco seguente include alcuni modi in cui è possibile gestire set di risultati di grandi dimensioni:

Gestire i dati in blocco dinamici

Quando si chiama una stored procedure usando il connettore SQL Server, l'output restituito è talvolta dinamico. In questo scenario, seguire questi passaggi:

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

  2. Visualizzare il formato di output eseguendo un'esecuzione di test. Copiare e salvare l'output di esempio.

  3. Nella finestra di progettazione, sotto l'azione in cui si chiama la stored procedure, aggiungere l'azione predefinita denominata Analizza JSON.

  4. Nell'azione Analizza JSON selezionare Usare il payload di esempio per generare lo schema.

  5. Nella casella Immettere o incollare un payload JSON di esempio incollare l'output di esempio e selezionare Fatto.

    Nota

    Se viene restituito un errore che indica che App per la logica di Azure non può generare uno schema, verificare che la sintassi dell'output di esempio sia formattata correttamente. Se non si riesce ancora a generare lo schema, immetterne manualmente uno nella casella Schema.

  6. Al termine, salvare il flusso di lavoro.

  7. Per fare riferimento alle proprietà del contenuto JSON, selezionare all'interno delle caselle di modifica in cui si desidera fare riferimento a tali proprietà in modo che venga visualizzato l'elenco di contenuto dinamico. Nell'elenco, sotto l'intestazione Analizza JSON, selezionare i token di dati per le proprietà del contenuto JSON desiderata.

Passaggi successivi