Portare le proprie funzionalità in App Web statiche di Azure

App Web statiche di Azure fornisce l'integrazione api per consentire di creare applicazioni Web front-end che dipendono dalle API back-end per i dati e i servizi. Le due opzioni di integrazione api sono: funzioni gestite e bring your own backend. Per altre informazioni sulle differenze tra queste opzioni, vedere la panoramica.

Questo articolo illustra come collegare un'app Funzioni di Azure esistente a una risorsa App Web statiche di Azure.

Nota

L'integrazione con Funzioni di Azure 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'app per le funzioni all'app Web statica, è necessario avere una risorsa Funzioni di Azure esistente e un'app Web statica.

Risorsa Descrizione
Funzioni di Azure Se non è già disponibile, seguire la procedura descritta nella Guida introduttiva a Funzioni di Azure.
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'app Funzioni di Azure esistente che espone un endpoint tramite la posizione seguente.

https://my-functions-app.azurewebsites.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 endpoint puntano alla stessa funzione. L'endpoint nell'app per le funzioni deve avere il /api prefisso, poiché App Web statiche corrisponde alle richieste effettuate e /api esegue il proxy dell'intero percorso della risorsa collegata.

Rimuovere le funzioni gestite dalla risorsa App Web statiche (se presente)

Prima di associare un'app per le funzioni esistente, è necessario modificare la configurazione dell'app Web statica per rimuovere le funzioni gestite, se presenti.

  1. Impostare api_location il valore su una stringa vuota ("") nel file di configurazione del flusso di lavoro.
  1. Aprire l'istanza di App Web statiche nel portale di Azure.

  2. Dal menu Impostazioni selezionare API.

  3. Nella riga Produzione selezionare Collegamento per aprire la finestra Collega nuovo back-end.

    Immettere le impostazioni seguenti.

    Impostazione Valore
    Tipo di risorsa back-end Selezionare App per le funzioni.
    Subscription Selezionare il nome della sottoscrizione di Azure.
    Nome risorsa Selezionare il nome dell'app Funzioni di Azure.
    Slot back-end Selezionare il nome dello slot per la funzione di Azure.
  4. Seleziona Collegamento.

L'app Funzioni di Azure viene ora mappata alla /api route dell'app Web statica.

Importante

Assicurarsi di impostare il api_location valore su una stringa vuota ("") nel file di configurazione del flusso di lavoro prima di collegare un'applicazione Funzioni esistente. Inoltre, le chiamate presuppongono che l'app per le funzioni esterne mantenga il prefisso di route predefinito api . Molte app rimuovono questo prefisso nel file host.json. Assicurarsi che il prefisso sia presente nella configurazione; in caso contrario, la chiamata non riesce.

Distribuzione

L'utente è responsabile della configurazione di un flusso di lavoro di distribuzione per l'app Funzioni di Azure.

Per scollegare un'app per le funzioni da 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 da scollegare e selezionare il nome dell'app per le funzioni.

  4. Selezionare Scollega.

Al termine del processo di scollegamento, le richieste alle route che iniziano con /api non vengono più inviate tramite proxy all'app Funzioni di Azure.

Nota

Per evitare l'esposizione accidentale dell'app per le funzioni al traffico anonimo, il provider di identità creato dal processo di collegamento non viene eliminato automaticamente. È possibile eliminare il provider di identità denominato App Web statiche di Azure (collegato) dalle impostazioni di autenticazione dell'app per le funzioni.

Rimuovere l'autenticazione dalla risorsa Funzioni di Azure

Per abilitare l'app Funzioni di Azure a ricevere traffico anonimo, seguire questa procedura per rimuovere il provider di identità:

  1. Nella portale di Azure passare alla risorsa Funzioni di Azure.

  2. Selezionare Autenticazione dal menu di spostamento.

  3. Nell'elenco dei provider di identità eliminare il provider di identità correlato alla risorsa App Web statiche.

  4. Selezionare Rimuovi autenticazione per rimuovere l'autenticazione e consentire il traffico anonimo alla risorsa Funzioni di Azure.

L'app per le funzioni è ora in grado di ricevere traffico anonimo.

Vincoli di sicurezza

  • Autenticazione e autorizzazione: se i criteri di autenticazione e autorizzazione non sono già configurati nell'app per le funzioni esistente, l'app Web statica ha accesso esclusivo all'API. Per rendere l'app per le funzioni accessibile ad altre applicazioni, aggiungere un altro provider di identità o modificare le impostazioni di sicurezza per consentire l'accesso non autenticato.

    Nota

    Se si abilita l'autenticazione e l'autorizzazione nell'app per le funzioni collegate, è necessario usare app Azure provider di autenticazione e autorizzazione versione 2.

  • Accessibilità pubblica necessaria: un'app per le funzioni esistente deve non applicare le configurazioni di sicurezza seguenti.

    • Limitazione dell'indirizzo IP dell'app Per le funzioni.
    • Limitazione del traffico tramite collegamento privato o endpoint di servizio.
  • Chiavi di accesso alle funzioni: se la funzione richiede una chiave di accesso, è necessario fornire la chiave con chiamate dall'app statica all'API.

Limitazioni

  • Solo un'app Funzioni di Azure è disponibile per una singola app Web statica.
  • Il api_location valore nella configurazione del flusso di lavoro deve essere impostato su una stringa vuota.
  • Non supportato in App Web statiche ambienti di richiesta pull.
  • Anche se l'app Funzioni di Azure può rispondere a vari trigger, l'app Web statica può accedere solo alle funzioni tramite endpoint Http.

Passaggi successivi