Connessione o chiamare endpoint DELL'API REST dai flussi di lavoro in App per la logica di Azure

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

Per chiamare un endpoint API REST da un flusso di lavoro dell'app per la logica in App per la logica di Azure, è possibile usare le operazioni PREDEFINITe HTTP + Swagger per chiamare qualsiasi endpoint API REST tramite un file Swagger. Il trigger e l'azione HTTP + Swagger funzionano come il trigger e l'azione HTTP, ma offrono un'esperienza migliore nella finestra di progettazione del flusso di lavoro esponendo la struttura e gli output api descritti dal file Swagger. Per implementare un trigger di polling, seguire il modello di polling descritto in Creare API personalizzate per chiamare altre API, servizi e sistemi dai flussi di lavoro dell'app per la logica.

Limiti

Le operazioni predefinite HTTP + Swagger supportano attualmente solo OpenAPI 2.0, non OpenAPI 3.0.

Prerequisiti

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

  • URL del file Swagger che descrive l'endpoint DELL'API REST di destinazione che si vuole chiamare

    In genere, l'endpoint REST deve soddisfare i criteri seguenti per il funzionamento del trigger o dell'azione:

    • Il file Swagger deve essere ospitato in un URL HTTPS accessibile pubblicamente.

    • Il file Swagger deve contenere una proprietà operationID per ogni operazione nella definizione. In caso contrario, il connettore mostra solo l'ultima operazione nel file Swagger.

    • Sul file Swagger deve essere abilitata la condivisione risorse tra le origini (CORS).

    Gli esempi in questa guida usano Viso di intelligenza artificiale di Azure, che richiede una chiave di risorsa e un'area dei servizi di intelligenza artificiale di Azure.

    Nota

    Per fare riferimento a un file Swagger non ospitato o che non soddisfa i requisiti di sicurezza e tra le origini, è possibile caricare il file Swagger in un contenitore BLOB in un account di archiviazione di Azure e abilitare CORS in tale account di archiviazione in modo da poter fare riferimento al file.

  • Flusso di lavoro dell'app per la logica Consumo o Standard da cui si vuole chiamare l'endpoint di destinazione. Per iniziare con il trigger HTTP + Swagger, creare una risorsa dell'app per la logica con un flusso di lavoro vuoto. Per usare l'azione HTTP + Swagger , avviare il flusso di lavoro con qualsiasi trigger desiderato. In questo esempio viene usato il trigger HTTP + Swagger come prima operazione.

Aggiungere un trigger HTTP + Swagger

Questo trigger predefinito invia una richiesta HTTP a un URL per un file Swagger che descrive un'API REST. Il trigger restituisce quindi una risposta che contiene il contenuto del file.

  1. Nella portale di Azure aprire la risorsa dell'app per la logica Standard e un flusso di lavoro vuoto nella finestra di progettazione.

  2. Nella finestra di progettazione seguire questa procedura generale per aggiungere il trigger HTTP denominato HTTP + Swagger.

  3. Nella casella Endpoint Swagger immettere l'URL del file Swagger desiderato e selezionare Aggiungi azione.

    Assicurarsi di usare o creare un endpoint personalizzato. Ad esempio, questi passaggi usano solo l'URL Swagger dell'API Viso di Intelligenza artificiale di Azure che si trova nell'area Stati Uniti occidentali e potrebbero non funzionare nel trigger specifico:

    https://westus.dev.cognitive.microsoft.com/docs/services/563879b61984550e40cbbe8d/export?DocumentFormat=Swagger&ApiName=Face%20API%20-%20V1.0

    Screenshot shows Standard workflow designer with trigger named httpswaggeraction. The Swagger Endpoint property is set to a URL value.

  4. Quando nella finestra di progettazione vengono visualizzate le operazioni descritte dal file Swagger, selezionare l'operazione da usare.

    Nell'esempio seguente il trigger viene rinominato Face - Detect in modo che il trigger abbia un nome più descrittivo.

    Screenshot shows Standard workflow, Face - Detect trigger, and list with Swagger operations.

  5. Specificare i valori per i parametri del trigger, che variano in base all'operazione selezionata da includere nella chiamata all'endpoint. Impostare la frequenza con cui si desidera che il trigger chiami l'endpoint.

  6. Per aggiungere altri parametri disponibili, aprire l'elenco Parametri avanzati e selezionare i parametri desiderati.

    Per altre informazioni sui tipi di autenticazione disponibili per HTTP + Swagger, vedere Aggiungere l'autenticazione alle chiamate in uscita.

  7. Continuare a compilare il flusso di lavoro con le azioni da eseguire quando viene attivato il trigger.

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

