Condividi tramite


Usare il servizio Voce tramite un endpoint privato

Collegamento privato di Azure consente di connettersi ai servizi in Azure usando un endpoint privato. Un endpoint privato è un indirizzo IP privato accessibile solo all'interno di una rete virtuale e subnet specifiche.

Questo articolo illustra come configurare e usare collegamento privato ed endpoint privati con il servizio Voce. Questo articolo descrive quindi come rimuovere gli endpoint privati in un secondo momento, ma usa comunque la risorsa Voce.

La configurazione di una risorsa Voce per gli scenari di endpoint privato richiede l'esecuzione delle attività seguenti:

  1. Creare un nome di dominio personalizzato
  2. Attivare gli endpoint privati
  3. Modificare le applicazioni e le soluzioni esistenti

Endpoint privati ed endpoint servizio di rete virtuale

Azure fornisce endpoint privati ed endpoint servizio di rete virtuale per il traffico che esegue il tunneling tramite la rete backbone di Azure privata. Lo scopo e le tecnologie sottostanti di questi tipi di endpoint sono simili. Ma esistono differenze tra le due tecnologie. È consigliabile conoscere vantaggi e svantaggi di entrambi prima di progettare la rete.

Quando si decide quale tecnologia usare, è necessario considerare alcuni aspetti:

  • Entrambe le tecnologie assicurano che il traffico tra la rete virtuale e la risorsa Voce non si sposti sull'Internet pubblico.
  • Un endpoint privato fornisce un indirizzo IP privato dedicato per la risorsa Voce. Questo indirizzo IP è accessibile solo all'interno di una rete virtuale e di una subnet specifiche. Si dispone del controllo completo dell'accesso a questo indirizzo IP all'interno dell'infrastruttura di rete.
  • Gli endpoint servizio di rete virtuale non forniscono un indirizzo IP privato dedicato per la risorsa Voce. Incapsulano invece tutti i pacchetti inviati alla risorsa Voce e li incapsulano direttamente nella rete backbone di Azure.
  • Entrambe le tecnologie supportano scenari locali. Per impostazione predefinita, quando usano endpoint servizio di rete virtuale, le risorse del servizio di Azure protette nelle reti virtuali non possono essere raggiunte dalle reti locali. Ma è possibile modificare questo comportamento.
  • Gli endpoint servizio di rete virtuale vengono spesso usati per limitare l'accesso a una risorsa Voce in base alle reti virtuali da cui proviene il traffico.
  • Per i servizi di intelligenza artificiale di Azure, l'abilitazione dell'endpoint del servizio rete virtuale forza il traffico per tutte le risorse dei servizi di intelligenza artificiale di Azure a passare attraverso la rete backbone privata. Ciò richiede una configurazione esplicita dell'accesso alla rete. (Per ulteriori informazioni, vedere Configurare le reti virtuali e le impostazioni di rete delle risorse Voce.) Gli endpoint privati non hanno questa limitazione e offrono maggiore flessibilità per la configurazione di rete. È possibile accedere a una risorsa tramite il backbone privato e a un'altra tramite la rete Internet pubblica usando la stessa subnet della stessa rete virtuale.
  • Gli endpoint privati comportano dei costi aggiuntivi. Gli endpoint servizio di rete virtuale sono gratuiti.
  • Gli endpoint privati richiedono una configurazione DNS aggiuntiva.
  • Una risorsa Voce può funzionare contemporaneamente con endpoint privati ed endpoint servizio di rete virtuale.

Consigliamo di provare entrambi i tipi di endpoint prima di prendere una decisione sulla progettazione di produzione.

Per ulteriori informazioni, vedi queste risorse:

Questo articolo descrive l'utilizzo degli endpoint privati con il servizio Voce. L'utilizzo degli endpoint di servizio della rete virtuale è descritto qui.

Creare un nome di dominio personalizzato

Attenzione

Una risorsa Voce con un nome di dominio personalizzato abilitato usa un modo diverso per interagire con il servizio Voce. Potrebbe essere necessario modificare il codice dell'applicazione per entrambi questi scenari: con endpoint privato e senza endpoint privato.

Seguire questa procedura per creare un nome di sottodominio personalizzato per i servizi di intelligenza artificiale di Azure per la risorsa Voce.

Attenzione

