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 una subnet specifiche.

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

Nota

Prima di procedere, vedere come usare le reti virtuali con i servizi di intelligenza artificiale di Azure.

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 di servizio Rete virtuale

Azure fornisce endpoint privati e Rete virtuale endpoint di servizio 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 i vantaggi e i 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 su 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 una subnet specifiche. Si ha il controllo completo dell'accesso a questo indirizzo IP all'interno dell'infrastruttura di rete.
  • Rete virtuale gli endpoint di servizio 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 Rete virtuale endpoint di servizio, le risorse del servizio di Azure protette alle reti virtuali non possono essere raggiunte dalle reti locali. Ma è possibile modificare questo comportamento.
  • Rete virtuale gli endpoint di servizio 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 di 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 altre 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 un'altra tramite la rete Internet pubblica usando la stessa subnet della stessa rete virtuale.
  • Gli endpoint privati comportano costi aggiuntivi. Rete virtuale gli endpoint di servizio sono gratuiti.
  • Gli endpoint privati richiedono una configurazione DNS aggiuntiva.
  • Una risorsa Voce può funzionare contemporaneamente con endpoint privati ed endpoint di servizio Rete virtuale.

È consigliabile 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 dell'area 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. Viene 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, 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 per 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>
Risorsa secondaria 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 nslookupe 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 nslookupe 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 la sintesi 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 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 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 riconoscimento vocale

In genere, le risorse vocali usano gli endpoint regionali dei servizi di intelligenza artificiale di Azure per comunicare con l'API REST 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 21 EndpointVianet.

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 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 Riconoscimento vocale per l'API REST audio e sintesi vocale breve

L'API REST Riconoscimento vocale per l'audio breve e l'API REST Sintesi vocale usano due tipi di endpoint:

  • Endpoint regionali dei servizi di intelligenza artificiale di Azure per comunicare con l'API REST dei servizi di intelligenza artificiale di Azure per ottenere un token di autorizzazione
  • Endpoint speciali per tutte le altre operazioni

Nota

Vedere questo articolo per Azure per enti pubblici e Azure gestito da 21 EndpointVianet.

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 Riconoscimento vocale per l'audio breve e l'API REST Sintesi vocale.

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

Nota

Quando si usa l'API REST Riconoscimento vocale per brevi api REST audio e 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 Riconoscimento vocale per l'API REST audio e sintesi vocale breve)

L'uso di un token di autorizzazione e il passaggio all'endpoint speciale tramite l'intestazione Authorization funzionerà solo se è stata attivata l'opzione Di accesso a tutte le reti nella sezione Rete della risorsa Voce. In altri casi si otterrà o BadRequest si riceverà Forbidden un errore durante il tentativo di ottenere un token di autorizzazione.

Esempio di utilizzo dell'API REST 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 my-private-link-speech.cognitiveservices.azure.com di dominio personalizzato 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 altri dettagli, vedere la documentazione dell'API REST 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

In genere negli scenari SDK (e nell'API REST riconoscimento vocale per brevi scenari di API REST audio e 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 gestito da 21 EndpointVianet. La tabella seguente presenta 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) è quindi l'acronimo di un endpoint speech to text in Europa occidentale.

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

Un URL dell'endpoint "standard" è simile al seguente:

{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 l'URL seguente (riconoscimento vocale usando il modello di base per l'inglese degli Stati Uniti 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.comnecessario 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 westeurope.stt.speech.microsoft.com host viene sostituito dal nome my-private-link-speech.cognitiveservices.azure.comhost di dominio personalizzato .
  • Il secondo elemento del nome DNS originale (stt) diventa il primo elemento del percorso URL e precede il percorso originale. L'URL /speech/recognition/conversation/cognitiveservices/v1?language=en-US originale diventa /stt/speech/recognition/conversation/cognitiveservices/v1?language=en-USquindi .

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 nell'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:

    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 determinato, come descritto nella sezione precedente Construct endpoint URL (URL endpoint costrutto).

    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).

      Per renderlo funzionante, modificare la modalità di creazione di un'istanza della SpeechConfig classe e usare l'inizializzazione "from endpoint"/"with 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 questa 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 language=en-USdi query e viene impostato ru-RU anche su 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. L'uso di endpoint privati, endpoint 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 usano funzionalità come riconoscimento vocale personalizzato, Voce neurale personalizzata e Creazione di contenuti 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 di servizio privati o Rete virtuale 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 in portale di Azure.

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

Riconoscimento vocale personalizzato

Nella tabella seguente viene descritta l'accessibilità del progetto di riconoscimento vocale personalizzato in base all'impostazione di sicurezza rete delle risorse >voce e delle reti virtuali.

Nota

Se si consentono solo endpoint privati tramite la scheda Connessioni endpoint private di rete>, non è 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
Disabled 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 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 l'API REST Riconoscimento vocale.
  • È possibile non usare Speech Studio per il riconoscimento vocale personalizzato. Usare l'API REST Riconoscimento vocale per tutte le operazioni vocali personalizzate.

Creazione di contenuti vocali e audio personalizzati

È possibile usare progetti voce personalizzata e Audio Content Creation Speech Studio solo quando l'impostazione di sicurezza della rete delle risorse Voce è Tutte le reti.

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 relativi endpoint privati sono stati eliminati.

Configurazione del DNS

Tenere presente come viene risolto un nome DNS di dominio personalizzato della risorsa voce abilitata per l'endpoint privato 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 nslookup comando è 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 riconoscimento vocale

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

API REST Riconoscimento vocale per l'API REST audio e sintesi vocale breve

In questo caso, l'utilizzo dell'API REST Riconoscimento vocale per brevi audio e uso dell'API REST Sintesi vocale non presenta differenze rispetto al caso generale, con un'unica eccezione. Vedere la nota seguente. È consigliabile usare entrambe le API come descritto nell'API REST Riconoscimento vocale per brevi api REST audio e sintesi vocale.

Nota

Quando si usa l'API REST Riconoscimento vocale per brevi api REST audio e 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 Riconoscimento vocale per l'API REST audio e sintesi vocale breve)

L'uso di un token di autorizzazione e il passaggio all'endpoint speciale tramite l'intestazione Authorization funzionerà solo se è stata attivata l'opzione Di accesso a tutte le reti nella sezione Rete della risorsa Voce. In altri casi si otterrà o BadRequest si riceverà Forbidden un errore durante il tentativo di 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 l'uso con una risorsa voce abilitata per l'endpoint privato, tenere presente quanto segue.

Nella sezione sulle risorse voce abilitate per l'endpoint privato è stato illustrato come determinare l'URL dell'endpoint, modificarlo e usarlo tramite l'inizializzazione "dall'endpoint"/"con endpoint" dell'istanza della SpeechConfig classe.

Tuttavia, se si tenta di 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 di servizio Rete virtuale

È possibile usare endpoint privati e Rete virtuale endpoint di servizio 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 nella 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