Aggiungere un'azione HTTP + Swagger

Questa azione predefinita invia una richiesta HTTP all'URL per il file Swagger che descrive un'API REST. L'azione restituisce quindi una risposta che contiene il contenuto del file.

  1. Nella portale di Azure aprire la risorsa e il flusso di lavoro dell'app per la logica Standard nella finestra di progettazione.

  2. Nella finestra di progettazione seguire questa procedura generale per aggiungere l'azione HTTP denominata HTTP + Swagger.

  3. Nella casella Endpoint Swagger immettere l'URL del file Swagger desiderato e selezionare Aggiungi azione.

    Assicurarsi di usare o creare un endpoint personalizzato. Ad esempio, questi passaggi usano solo l'URL Swagger dell'API Viso di Intelligenza artificiale di Azure che si trova nell'area Stati Uniti occidentali e potrebbero non funzionare nel trigger specifico:

    https://westus.dev.cognitive.microsoft.com/docs/services/563879b61984550e40cbbe8d/export?DocumentFormat=Swagger&ApiName=Face%20API%20-%20V1.0

    Screenshot shows Standard workflow designer with trigger named Face - Detect, and action named httpswaggeraction. The Swagger Endpoint property is set to a URL value.

  4. Quando nella finestra di progettazione vengono visualizzate le operazioni descritte dal file Swagger, selezionare l'operazione da usare.

    Nell'esempio seguente l'azione viene rinominata Viso - Identifica in modo che l'azione abbia un nome più descrittivo.

    Screenshot shows Standard workflow, Face - Identify action, and list with Swagger operations.

  5. Specificare i valori per i parametri dell'azione, che variano in base all'operazione selezionata da includere nella chiamata all'endpoint.

  6. Per aggiungere altri parametri disponibili, aprire l'elenco Parametri avanzati e selezionare i parametri desiderati.

    Per altre informazioni sui tipi di autenticazione disponibili per HTTP + Swagger, vedere Aggiungere l'autenticazione alle chiamate in uscita.

  7. Continuare a compilare il flusso di lavoro con qualsiasi altra azione che si vuole eseguire.

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

Ospitare Swagger in Archiviazione di Azure

È comunque possibile fare riferimento a un file Swagger non ospitato o che non soddisfa i requisiti di sicurezza e tra le origini. Caricare il file Swagger nel contenitore BLOB in un account di archiviazione di Azure e abilitare CORS in tale account di archiviazione. Per creare, configurare e archiviare file Swagger in Archiviazione di Azure, attenersi alla procedura seguente:

  1. Creare un account di archiviazione di Azure.

  2. Abilitare quindi CORS per il BLOB. Nel menu dell'account di archiviazione, selezionare CORS. Nella scheda Servizio BLOB, specificare questi valori e quindi selezionare Salva.

    Proprietà valore
    Origini consentite *
    Metodi consentiti GET, HEAD, PUT
    Intestazioni consentite *
    Intestazioni esposte *
    Validità massima (in secondi) 200

    Sebbene in questo esempio venga usato il portale di Azure, è possibile usare uno strumento come Azure Storage Explorer oppure configurare automaticamente questa impostazione avvalendosi di questo script PowerShell di esempio.

  3. Creare un contenitore BLOB. Nel riquadro Panoramica del contenitore, selezionare Modifica livello di accesso. Dall'elenco Livello di accesso pubblico, selezionare BLOB (accesso in lettura anonimo solo per BLOB), quindi selezionare OK.

  4. Caricare il file Swagger nel contenitore BLOB tramite il portale di Azure o Azure Storage Explorer.

  5. Per fare riferimento al file nel contenitore BLOB, ottenere l'URL HTTPS in questo formato, che fa distinzione tra maiuscole e minuscole, da Azure Storage Explorer:

    https://<storage-account-name>.blob.core.windows.net/<blob-container-name>/<complete-swagger-file-name>?<query-parameters>

Riferimento tecnico Connessione or

Questa sezione fornisce altre informazioni sugli output di un trigger e un'azione HTTP + Swagger .

Output

La chiamata HTTP + Swagger restituisce le informazioni seguenti:

Nome della proprietà Type Descrizione
headers Object Intestazioni della richiesta
body Object Oggetto con il contenuto del corpo della richiesta
codice di stato Intero Codice di stato della risposta
Codice di stato Descrizione
200 OK
202 Accettata
400 Richiesta non valida
401 Non autorizzata
403 Non consentito
404 Non trovato
500 Errore interno del server. Si è verificato un errore sconosciuto.

Passaggi successivi