Quando si attiva un nome di dominio personalizzato, l'operazione non è reversibile. L'unico modo per tornare al nome locale consiste nel creare una nuova risorsa Voce.

Se la risorsa Voce ha molti modelli e progetti personalizzati associati creati tramite Speech Studio, è consigliabile provare la configurazione con una risorsa di test prima di modificare la risorsa usata nell'ambiente di produzione.

Per creare un nome di dominio personalizzato usando il portale di Azure, seguire questa procedura:

  1. Passare al portale di Azure e accedere all'account Azure.

  2. Selezionare la risorsa Voce necessaria.

  3. Nel gruppo Gestione risorse nel riquadro sinistro, selezionare Rete.

  4. Nella scheda Firewall e reti virtuali selezionare Genera nome di dominio personalizzato. Verrà visualizzato un nuovo pannello a destra con le istruzioni per creare un sottodominio personalizzato univoco per la risorsa.

  5. Nel pannello Genera nome di dominio personalizzato immettere un nome di dominio personalizzato. Il dominio personalizzato completo sarà simile al seguente: https://{your custom name}.cognitiveservices.azure.com.

    Tenere presente che, dopo aver creato un nome di dominio personalizzato, questo non può essere modificato.

    Dopo aver immesso il nome di dominio personalizzato, selezionare Salva.

  6. Al termine dell'operazione, nel gruppo Gestione risorse selezionare Chiavi ed endpoint. Verificare che il nuovo nome endpoint della risorsa inizi in questo modo: https://{your custom name}.cognitiveservices.azure.com.

Attivare gli endpoint privati

È consigliabile usare la zona DNS privata collegata alla rete virtuale con gli aggiornamenti necessari per gli endpoint privati. È possibile creare una zona DNS privata durante il processo di provisioning. Se si usa il proprio server DNS, potrebbe anche essere necessario modificare la configurazione DNS.

Decidere una strategia DNS prima di effettuare il provisioning di endpoint privati per una risorsa voce di produzione. Testare le modifiche DNS, soprattutto se si usa il proprio server DNS.

Usare uno degli articoli seguenti per creare endpoint privati. Questi articoli usano un'app Web come risorsa di esempio da rendere disponibile tramite endpoint privati.

Usare questi parametri anziché i parametri nell'articolo scelto:

Impostazione Valore
Tipo di risorsa Microsoft.CognitiveServices/accounts
Conto risorse <your-speech-resource-name>
Sottorisorsa di destinazione account

DNS per endpoint privati: esaminare i principi generali di DNS per gli endpoint privati nelle risorse dei servizi di intelligenza artificiale di Azure. Verificare quindi che la configurazione DNS funzioni correttamente eseguendo i controlli descritti nelle sezioni seguenti.

Risolvere il DNS dalla rete virtuale

Questo controllo è obbligatorio.

Seguire questa procedura per testare la voce DNS personalizzata dalla rete virtuale:

  1. Accedere a una macchina virtuale che si trova nella rete virtuale a cui è stato collegato l'endpoint privato.

  2. Aprire un prompt dei comandi di Windows o una shell Bash, eseguire nslookup e verificare che venga risolto correttamente il nome di dominio personalizzato della risorsa.

    C:\>nslookup my-private-link-speech.cognitiveservices.azure.com
    Server:  UnKnown
    Address:  168.63.129.16
    
    Non-authoritative answer:
    Name:    my-private-link-speech.privatelink.cognitiveservices.azure.com
    Address:  172.28.0.10
    Aliases:  my-private-link-speech.cognitiveservices.azure.com
    
  3. Verificare che l'indirizzo IP corrisponda all'indirizzo IP dell'endpoint privato.

Risolvere il DNS da altre reti

Eseguire questa verifica solo se è stata attivata l'opzione Tutte le reti o l'opzione di accesso Reti selezionate ed Endpoint privati nella sezione Rete della risorsa.

