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 (consumo + 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:

Riferimento tecnico Connessione or

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 di Connessione or
Consumo App per la logica di Azure multi-tenant Connettore gestito, visualizzato nella finestra di progettazione sotto l'etichetta Standard . 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
Consumo Ambiente del servizio di integrazione Connettore gestito, visualizzato nella finestra di progettazione con l'etichetta Standard e la versione I edizione Standard, che presenta limiti di messaggio diversi rispetto alla classe Standard. Per altre informazioni, vedere la documentazione seguente:

- Informazioni di riferimento sul connettore gestito di SQL Server
- 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, visualizzato nella raccolta connettori in Runtime>Condiviso e connettore predefinito, visualizzato nella raccolta 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 un 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 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 nel stringa di connessione.

    Importante

    Se si usa un stringa di connessione di SQL Server copiato direttamente dalla portale di Azure, è necessario aggiungere manualmente la password al stringa di connessione.

    • Per un database SQL in Azure, il 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 nella portale di Azure, aprire il database.

      2. Nel menu del database, in Proprietà, selezionare Connessione stringhe di Connessione.

    • Per un server SQL locale, il 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 vuole 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 vuole 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.

      • In un edizione Standard non è necessario il gateway dati locale per l'autenticazione di SQL Server e le connessioni di autenticazione non Windows ed è possibile usare il connettore SQL Server con controllo delle versioni I edizione Standard. Per l'autenticazione di Windows, è necessario il gateway dati locale in un computer locale e una risorsa gateway dati già creata in Azure. Il connettore I edizione Standard-version non supporta l'autenticazione di Windows, quindi è necessario usare il normale connettore gestito di SQL Server.

    • 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 un stringa di connessione. È possibile modificare il pool di connessioni specificando i parametri nel stringa di connessione. Per altre informazioni, vedere pool di Connessione ion.

      • 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 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 selezionare Standard nella 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 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, dall'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 shows Consumption workflow designer and managed action named When an item is created.

  5. Se per questo trigger sono disponibili altre proprietà, aprire l'elenco Aggiungi nuovo parametro e selezionare tali 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 consumo o Visual Studio Code 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 Ricorrenza e chiama un'azione che ottiene una riga da un database SQL.

  1. Nella portale di Azure aprire l'app per la logica a consumo e il flusso di lavoro 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 get row, 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 shows Consumption workflow designer and action named Get row with the example table name and empty row ID.

    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 chiede di fornire le informazioni di connessione, che variano in base al tipo di connessione, ad esempio:

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

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

Connessione a database SQL di Azure o Istanza gestita di SQL

Per accedere a un Istanza gestita di SQL senza usare il gateway dati locale o l'ambiente del servizio di integrazione, è necessario configurare l'endpoint pubblico nella 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 informazioni di connessione completare i passaggi seguenti:

  1. Per Connessione nome, specificare un nome da usare per la connessione.

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

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

    - Richiede l'stringa di connessione al database e al server SQL.
    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 Microsoft Entra ID Open Authentication (Microsoft Entra ID OAuth)
    - Microsoft Entra ID Open Authentication
    Identità gestita di App per la logica - Supportato con il connettore gestito di SQL Server e il connettore con controllo delle versioni di I edizione Standard. 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 e 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.

    - Richiede 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 usando il portale di Azure.
    Microsoft Entra integrato - Supportato con il connettore gestito di SQL Server e il connettore con controllo delle versioni di I edizione Standard.

    - Richiede un'identità gestita valida in Microsoft Entra abilitata nella risorsa dell'app per la logica e 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 e il connettore con controllo delle versioni di I edizione Standard.

    - 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 trova in App per la logica di Azure multi-tenant o in un edizione Standard.

    --- 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 integrata di Microsoft Entra:

    Flussi di lavoro a consumo

    Screenshot shows Azure portal, Consumption workflow, and SQL Server cloud connection information with selected authentication type.

    Flussi di lavoro standard

    Screenshot shows Azure portal, Standard workflow, and SQL Server cloud connection information with selected authentication type.

  3. Dopo aver selezionato Microsoft Entra integrated (Integrazione di Microsoft Entra), selezionare Accedi. In base al fatto che si usi 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 nel stringa di connessione del database. Ad esempio, nella portale di Azure trovare e aprire il database. Nel menu del database selezionare Connessione 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 dall'elenco di database.

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

    Flussi di lavoro a consumo

    Screenshot shows SQL cloud database cloud information with sample values for Consumption.

    Flussi di lavoro standard

    Screenshot shows SQL cloud database information with sample values for Standard.

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

Connessione a SQL Server locale

Nella casella 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 ion quando si crea la connessione.

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

    Authentication Descrizione
    Autenticazione di SQL Server - Supportato con il connettore gestito di SQL Server, il connettore predefinito di SQL Server e il connettore con controllo delle versioni di I edizione Standard.

    - 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 trova in App per la logica di Azure multi-tenant o in un edizione Standard.

    --- 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 trova in App per la logica di Azure multi-tenant o in un edizione Standard.

    --- 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 autenticazione di Windows Sottoscrizione di Azure per la risorsa gateway dati creata in precedenza in Azure
    gateway Connessione ion Sì, per autenticazione di Windows Nome della risorsa gateway dati creata in precedenza in Azure



    Suggerimento: se il gateway non viene visualizzato nell'elenco, verificare di aver configurato correttamente il gateway.

    Suggerimento

    È possibile trovare queste informazioni nel 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 shows Azure portal, Consumption workflow, and SQL Server on-premises connection information with selected authentication.

    Flussi di lavoro standard

    Screenshot shows Azure portal, Standard workflow, and SQL Server on-premises connection information with selected authentication.

  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. Nella 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 Parse 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 Fine.

    Nota

    Se viene visualizzato un errore che indica che App per la logica di Azure non è in grado di generare uno schema, verificare che la sintassi dell'output di esempio sia formattata correttamente. Se non è ancora possibile generare lo schema, nella casella Schema immettere manualmente lo 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 desiderate.

Passaggi successivi