Distribuire un'app Azure AI Search C# in App contenitore di Azure

Note

Azure AI Search è disponibile tramite il portale di Azure, le API REST e Azure SDK. È inoltre alla base di Foundry IQ, il livello di conoscenza gestito che trasforma il contenuto aziendale in knowledge base riutilizzabili e con riconoscimento delle autorizzazioni per gli agenti nel portale di Microsoft Foundry.

Distribuire il sito Web abilitato per la ricerca in App contenitore di Azure usando l'interfaccia della riga di comando per sviluppatori Azure (azd). Questa distribuzione include il client React, l'API .NET, Azure AI Search, l'identità gestita e il supporto delle risorse Azure.

La distribuzione usa l'identità gestita come metodo di autenticazione predefinito per Azure AI Search. È possibile acconsentire esplicitamente all'autenticazione basata su chiave impostando su USE_KEYLESS_AUTHfalse prima della distribuzione.

Accedere ad Azure

  1. In Visual Studio Code aprire un terminale nella radice del repository, ad esempio azure-search-static-web-app.

  2. Accedere a Azure usando azd.

    azd auth login
    
  3. Se richiesto dal browser, completare il flusso di accesso usando l'account Azure usato per questa esercitazione.

Creare un ambiente azd

  • Creare un azd ambiente. Sostituire YOUR-ENVIRONMENT-NAME con un nome breve che identifica questa distribuzione dell'esercitazione.

    azd env new YOUR-ENVIRONMENT-NAME
    

(Facoltativo) Configurare l'autenticazione basata su chiave

Il metodo di autenticazione predefinito è l'identità gestita, quindi la maggior parte degli ambienti può ignorare questa sezione. Completare questa sezione solo se l'ambiente richiede chiavi API.

Impostare USE_KEYLESS_AUTH su false.

azd env set USE_KEYLESS_AUTH false

Se non si imposta USE_KEYLESS_AUTH, la distribuzione usa l'identità gestita. L'infrastruttura Bicep concede all'identità dell'app contenitore l'accesso al piano dati Azure AI Search.

Eseguire la distribuzione con azd up

  1. Dalla radice del repository, esegui il comando azd up.

    azd up
    
  2. Quando richiesto, selezionare la sottoscrizione e il percorso Azure per le risorse.

  3. Attendere il azd provisioning dell'infrastruttura, compilare i contenitori, eseguire il push delle immagini e distribuire i servizi in App contenitore di Azure.

  4. Esaminare l'output dopo la distribuzione. L'output include i nomi di dominio completi (FQDN) del client e del server per la distribuzione App contenitore di Azure.

    AZURE_CLIENT_URL: <client-container-app-fqdn>
    AZURE_SERVER_URL: <server-container-app-fqdn>
    SEARCH_SERVICE_NAME: <search-service-name>
    

    Usare il AZURE_CLIENT_URL valore per aprire il sito Web. L'app client chiama l'app server tramite l'endpoint configurato durante la distribuzione.

    La distribuzione ha anche creato il servizio Azure AI Search e caricato automaticamente l'indice good-books tramite l'hook postprovision nel repository di esempio.

Usare la ricerca nel sito Web app contenitore

  1. Aprire il nome di dominio completo del client dall'output azd up in un browser.

  2. Nella barra di ricerca del sito Web immettere una query di ricerca, ad esempio code. La funzionalità di completamento automatico suggerisce i titoli dei libri corrispondenti.

  3. Selezionare un suggerimento o continuare a digitare la propria query. Selezionare Invio al termine della query di ricerca.

  4. Esaminare i risultati e quindi selezionare un libro per visualizzare altri dettagli.

Troubleshooting

Se l'app Web non distribuisce o funziona, usare l'elenco seguente per determinare e risolvere il problema:

  • Il completamento è stato azd up completato?

    Esaminare l'output azd up per il primo passaggio di provisioning, compilazione o distribuzione non riuscito. Se la distribuzione si arresta durante il provisioning, controllare le autorizzazioni della sottoscrizione e l'area selezionata. Se la distribuzione si arresta durante i passaggi di compilazione o distribuzione del contenitore, eseguire azd up di nuovo dopo aver risolto il problema segnalato.

  • È possibile aprire l'endpoint client?

    Aprire il AZURE_CLIENT_URL valore dall'output azd up . Se la pagina non viene caricata, passare al portale di Azure, aprire l'app contenitore client ed esaminare lo stato e i log delle revisioni.

  • Il client può chiamare l'endpoint server?

    Aprire gli strumenti di sviluppo del browser ed esaminare le chiamate di rete dall'app client. Se le chiamate all'API hanno esito negativo, verificare che l'app contenitore del server sia in esecuzione e che l'app client abbia ricevuto il nome di dominio completo del server durante la distribuzione.

  • È possibile eseguire query sul server Azure AI Search?

    Se le ricerche restituiscono errori, esaminare i log dell'app contenitore del server. Per l'identità gestita, verificare che l'identità abbia Azure AI Search accesso al piano dati. Per l'autenticazione basata su chiave, verificare che sia impostato su USE_KEYLESS_AUTHfalse prima della distribuzione e che l'ambiente del contenitore generato contenga la configurazione del servizio di ricerca.

Pulire le risorse

Usare azd down --purge per eliminare le risorse Azure create in questa esercitazione. Il --purge flag rimuove definitivamente le risorse che supportano l'eliminazione temporanea, anziché lasciarle in uno stato ripristinabile per il periodo di conservazione. Se si ridistribuisce questa esercitazione in un secondo momento, l'eliminazione evita conflitti di denominazione.

  1. Dalla radice del repository eseguire il comando di pulizia.

    azd down --purge
    
  2. Esaminare le risorse elencate azd .

  3. Confermare l'eliminazione quando richiesto.

Se è stato creato un servizio Azure AI Search all'esterno della azd distribuzione, passare al servizio di ricerca nel portale di Azure e selezionare Elimina nella parte superiore della pagina.

Passo successivo