Se si prevede di accedere alla risorsa usando solo un endpoint privato, è possibile ignorare questa sezione.

  1. Accedere a un computer collegato a una rete autorizzata ad accedere alla risorsa.

  2. Aprire un prompt dei comandi di Windows o una shell Bash, eseguire nslookup e verificare che venga risolto correttamente il nome di dominio personalizzato della risorsa.

    C:\>nslookup my-private-link-speech.cognitiveservices.azure.com
    Server:  UnKnown
    Address:  fe80::1
    
    Non-authoritative answer:
    Name:    vnetproxyv1-weu-prod.westeurope.cloudapp.azure.com
    Address:  13.69.67.71
    Aliases:  my-private-link-speech.cognitiveservices.azure.com
              my-private-link-speech.privatelink.cognitiveservices.azure.com
              westeurope.prod.vnet.cog.trafficmanager.net
    

Nota

L'indirizzo IP risolto punta a un endpoint proxy di rete virtuale, che invia il traffico di rete all'endpoint privato per la risorsa Voce. Il comportamento sarà diverso per una risorsa con un nome di dominio personalizzato, ma senza endpoint privati. Per informazioni dettagliate, vedere questa sezione.

Modificare un'applicazione per usare una risorsa Voce con un endpoint privato

Una risorsa Voce con un dominio personalizzato interagisce con il servizio Voce in modo diverso. Ciò vale per una risorsa voce abilitata per il dominio personalizzato con e senza endpoint privati. Le informazioni contenute in questa sezione si applicano a entrambi gli scenari.

Seguire le istruzioni riportate in questa sezione per modificare le applicazioni e le soluzioni esistenti per usare una risorsa Voce con un nome di dominio personalizzato e un endpoint privato attivato.

Una risorsa Voce con un nome di dominio personalizzato e un endpoint privato attivato usa un modo diverso per interagire con il servizio Voce. Questa sezione illustra come usare tale risorsa con le API REST del servizio Voce e Speech SDK.

Nota

Una risorsa Voce senza endpoint privati che usa un nome di dominio personalizzato ha anche un modo speciale per interagire con il servizio Voce. In questo modo si differenzia dallo scenario di una risorsa Voce che usa un endpoint privato. Questo aspetto è importante da considerare perché è possibile decidere di rimuovere gli endpoint privati in un secondo momento. Vedere Regolare un'applicazione per usare una risorsa Voce senza endpoint privati più avanti in questo articolo.

Risorsa voce con un nome di dominio personalizzato e un endpoint privato: utilizzo con le API REST

Per questa sezione viene usato my-private-link-speech.cognitiveservices.azure.com come nome DNS della risorsa Voce di esempio (dominio personalizzato).

Il servizio Voce include API REST per il riconoscimento vocale e la sintesi vocale. Prendere in considerazione le informazioni seguenti per lo scenario abilitato per l'endpoint privato.

Il riconoscimento vocale ha due API REST. Ogni API ha uno scopo diverso, usa endpoint diversi e richiede un approccio diverso quando viene usato nello scenario abilitato per l'endpoint privato.

Le API REST di riconoscimento vocale sono:

L'utilizzo dell'API REST Riconoscimento vocale per brevi audio e l'API REST Sintesi vocale nello scenario dell'endpoint privato è la stessa. Equivale al caso di Speech SDK descritto più avanti in questo articolo.

L'API REST di riconoscimento vocale usa un set diverso di endpoint, quindi richiede un approccio diverso per lo scenario abilitato per l'endpoint privato.

Le sottosezioni successive descrivono entrambi i casi.

API REST di riconoscimento vocale

In genere, le risorse Voce usano gli endpoint regionali dei servizi di intelligenza artificiale di Azure per comunicare con l'API REST di Riconoscimento vocale. Queste risorse hanno il formato di denominazione seguente:

{region}.api.cognitive.microsoft.com.

Si tratta di un URL di richiesta di esempio:

https://westeurope.api.cognitive.microsoft.com/speechtotext/v3.1/transcriptions

Nota

Vedere questo articolo per Azure per enti pubblici e Microsoft Azure gestito da 21Vianet endpoint.

Dopo aver attivato un dominio personalizzato per una risorsa Voce (necessaria per gli endpoint privati), tale risorsa userà il modello di nome DNS seguente per l'endpoint API REST di base:

{your custom name}.cognitiveservices.azure.com

Ciò significa che nell'esempio il nome dell'endpoint dell'API REST è:

my-private-link-speech.cognitiveservices.azure.com

E l'URL della richiesta di esempio deve essere convertito in:

https://my-private-link-speech.cognitiveservices.azure.com/speechtotext/v3.1/transcriptions

