Condividi tramite


Supporto api in App Web statiche di Azure con Azure Gestione API

Azure Gestione API è un servizio che consente di creare un gateway API moderno per i servizi back-end esistenti.

Quando si collega il servizio Azure Gestione API all'app Web statica, tutte le richieste all'app Web statica con una route che inizia con /api vengono indirizzate alla stessa route nel servizio Azure Gestione API.

Un servizio azure Gestione API può essere collegato a più app Web statiche contemporaneamente. Viene creato un prodotto Gestione API per ogni app Web statica collegata. Tutte le API aggiunte al prodotto sono disponibili per l'app Web statica associata.

Tutti i piani tariffari di Azure Gestione API sono disponibili per l'uso con App Web statiche di Azure.

Le opzioni API per App Web statiche includono i servizi di Azure seguenti:

Per altre informazioni, vedere la panoramica delle API.

Nota

L'integrazione con Azure Gestione API richiede il piano App Web statiche Standard.

L'integrazione back-end non è supportata in App Web statiche ambienti di richiesta pull.

Prerequisiti

Per collegare un'istanza di Gestione API all'app Web statica, è necessario avere una risorsa di Azure Gestione API esistente e un'app Web statica.

Risorsa Descrizione
Gestione API di Azure Se non è già disponibile, seguire la procedura descritta nella guida Creare una nuova istanza del servizio azure Gestione API.
App Web statica esistente Se non è già disponibile, seguire la procedura descritta nella guida introduttiva per creare un'app Web statica No Framework .

Esempio

Si consideri un'istanza di Azure Gestione API esistente che espone un endpoint tramite il percorso seguente.

https://my-api-management-instance.azure-api.net/api/getProducts

Una volta collegato, è possibile accedere allo stesso endpoint tramite il api percorso dell'app Web statica, come illustrato in questo URL di esempio.

https://red-sea-123.azurestaticapps.net/api/getProducts

Entrambi gli URL puntano allo stesso endpoint API. L'endpoint nell'istanza di Gestione API deve avere il /api prefisso , poiché App Web statiche corrisponde alle richieste effettuate a /api e proxy l'intero percorso della risorsa collegata.

Per collegare un servizio azure Gestione API come back-end api per un'app Web statica, seguire questa procedura:

  1. Nella portale di Azure passare all'app Web statica.

  2. Selezionare API dal menu di spostamento.

  3. Individuare l'ambiente a cui si vuole collegare il servizio Gestione API. Seleziona Collegamento.

  4. In Tipo di risorsa back-end selezionare Gestione API.

  5. In Sottoscrizione selezionare la sottoscrizione contenente il servizio azure Gestione API da collegare.

  6. In Nome risorsa selezionare il servizio Azure Gestione API.

  7. Seleziona Collegamento.

Importante

Al termine del processo di collegamento, le richieste alle route che iniziano con /api vengono inviate tramite proxy al servizio azure Gestione API. Tuttavia, nessuna API viene esposta per impostazione predefinita. Vedere Configurare le API per ricevere richieste per configurare un prodotto Gestione API per consentire l'uso delle API.

Configurare le API per ricevere le richieste

Azure Gestione API include una funzionalità di prodotti che definisce la modalità di visualizzazione delle API. Come parte del processo di collegamento, il servizio Gestione API è configurato con un prodotto denominato Azure Static Web Apps - <STATIC_WEB_APP_AUTO_GENERATED_HOSTNAME> (Linked).

Per rendere disponibili le API per l'app Web statica collegata, aggiungerle al prodotto.

  1. Nell'istanza di Gestione API nel portale selezionare la scheda Prodotti.

  2. Selezionare il Azure Static Web Apps - <STATIC_WEB_APP_AUTO_GENERATED_HOSTNAME> (Linked) prodotto.

  3. Selezionare + Aggiungi API.

  4. Selezionare le API da esporre dal App Web statiche e quindi selezionare il collegamento Seleziona.

Screenshot of the API Management Products API blade in the Azure portal, showing how to add an API to the product created for the Static Web Apps resource.

Il processo di collegamento applica automaticamente anche la configurazione seguente al servizio Gestione API:

  • Il prodotto associato all'app Web statica collegata è configurato per richiedere una sottoscrizione.
  • Viene creata una sottoscrizione Gestione API denominata Generated for Static Web Apps resource with default hostname: <STATIC_WEB_APP_AUTO_GENERATED_HOSTNAME> e con lo stesso nome per il prodotto.
  • Un criterio validate-jwt in ingresso viene aggiunto al prodotto per consentire solo le richieste che contengono un token di accesso valido dall'app Web statica collegata.
  • L'app Web statica collegata è configurata per includere la chiave primaria della sottoscrizione e un token di accesso valido durante il proxy delle richieste al servizio Gestione API.

Importante

La modifica dei criteri validate-jwt o la rigenerazione della chiave primaria della sottoscrizione impedisce all'app Web statica di eseguire il proxy delle richieste al servizio Gestione API. Non modificare o eliminare la sottoscrizione o il prodotto associato all'app Web statica mentre sono collegati.

Per scollegare un servizio azure Gestione API da un'app Web statica, seguire questa procedura:

  1. Nella portale di Azure passare all'app Web statica.

  2. Individuare l'ambiente da scollegare e selezionare il nome del servizio Gestione API.

  3. Selezionare Scollega.

Al termine del processo di scollegamento, le richieste alle route che iniziano con /api/ non vengono più inviate tramite proxy al servizio Gestione API.

Nota

Il prodotto e la sottoscrizione Gestione API associati all'app Web statica collegata non vengono eliminati automaticamente. È possibile eliminarli dal servizio Gestione API.

Risoluzione dei problemi

Se le API non sono associate al prodotto Gestione API creato per la risorsa App Web statiche, l'accesso a una /api route nell'app Web statica restituisce l'errore seguente da Gestione API.

{
  "statusCode": 401,
  "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription."
}

Per risolvere questo errore, configurare le API da esporre all'interno del App Web statiche al prodotto creato, come descritto nella sezione Configurare le API per ricevere le richieste.

Passaggi successivi