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:
- Creare un nome di dominio personalizzato
- Attivare gli endpoint privati
- 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:
- collegamento privato di Azure e documentazione dell'endpoint privato
- documentazione degli endpoint di servizio Rete virtuale
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:
Passare al portale di Azure e accedere all'account Azure.
Selezionare la risorsa Voce necessaria.
Nel gruppo Gestione risorse nel riquadro sinistro selezionare Rete.
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.
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.
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.
- Creare un endpoint privato usando il portale di Azure
- Creare un endpoint privato usando Azure PowerShell
- Creare un endpoint privato usando l'interfaccia della riga di comando di Azure
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:
Accedere a una macchina virtuale che si trova nella rete virtuale a cui è stato collegato l'endpoint privato.
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
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.
Accedere a un computer collegato a una rete autorizzata ad accedere alla risorsa.
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 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:
- API REST riconoscimento vocale, usata per la trascrizione batch e la voce personalizzata.
- API REST riconoscimento vocale per audio breve, usato per la sintesi vocale in tempo reale.
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.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
westeurope.stt.speech.microsoft.com
host viene sostituito dal nomemy-private-link-speech.cognitiveservices.azure.com
host 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-US
quindi .
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:
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, ilvalue
parametro 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
Creare un'istanza
SpeechConfig
usando un URL endpoint completo:Modificare l'endpoint determinato, come descritto nella sezione precedente Construct endpoint URL (URL endpoint costrutto).
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-US
di 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.
- Passare al portale di Azure e accedere all'account Azure.
- Selezionare la risorsa Voce.
- Nel gruppo Gestione risorse nel riquadro sinistro selezionare Firewall di rete>e reti virtuali.
- 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.