Questo URL deve essere raggiungibile dalla rete virtuale con l'endpoint privato collegato (purché la risoluzione DNS sia corretta).

Dopo aver attivato un nome di dominio personalizzato per una risorsa Voce, in genere si sostituisce il nome host in tutti gli URL di richiesta con il nuovo nome host di dominio personalizzato. Tutte le altre parti della richiesta (ad esempio il percorso /speechtotext/v3.1/transcriptions nell'esempio precedente) rimangono invariate.

Suggerimento

Alcuni clienti sviluppano applicazioni che usano la parte dell'area del nome DNS dell'endpoint a livello di area, ad esempio per inviare la richiesta alla risorsa Voce distribuita nell'area di Azure specifica.

Un dominio personalizzato per una risorsa Voce non contiene informazioni sull'area in cui viene distribuita la risorsa. Pertanto, la logica dell'applicazione descritta in precedenza non funzionerà e deve essere modificata.

API REST di Riconoscimento vocale per audio breve e API REST di sintesi vocale

L'API REST di riconoscimento vocale per audio brevi e l'API REST di sintesi vocale usano due tipi di endpoint:

Nota

Vedere questo articolo per Azure per enti pubblici e Azure gestiti da endpoint 21Vianet.

La descrizione dettagliata degli endpoint speciali e la modalità di trasformazione dell'URL per una risorsa voce abilitata per l'endpoint privato viene fornita in questa sottosezione sull'utilizzo con Speech SDK. Lo stesso principio descritto per l'SDK si applica all'API REST di Riconoscimento vocale per l'audio breve e l'API REST di Sintesi vocale.

Acquisire familiarità con il materiale nella sottosezione menzionata nel paragrafo precedente e vedere l'esempio seguente. L'esempio descrive l'API REST di Sintesi vocale. L'utilizzo dell'API REST di Riconoscimento vocale per brevi audio è completamente equivalente.

Nota

Quando si usa l'API REST di Riconoscimento vocale per brevi audio e API REST di sintesi vocale in scenari di endpoint privati, usare una chiave di risorsa passata attraverso l'intestazione Ocp-Apim-Subscription-Key. (Vedere i dettagli per API REST di Riconoscimento vocale per audio breve e l'API REST di sintesi vocale)

L'uso di un token di autorizzazione e il suo passaggio all'endpoint specifico tramite l'intestazione Authorization funzionerà solo se si è attivata l'opzione di accesso a Tutte le reti nella sezione Rete della risorsa Voce. Negli altri casi, si otterrà un errore Forbidden o BadRequest se si prova a ottenere un token di autorizzazione.

Esempio di utilizzo dell'API REST di sintesi vocale

L'Europa occidentale viene usata come area di Azure di esempio e my-private-link-speech.cognitiveservices.azure.com come nome DNS della risorsa Voce di esempio (dominio personalizzato). Il nome di dominio personalizzato my-private-link-speech.cognitiveservices.azure.com nell'esempio appartiene alla risorsa Voce creata nell'area Europa occidentale.

Per ottenere l'elenco delle voci supportate nell'area, eseguire la richiesta seguente:

https://westeurope.tts.speech.microsoft.com/cognitiveservices/voices/list

Per ulteriori dettagli, vedere la documentazione dell'API REST di sintesi vocale.

Per la risorsa voce abilitata per l'endpoint privato, è necessario modificare l'URL dell'endpoint per la stessa operazione. La stessa richiesta è simile alla seguente:

https://my-private-link-speech.cognitiveservices.azure.com/tts/cognitiveservices/voices/list

Vedere una spiegazione dettagliata nella sottosezione Costruire l'URL dell'endpoint per Speech SDK.

Risorsa voce con un nome di dominio personalizzato e un endpoint privato: Utilizzo con Speech SDK

L'uso di Speech SDK con un nome di dominio personalizzato e le risorse voce abilitate per l'endpoint privato richiede di esaminare e probabilmente modificare il codice dell'applicazione.

Per questa sezione viene usato my-private-link-speech.cognitiveservices.azure.com come nome DNS della risorsa Voce di esempio (dominio personalizzato).

Costruire l'URL dell'endpoint

Di solito, negli scenari SDK (e negli scenari API REST di riconoscimento vocale per audio brevi e API REST di sintesi vocale), le risorse Voce usano gli endpoint regionali dedicati per diverse offerte di servizi. Il formato del nome DNS per questi endpoint è:

{region}.{speech service offering}.speech.microsoft.com

Un nome DNS di esempio è:

westeurope.stt.speech.microsoft.com

Tutti i valori possibili per l'area (primo elemento del nome DNS) sono elencati nelle aree supportate dal servizio Voce. Vedere questo articolo per Azure per enti pubblici e Azure gestiti da endpoint 21Vianet. La tabella seguente illustra i valori possibili per l'offerta del servizio Voce (secondo elemento del nome DNS):

Valore del nome DNS Offerta del servizio Voce
commands Comandi personalizzati
convai Trascrizione riunione
s2s Traduzione vocale
stt Riconoscimento vocale
tts Sintesi vocale
voice Voce personalizzata

L'esempio precedente (westeurope.stt.speech.microsoft.com) indica quindi un endpoint di riconoscimento vocale in Europa occidentale.

Gli endpoint abilitati per l'endpoint privato comunicano con il servizio Voce tramite un proxy specifico. Per questo motivo, è necessario modificare gli URL di connessione dell'endpoint.

Un URL dell'endpoint "standard" è simile a:

{region}.{speech service offering}.speech.microsoft.com/{URL path}

Un URL dell'endpoint privato è simile al seguente:

{your custom name}.cognitiveservices.azure.com/{speech service offering}/{URL path}

Esempio 1. Un'applicazione sta comunicando usando il seguente URL (riconoscimento vocale che usa il modello base per l'inglese americano in Europa occidentale):

wss://westeurope.stt.speech.microsoft.com/speech/recognition/conversation/cognitiveservices/v1?language=en-US

Per usarlo nello scenario abilitato per l'endpoint privato quando il nome di dominio personalizzato della risorsa Voce è my-private-link-speech.cognitiveservices.azure.com, è necessario modificare l'URL come segue:

wss://my-private-link-speech.cognitiveservices.azure.com/stt/speech/recognition/conversation/cognitiveservices/v1?language=en-US

Si notino i dettagli:

  • Il nome host westeurope.stt.speech.microsoft.com viene sostituito dal nome host di dominio personalizzato my-private-link-speech.cognitiveservices.azure.com.
  • Il secondo elemento del nome DNS originale (stt) diventa il primo elemento del percorso URL e precede il percorso originale. Pertanto, l'URL originale /speech/recognition/conversation/cognitiveservices/v1?language=en-US diventa /stt/speech/recognition/conversation/cognitiveservices/v1?language=en-US.

Esempio 2. Un'applicazione usa l'URL seguente per sintetizzare la voce in Europa occidentale:

wss://westeurope.tts.speech.microsoft.com/cognitiveservices/websocket/v1

L'URL equivalente seguente usa un endpoint privato, in cui il nome di dominio personalizzato della risorsa Voce è my-private-link-speech.cognitiveservices.azure.com:

wss://my-private-link-speech.cognitiveservices.azure.com/tts/cognitiveservices/websocket/v1

Viene applicato lo stesso principio dell'esempio 1, ma l'elemento chiave questa volta è tts.

Modifica delle applicazioni

Seguire questa procedura per modificare il codice:

  1. Determinare l'URL dell'endpoint dell'applicazione:

    • Attivare la registrazione per l'applicazione ed eseguirla per registrare l'attività.
    • Nel file di log cercare SPEECH-ConnectionUrl. Nelle righe corrispondenti, il parametro value contiene l'URL completo usato dall’applicazione per raggiungere il servizio Voce.

    Esempio:

    (114917): 41ms SPX_DBG_TRACE_VERBOSE:  property_bag_impl.cpp:138 ISpxPropertyBagImpl::LogPropertyAndValue: this=0x0000028FE4809D78; name='SPEECH-ConnectionUrl'; value='wss://westeurope.stt.speech.microsoft.com/speech/recognition/conversation/cognitiveservices/v1?traffictype=spx&language=en-US'
    

    Quindi l'URL usato nell'applicazione in questo esempio è:

    wss://westeurope.stt.speech.microsoft.com/speech/recognition/conversation/cognitiveservices/v1?language=en-US
    
  2. Creare un'istanza SpeechConfig usando un URL endpoint completo:

    1. Modificare l'endpoint appena determinato, come descritto nella precedente sezione Costruire l’URL dell’endpoint.

    2. Modificare la modalità di creazione dell'istanza di SpeechConfig. Molto probabilmente, l'applicazione usa un aspetto simile al seguente:

      var config = SpeechConfig.FromSubscription(speechKey, azureRegion);
      

      Questo esempio non funziona per una risorsa voce abilitata per l'endpoint privato a causa delle modifiche al nome host e all'URL descritte nelle sezioni precedenti. Se si tenta di eseguire l'applicazione esistente senza alcuna modifica usando la chiave di una risorsa abilitata per l'endpoint privato, viene visualizzato un errore di autenticazione (401).

      Affinché funzioni, modificare la modalità di creazione di un'istanza della classe SpeechConfig e usare l'inizializzazione "da endpoint"/"con endpoint". Si supponga di avere le due variabili seguenti definite:

      • speechKey contiene la chiave della risorsa voce abilitata per l'endpoint privato.
      • endPoint contiene l'URL completo dell'endpoint modificato (usando il tipo richiesto dal linguaggio di programmazione corrispondente). In questo esempio, tale variabile deve contenere:
        wss://my-private-link-speech.cognitiveservices.azure.com/stt/speech/recognition/conversation/cognitiveservices/v1?language=en-US
        

      Creare un'istanza di SpeechConfig:

      var config = SpeechConfig.FromEndpoint(endPoint, speechKey);
      
      auto config = SpeechConfig::FromEndpoint(endPoint, speechKey);
      
      SpeechConfig config = SpeechConfig.fromEndpoint(endPoint, speechKey);
      
      import azure.cognitiveservices.speech as speechsdk
      config = speechsdk.SpeechConfig(endpoint=endPoint, subscription=speechKey)
      
      SPXSpeechConfiguration *config = [[SPXSpeechConfiguration alloc] initWithEndpoint:endPoint subscription:speechKey];
      
      import * as sdk from "microsoft.cognitiveservices.speech.sdk";
      config: sdk.SpeechConfig = sdk.SpeechConfig.fromEndpoint(new URL(endPoint), speechKey);
      

Suggerimento

I parametri di query specificati nell'URI dell'endpoint non vengono modificati, anche se sono impostati da altre API. Ad esempio, se il linguaggio di riconoscimento è definito nell'URI come parametro di query language=en-US e viene impostato anche su ru-RU tramite la proprietà corrispondente, viene usata l'impostazione della lingua nell'URI. Il linguaggio effettivo è quindi en-US.

I parametri impostati nell'URI dell'endpoint hanno sempre la precedenza. Altre API possono eseguire l'override solo dei parametri non specificati nell'URI dell'endpoint.

Dopo questa modifica, l'applicazione deve funzionare con le risorse voce abilitate per l'endpoint privato. Microsoft sta lavorando per supportare più facilmente gli scenari di endpoint privati.

Uso di Speech Studio

Speech Studio è un portale Web con strumenti per la creazione e l'integrazione del servizio Voce di Intelligenza artificiale di Azure nell'applicazione. Quando si lavora nei progetti di Speech Studio, le connessioni di rete e le chiamate API alla risorsa Voce corrispondente vengono effettuate per conto dell'utente. Lavorare con endpoint privati, endpoint di servizio di rete virtuale e altre opzioni di sicurezza di rete può limitare la disponibilità delle funzionalità di Speech Studio. In genere si usa Speech Studio quando si lavora con funzionalità, ad esempio Riconoscimento vocale personalizzato, Sintesi vocale neurale (CNV) e Creazione di contenuto audio.

Raggiungimento del portale Web di Speech Studio da una rete virtuale

Per usare Speech Studio da una macchina virtuale all'interno di una rete virtuale di Azure, è necessario consentire le connessioni in uscita al set di tag di servizio richiesto per questa rete virtuale. Vedere i dettagli qui.

L'accesso all'endpoint della risorsa Voce non è uguale all'accesso al portale Web di Speech Studio. L'accesso al portale Web di Speech Studio tramite endpoint servizio di rete virtuale o privati non è supportato.

Uso dei progetti di Speech Studio

Questa sezione descrive l'uso dei diversi tipi di progetti di Speech Studio per le diverse opzioni di sicurezza di rete della risorsa Voce. È previsto che venga stabilita la connessione del Web browser a Speech Studio. Le impostazioni di sicurezza della rete delle risorse voce sono impostate nel portale di Azure.

  1. Passare al portale di Azure e accedere all'account Azure.
  2. Seleziona la risorsa Voce.
  3. Nel gruppo Gestione risorse nel riquadro sinistro selezionare Rete>Firewall e reti virtuali.
  4. Selezionare un'opzione tra Tutte le reti, Reti selezionate ed Endpoint privati o Disabilitata.

Riconoscimento vocale personalizzato, creazione di contenuti vocali e audio personalizzati

La tabella seguente descrive l'accessibilità del progetto di creazione di contenuti vocali/voce/audio personalizzati in base alle impostazioni di sicurezza firewall di rete>delle risorse voce e reti virtuali.

Nota

Se si consentono solo endpoint privati tramite la scheda Rete> connessioni endpoint private, non sarà possibile usare Speech Studio con la risorsa Voce. È comunque possibile usare la risorsa Voce all'esterno di Speech Studio.

Impostazione di sicurezza della rete delle risorse voce Accessibilità del progetto Speech Studio
Tutte le reti Nessuna restrizione
Reti ed endpoint privati selezionati Accessibile da indirizzi IP pubblici consentiti
Disabilitata Non accessibile

Se si seleziona Reti selezionate ed endpoint privati, verrà visualizzata una scheda con le reti virtuali e le opzioni di configurazione dell'accesso Firewall. Nella sezione Firewall, è necessario consentire almeno un indirizzo IP pubblico e usare questo indirizzo per la connessione del browser con Speech Studio.

Se si consente solo l'accesso tramite rete virtuale, non si consente effettivamente l'accesso alla risorsa Voce tramite Speech Studio. È comunque possibile usare la risorsa Voce all'esterno di Speech Studio.

Per usare il riconoscimento vocale personalizzato senza ridurre le restrizioni di accesso alla rete per la risorsa Voce di produzione, prendere in considerazione una di queste soluzioni alternative.

  • Creare un'altra risorsa Voce per lo sviluppo che può essere usata in una rete pubblica. Preparare il modello personalizzato in Speech Studio nella risorsa di sviluppo e quindi copiare il modello nella risorsa di produzione. Vedere la richiesta REST Models_CopyTo con API REST di riconoscimento vocale.
  • È possibile non usare Speech Studio per il riconoscimento vocale personalizzato. Usare l'API REST di riconoscimento vocale per tutte le operazioni vocali personalizzate.

Per usare la voce personalizzata senza ridurre le restrizioni di accesso alla rete per la risorsa voce di produzione, prendere in considerazione l'uso dell'API REST voce personalizzata per tutte le operazioni vocali personalizzate.

Modificare un'applicazione per usare una risorsa Voce senza endpoint privati

In questo articolo è stato notato più volte che l'abilitazione di un dominio personalizzato per una risorsa Voce è irreversibile. Tale risorsa usa un modo diverso per comunicare con il servizio Voce, rispetto a quelli che usano nomi di endpoint a livello di area.

Questa sezione illustra come usare una risorsa Voce con un nome di dominio personalizzato, ma senza endpoint privati con le API REST del servizio Voce e Speech SDK. Potrebbe trattarsi di una risorsa usata una volta in uno scenario di endpoint privato, ma i cui endpoint privati sono stati eliminati.

Configurazione del DNS

Ricordare come un nome DNS di dominio personalizzato della risorsa Voce abilitata per l'endpoint privato viene risolto dalle reti pubbliche. In questo caso, l'indirizzo IP risolto punta a un endpoint proxy per una rete virtuale. Questo endpoint viene usato per inviare il traffico di rete alla risorsa dei servizi di intelligenza artificiale di Azure abilitata per l'endpoint privato.

Tuttavia, quando tutti gli endpoint privati della risorsa vengono rimossi (o subito dopo l'abilitazione del nome di dominio personalizzato), viene eseguito nuovamente il provisioning del record CNAME della risorsa Voce. Ora punta all'indirizzo IP dell'endpoint a livello di area dei servizi di intelligenza artificiale di Azure corrispondente.

L'output del comando nslookup è quindi simile al seguente:

C:\>nslookup my-private-link-speech.cognitiveservices.azure.com
Server:  UnKnown
Address:  fe80::1

Non-authoritative answer:
Name:    apimgmthskquihpkz6d90kmhvnabrx3ms3pdubscpdfk1tsx3a.cloudapp.net
Address:  13.93.122.1
Aliases:  my-private-link-speech.cognitiveservices.azure.com
          westeurope.api.cognitive.microsoft.com
          cognitiveweprod.trafficmanager.net
          cognitiveweprod.azure-api.net
          apimgmttmdjylckcx6clmh2isu2wr38uqzm63s8n4ub2y3e6xs.trafficmanager.net
          cognitiveweprod-westeurope-01.regional.azure-api.net

Confrontarlo con l'output di questa sezione.

Risorsa voce con un nome di dominio personalizzato e senza endpoint privati: utilizzo con le API REST

API REST di riconoscimento vocale

L'utilizzo dell'API REST di riconoscimento vocale è del tutto equivalente al caso di risorse Voce abilitate per l'endpoint privato.

API REST di Riconoscimento vocale per audio breve e API REST di sintesi vocale

In questo caso, l'utilizzo dell'API REST di riconoscimento vocale per audio brevi e l’utilizzo dell'API REST di sintesi vocale non presentano differenze rispetto al caso generale, con un'unica eccezione. Vedere la nota seguente. È necessario usare entrambe le API come descritto nella documentazione di API REST di riconoscimento vocale per audio brevi e API REST di sintesi vocale.

Nota

Quando si usa l'API REST di riconoscimento vocale per audio brevi e l’API REST di sintesi vocale in scenari di dominio personalizzati, usare una chiave di risorsa Voce passata tramite l'intestazione Ocp-Apim-Subscription-Key. (Vedere i dettagli per API REST di Riconoscimento vocale per audio breve e l'API REST di sintesi vocale)

L'uso di un token di autorizzazione e il suo passaggio all'endpoint specifico tramite l'intestazione Authorization funzionerà solo se si è attivata l'opzione di accesso a Tutte le reti nella sezione Rete della risorsa Voce. Negli altri casi, si otterrà un errore Forbidden o BadRequest se si prova a ottenere un token di autorizzazione.

Risorsa voce con un nome di dominio personalizzato e senza endpoint privati: utilizzo con Speech SDK

L'uso di Speech SDK con risorse Voce abilitate per il dominio personalizzato senza endpoint privati equivale al caso generale, come descritto nella documentazione di Speech SDK.

Nel caso in cui il codice sia stato modificato per usarlo con una risorsa Voce abilitata per l'endpoint privato, considerare quanto segue.

Nella sezione sulle risorse Voce abilitate per endpoint privati, è stato illustrato come determinare l'URL dell'endpoint, modificarlo e usarlo tramite l'inizializzazione "da endpoint"/"con endpoint" dell'istanza di classe SpeechConfig.

Tuttavia, se si prova a eseguire la stessa applicazione dopo aver rimosso tutti gli endpoint privati (consentendo un po' di tempo per il provisioning del record DNS corrispondente), si riceverà un errore interno del servizio (404). Il motivo è che il record DNS punta ora all'endpoint di Servizi di intelligenza artificiale di Azure a livello di area anziché al proxy di rete virtuale e che i percorsi URL come /stt/speech/recognition/conversation/cognitiveservices/v1?language=en-US non sono presenti.

È necessario eseguire il rollback dell'applicazione alla creazione di istanze standard di SpeechConfig nello stile del codice seguente:

var config = SpeechConfig.FromSubscription(speechKey, azureRegion);

Uso simultaneo di endpoint privati ed endpoint servizio di rete virtuale

È possibile usare endpoint privati ed endpoint servizio di rete virtuale per accedere contemporaneamente alla stessa risorsa Voce. Per abilitare questo uso simultaneo, è necessario usare l'opzione Reti selezionate ed endpoint privati nelle impostazioni di rete della risorsa Voce nel portale di Azure. Altre opzioni non sono supportate per questo scenario.

Prezzi

Per informazioni dettagliate sui prezzi, vedere Prezzi di Collegamento privato di Azure.

Altre informazioni