Använda Speech-tjänsten via en privat slutpunkt
Med Azure Private Link kan du ansluta till tjänster i Azure med hjälp av en privat slutpunkt. En privat slutpunkt är en privat IP-adress som endast är tillgänglig i ett specifikt virtuellt nätverk och undernät.
Den här artikeln beskriver hur du konfigurerar och använder Private Link och privata slutpunkter med Speech-tjänsten. Den här artikeln beskriver sedan hur du tar bort privata slutpunkter senare, men ändå använder Speech-resursen.
Kommentar
Innan du fortsätter bör du gå igenom hur du använder virtuella nätverk med Azure AI-tjänster.
För att konfigurera en Speech-resurs för scenarier med privata slutpunkter måste du utföra följande uppgifter:
Privata slutpunkter och tjänstslutpunkter för virtuellt nätverk
Azure tillhandahåller privata slutpunkter och tjänstslutpunkter för virtuellt nätverk för trafik som tunnlar via det privata Azure-stamnätverket. Syftet med och underliggande tekniker för dessa slutpunktstyper är liknande. Men det finns skillnader mellan de två teknikerna. Vi rekommenderar att du lär dig om för- och nackdelarna med båda innan du utformar nätverket.
Det finns några saker att tänka på när du bestämmer vilken teknik du ska använda:
- Båda teknikerna säkerställer att trafiken mellan det virtuella nätverket och Speech-resursen inte färdas via det offentliga Internet.
- En privat slutpunkt tillhandahåller en dedikerad privat IP-adress för din Speech-resurs. Den här IP-adressen är endast tillgänglig i ett specifikt virtuellt nätverk och undernät. Du har fullständig kontroll över åtkomsten till den här IP-adressen i nätverksinfrastrukturen.
- Tjänstslutpunkter för virtuellt nätverk tillhandahåller inte någon dedikerad privat IP-adress för Speech-resursen. I stället kapslar de in alla paket som skickas till Speech-resursen och levererar dem direkt via Azure-stamnätverket.
- Båda teknikerna stöder lokala scenarier. När de använder tjänstslutpunkter för virtuellt nätverk kan azure-tjänstresurser som skyddas till virtuella nätverk som standard inte nås från lokala nätverk. Men du kan ändra det beteendet.
- Tjänstslutpunkter för virtuella nätverk används ofta för att begränsa åtkomsten för en Speech-resurs baserat på de virtuella nätverk som trafiken kommer från.
- För Azure AI-tjänster tvingar aktivering av tjänstslutpunkten för virtuellt nätverk trafiken för alla Azure AI-tjänstresurser att gå igenom det privata stamnätverket. Det kräver en explicit konfiguration av nätverksåtkomst. (Mer information finns i Konfigurera virtuella nätverk och nätverksinställningarna för Speech-resursen.) Privata slutpunkter har inte den här begränsningen och ger mer flexibilitet för nätverkskonfigurationen. Du kan komma åt en resurs via det privata stamnätet och en annan via det offentliga Internet med hjälp av samma undernät i samma virtuella nätverk.
- Privata slutpunkter medför extra kostnader. Tjänstslutpunkter för virtuellt nätverk är kostnadsfria.
- Privata slutpunkter kräver extra DNS-konfiguration.
- En Speech-resurs kan fungera samtidigt med både privata slutpunkter och tjänstslutpunkter för virtuellt nätverk.
Vi rekommenderar att du provar båda slutpunktstyperna innan du fattar ett beslut om din produktionsdesign.
Mer information finns i de här resurserna:
- Dokumentation om Azure Private Link och privat slutpunkt
- Dokumentation om tjänstslutpunkter för virtuellt nätverk
I den här artikeln beskrivs användningen av de privata slutpunkterna med Speech-tjänsten. Användning av VNet-tjänstslutpunkter beskrivs här.
Skapa ett anpassat domännamn
Varning
En Speech-resurs med ett anpassat domännamn aktiverat använder ett annat sätt att interagera med Speech-tjänsten. Du kan behöva justera programkoden för båda dessa scenarier: med privat slutpunkt och utan privat slutpunkt.
Följ de här stegen för att skapa ett anpassat underdomännamn för Azure AI-tjänster för din Speech-resurs.
Varning
När du aktiverar ett anpassat domännamn är åtgärden inte reversibel. Det enda sättet att gå tillbaka till det regionala namnet är att skapa en ny Speech-resurs.
Om din Speech-resurs har många associerade anpassade modeller och projekt som skapats via Speech Studio rekommenderar vi starkt att du provar konfigurationen med en testresurs innan du ändrar resursen som används i produktion.
Följ dessa steg för att skapa ett anpassat domännamn med hjälp av Azure Portal:
Gå till Azure-portalen och logga in på ditt Azure-konto.
Välj den talresurs som krävs.
I gruppen Resurshantering i den vänstra rutan väljer du Nätverk.
På fliken Brandväggar och virtuella nätverk väljer du Generera anpassat domännamn. En ny högerpanel visas med instruktioner för att skapa en unik anpassad underdomän för resursen.
I panelen Generera anpassat domännamn anger du ett anpassat domännamn. Din fullständiga anpassade domän ser ut så här:
https://{your custom name}.cognitiveservices.azure.com
.Kom ihåg att när du har skapat ett anpassat domännamn kan det inte ändras.
När du har angett ditt anpassade domännamn väljer du Spara.
När åtgärden är klar väljer du Nycklar och slutpunkt i resurshanteringsgruppen. Bekräfta att resursens nya slutpunktsnamn börjar så här:
https://{your custom name}.cognitiveservices.azure.com
.
Aktivera privata slutpunkter
Vi rekommenderar att du använder den privata DNS-zonen som är kopplad till det virtuella nätverket med nödvändiga uppdateringar för de privata slutpunkterna. Du kan skapa en privat DNS-zon under etableringsprocessen. Om du använder en egen DNS-server kan du också behöva ändra DNS-konfigurationen.
Bestäm en DNS-strategi innan du etablerar privata slutpunkter för en speech-produktionsresurs. Och testa dina DNS-ändringar, särskilt om du använder din egen DNS-server.
Använd någon av följande artiklar för att skapa privata slutpunkter. I de här artiklarna används en webbapp som en exempelresurs för att göra den tillgänglig via privata slutpunkter.
- Skapa en privat slutpunkt med hjälp av Azure Portal
- Skapa en privat slutpunkt med hjälp av Azure PowerShell
- Skapa en privat slutpunkt med hjälp av Azure CLI
Använd dessa parametrar i stället för parametrarna i artikeln som du valde:
Inställning | Värde |
---|---|
Resurstyp | Microsoft.CognitiveServices/accounts |
Resurs | <your-speech-resource-name> |
Målunderresurs | account |
DNS för privata slutpunkter: Granska de allmänna principerna för DNS för privata slutpunkter i Azure AI-tjänstresurser. Kontrollera sedan att DNS-konfigurationen fungerar korrekt genom att utföra de kontroller som beskrivs i följande avsnitt.
Lösa DNS från det virtuella nätverket
Den här kontrollen krävs.
Följ dessa steg för att testa den anpassade DNS-posten från ditt virtuella nätverk:
Logga in på en virtuell dator som finns i det virtuella nätverk som du kopplade din privata slutpunkt till.
Öppna en Windows-kommandotolk eller ett Bash-gränssnitt, kör
nslookup
och bekräfta att det matchar resursens anpassade domännamn.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
Bekräfta att IP-adressen matchar IP-adressen för din privata slutpunkt.
Lösa DNS från andra nätverk
Utför endast den här kontrollen om du har aktiverat alternativet Alla nätverk eller alternativet För valda nätverk och åtkomst till privata slutpunkter i avsnittet Nätverk i resursen.
Om du planerar att komma åt resursen med hjälp av endast en privat slutpunkt kan du hoppa över det här avsnittet.
Logga in på en dator som är ansluten till ett nätverk som har behörighet att komma åt resursen.
Öppna en Windows-kommandotolk eller Bash-gränssnitt, kör
nslookup
och bekräfta att den matchar resursens anpassade domännamn.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
Kommentar
Den lösta IP-adressen pekar på en proxyslutpunkt för virtuellt nätverk som skickar nätverkstrafiken till den privata slutpunkten för Speech-resursen. Beteendet skiljer sig åt för en resurs med ett anpassat domännamn men utan privata slutpunkter. Mer information finns i det här avsnittet .
Justera ett program så att det använder en Speech-resurs med en privat slutpunkt
En Speech-resurs med en anpassad domän interagerar med Speech-tjänsten på ett annat sätt. Detta gäller för en anpassad domänaktiverad Speech-resurs både med och utan privata slutpunkter. Informationen i det här avsnittet gäller för båda scenarierna.
Följ anvisningarna i det här avsnittet för att justera befintliga program och lösningar för att använda en Speech-resurs med ett anpassat domännamn och en privat slutpunkt aktiverad.
En Speech-resurs med ett anpassat domännamn och en privat slutpunkt aktiverad använder ett annat sätt att interagera med Speech-tjänsten. I det här avsnittet beskrivs hur du använder en sådan resurs med REST-API:er för Speech-tjänsten och Speech SDK.
Kommentar
En Speech-resurs utan privata slutpunkter som använder ett anpassat domännamn har också ett särskilt sätt att interagera med Speech-tjänsten. Det här sättet skiljer sig från scenariot för en Speech-resurs som använder en privat slutpunkt. Detta är viktigt att tänka på eftersom du kan välja att ta bort privata slutpunkter senare. Se Justera ett program för att använda en Speech-resurs utan privata slutpunkter senare i den här artikeln.
Talresurs med ett anpassat domännamn och en privat slutpunkt: Användning med REST-API:er
Vi använder my-private-link-speech.cognitiveservices.azure.com
dns-namnet (anpassad domän) som exempel för den här delen.
Speech Service har REST-API:er för Tal till text och Text till tal. Tänk på följande information för scenariot private-endpoint-enabled.
Tal till text har två REST-API:er. Varje API har olika syften, använder olika slutpunkter och kräver en annan metod när du använder det i det privata slutpunktsaktiverade scenariot.
REST-API:er för tal till text är:
- REST API för tal till text, som används för Batch-transkription och anpassat tal.
- Rest-API för tal till text för kort ljud, som används för tal till text i realtid.
Användning av REST API för tal till text för kort ljud och REST API för text till tal i det privata slutpunktsscenariot är detsamma. Det motsvarar Speech SDK-fallet som beskrivs senare i den här artikeln.
Rest-API för tal till text använder en annan uppsättning slutpunkter, så det kräver en annan metod för det privata slutpunktsaktiverade scenariot.
I nästa underavsnitt beskrivs båda fallen.
REST API för tal till text
Vanligtvis använder Speech-resurser regionala slutpunkter för Azure AI-tjänster för kommunikation med REST API för tal till text. Dessa resurser har följande namngivningsformat:
{region}.api.cognitive.microsoft.com
.
Det här är en exempelbegärans-URL:
https://westeurope.api.cognitive.microsoft.com/speechtotext/v3.1/transcriptions
Kommentar
Se den här artikeln för Azure Government och Microsoft Azure som drivs av 21Vianet-slutpunkter.
När du har aktiverat en anpassad domän för en Speech-resurs (vilket är nödvändigt för privata slutpunkter) använder resursen följande DNS-namnmönster för den grundläggande REST API-slutpunkten:
{your custom name}.cognitiveservices.azure.com
Det innebär att i vårt exempel är REST API-slutpunktens namn:
my-private-link-speech.cognitiveservices.azure.com
Och exempelbegärans URL måste konverteras till:
https://my-private-link-speech.cognitiveservices.azure.com/speechtotext/v3.1/transcriptions
Den här URL:en ska kunna nås från det virtuella nätverket med den privata slutpunkten ansluten (tillhandahålls rätt DNS-matchning).
När du har aktiverat ett anpassat domännamn för en Speech-resurs ersätter du vanligtvis värdnamnet i alla url:er för begäran med det nya anpassade domännamnet. Alla andra delar av begäran (till exempel sökvägen /speechtotext/v3.1/transcriptions
i det tidigare exemplet) förblir desamma.
Dricks
Vissa kunder utvecklar program som använder regiondelen av den regionala slutpunktens DNS-namn (till exempel för att skicka begäran till Speech-resursen som distribuerats i den specifika Azure-regionen).
En anpassad domän för en Speech-resurs innehåller ingen information om den region där resursen distribueras. Så programlogik som beskrevs tidigare fungerar inte och behöver ändras.
REST API för tal till text för kort ljud och REST API för text till tal
REST API för tal till text för kort ljud och REST API för text till tal använder två typer av slutpunkter:
- Regionala slutpunkter för Azure AI-tjänster för kommunikation med REST-API:et för Azure AI-tjänster för att hämta en auktoriseringstoken
- Särskilda slutpunkter för alla andra åtgärder
Kommentar
Se den här artikeln för Azure Government och Azure som drivs av 21Vianet-slutpunkter.
Den detaljerade beskrivningen av de särskilda slutpunkterna och hur deras URL ska transformeras för en privat slutpunktsaktiverad Speech-resurs finns i den här underavsnittet om användning med Speech SDK. Samma princip som beskrivs för SDK gäller för REST API för tal till text för kort ljud och REST API för text till tal.
Bekanta dig med materialet i underavsnittet som nämns i föregående stycke och se följande exempel. I exemplet beskrivs REST-API:et Text till tal. Användningen av REST API för tal till text för kort ljud är helt likvärdig.
Kommentar
När du använder REST API för tal till text för kort ljud och REST API för text till tal i privata slutpunktsscenarier använder du en resursnyckel som skickas genom Ocp-Apim-Subscription-Key
rubriken. (Mer information finns i REST API för tal till text för kort ljud och REST API för text till tal)
Att använda en auktoriseringstoken och skicka den till den särskilda slutpunkten via Authorization
huvudet fungerar bara om du har aktiverat åtkomstalternativet Alla nätverk i avsnittet Nätverk i din Speech-resurs. I andra fall får du antingen Forbidden
eller BadRequest
fel när du försöker hämta en auktoriseringstoken.
Användningsexempel för REST API för text till tal
Vi använder Europa, västra som azure-exempelregion och my-private-link-speech.cognitiveservices.azure.com
som exempel på DNS-namn för Speech-resursen (anpassad domän). Det anpassade domännamnet my-private-link-speech.cognitiveservices.azure.com
i vårt exempel tillhör den Speech-resurs som skapats i regionen Europa, västra.
Utför följande begäran för att hämta listan över röster som stöds i regionen:
https://westeurope.tts.speech.microsoft.com/cognitiveservices/voices/list
Mer information finns i rest-API-dokumentationen för text till tal.
För den privata slutpunktsaktiverade Speech-resursen måste slutpunkts-URL:en för samma åtgärd ändras. Samma begäran ser ut så här:
https://my-private-link-speech.cognitiveservices.azure.com/tts/cognitiveservices/voices/list
Se en detaljerad förklaring i underavsnittet Skapa slutpunkts-URL för Speech SDK.
Talresurs med ett anpassat domännamn och en privat slutpunkt: Användning med Speech SDK
Om du använder Speech SDK med ett anpassat domännamn och privata slutpunktsaktiverade Speech-resurser måste du granska och förmodligen ändra programkoden.
Vi använder my-private-link-speech.cognitiveservices.azure.com
dns-namnet (anpassad domän) som exempel för den här delen.
Skapa slutpunkts-URL
Vanligtvis i SDK-scenarier (och i rest-API:et för tal till text för korta scenarier för ljud- och text-till-tal-REST API) använder Speech-resurser de dedikerade regionala slutpunkterna för olika tjänsterbjudanden. DNS-namnformatet för dessa slutpunkter är:
{region}.{speech service offering}.speech.microsoft.com
Ett exempel på DNS-namn är:
westeurope.stt.speech.microsoft.com
Alla möjliga värden för regionen (det första elementet i DNS-namnet) visas i regioner som stöds av Speech-tjänsten. (Se den här artikeln för Azure Government och Azure som drivs av 21Vianet-slutpunkter.) I följande tabell visas möjliga värden för Speech Service-erbjudandet (det andra elementet i DNS-namnet):
DNS-namnvärde | Taltjänsterbjudande |
---|---|
commands |
Anpassade kommandon |
convai |
Mötestranskription |
s2s |
Talöversättning |
stt |
Tal till text |
tts |
Text till tal |
voice |
Anpassad röst |
Så det tidigare exemplet (westeurope.stt.speech.microsoft.com
) står för en slutpunkt för tal till text i Europa, västra.
Privata slutpunktsaktiverade slutpunkter kommunicerar med Speech-tjänsten via en särskild proxy. Därför måste du ändra url:erna för slutpunktsanslutningen.
En standardslutpunkts-URL ser ut så här:
{region}.{speech service offering}.speech.microsoft.com/{URL path}
En privat slutpunkts-URL ser ut så här:
{your custom name}.cognitiveservices.azure.com/{speech service offering}/{URL path}
Exempel 1. Ett program kommunicerar med hjälp av följande URL (taligenkänning med basmodellen för amerikansk engelska i Europa, västra):
wss://westeurope.stt.speech.microsoft.com/speech/recognition/conversation/cognitiveservices/v1?language=en-US
Om du vill använda den i det privata slutpunktsaktiverade scenariot när det anpassade domännamnet för Speech-resursen är my-private-link-speech.cognitiveservices.azure.com
måste du ändra URL:en så här:
wss://my-private-link-speech.cognitiveservices.azure.com/stt/speech/recognition/conversation/cognitiveservices/v1?language=en-US
Observera informationen:
- Värdnamnet
westeurope.stt.speech.microsoft.com
ersätts med det anpassade domännamnetmy-private-link-speech.cognitiveservices.azure.com
. - Det andra elementet i det ursprungliga DNS-namnet (
stt
) blir det första elementet i URL-sökvägen och föregår den ursprungliga sökvägen. Den ursprungliga URL:en/speech/recognition/conversation/cognitiveservices/v1?language=en-US
blir/stt/speech/recognition/conversation/cognitiveservices/v1?language=en-US
därför .
Exempel 2. Ett program använder följande URL för att syntetisera tal i Europa, västra:
wss://westeurope.tts.speech.microsoft.com/cognitiveservices/websocket/v1
Följande motsvarande URL använder en privat slutpunkt, där det anpassade domännamnet för Speech-resursen är my-private-link-speech.cognitiveservices.azure.com
:
wss://my-private-link-speech.cognitiveservices.azure.com/tts/cognitiveservices/websocket/v1
Samma princip i exempel 1 tillämpas, men nyckelelementet den här gången är tts
.
Ändra program
Följ de här stegen för att ändra koden:
Fastställa programmets slutpunkts-URL:
- Aktivera loggning för ditt program och kör den för att logga aktivitet.
- I loggfilen söker
SPEECH-ConnectionUrl
du efter . I matchande rader innehåller parameternvalue
den fullständiga URL:en som ditt program använde för att nå Speech-tjänsten.
Exempel:
(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'
Url:en som programmet använde i det här exemplet är därför:
wss://westeurope.stt.speech.microsoft.com/speech/recognition/conversation/cognitiveservices/v1?language=en-US
Skapa en
SpeechConfig
instans med hjälp av en fullständig slutpunkts-URL:Ändra slutpunkten som du fastställde, enligt beskrivningen i det tidigare avsnittet Om att skapa slutpunkts-URL .
Ändra hur du skapar instansen av
SpeechConfig
. Det är troligt att programmet använder något som liknar detta:var config = SpeechConfig.FromSubscription(speechKey, azureRegion);
Det här exemplet fungerar inte för en privat slutpunktsaktiverad Talresurs på grund av värdnamnet och URL-ändringarna som vi beskrev i föregående avsnitt. Om du försöker köra ditt befintliga program utan några ändringar med hjälp av nyckeln för en privat slutpunktsaktiverad resurs får du ett autentiseringsfel (401).
För att få det att fungera ändrar du hur du instansierar
SpeechConfig
klassen och använder initieringen "från slutpunkt"/"med slutpunkt". Anta att vi har följande två variabler definierade:speechKey
innehåller nyckeln för den privata slutpunktsaktiverade Speech-resursen.endPoint
innehåller den fullständiga ändrade slutpunkts-URL:en (med den typ som krävs av motsvarande programmeringsspråk). I vårt exempel ska den här variabeln innehålla:wss://my-private-link-speech.cognitiveservices.azure.com/stt/speech/recognition/conversation/cognitiveservices/v1?language=en-US
Skapa en
SpeechConfig
instans: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);
Dricks
Frågeparametrarna som anges i slutpunkts-URI:n ändras inte, även om de anges av andra API:er. Om till exempel igenkänningsspråket definieras i URI:n som frågeparameter language=en-US
, och även anges till ru-RU
via motsvarande egenskap, används språkinställningen i URI:n. Det effektiva språket är sedan en-US
.
Parametrar som anges i slutpunkts-URI:n har alltid företräde. Andra API:er kan endast åsidosätta parametrar som inte anges i slutpunkts-URI:n.
Efter den här ändringen bör programmet fungera med de privata slutpunktsaktiverade Speech-resurserna. Vi arbetar med mer sömlöst stöd för scenarier med privata slutpunkter.
Användning av Speech Studio
Speech Studio är en webbportal med verktyg för att skapa och integrera Azure AI Speech-tjänsten i ditt program. När du arbetar i Speech Studio-projekt görs nätverksanslutningar och API-anrop till motsvarande Speech-resurs åt dig. Att arbeta med privata slutpunkter, tjänstslutpunkter för virtuella nätverk och andra alternativ för nätverkssäkerhet kan begränsa tillgängligheten för Speech Studio-funktioner. Normalt använder du Speech Studio när du arbetar med funktioner som anpassat tal, anpassad neural röst och skapande av ljudinnehåll.
Nå Speech Studio-webbportalen från ett virtuellt nätverk
Om du vill använda Speech Studio från en virtuell dator i ett virtuellt Azure-nätverk måste du tillåta utgående anslutningar till den nödvändiga uppsättningen tjänsttaggar för det virtuella nätverket. Mer information finns här
Åtkomst till slutpunkten för Speech-resursen är inte lika med åtkomst till Speech Studio-webbportalen. Åtkomst till Speech Studio-webbportalen via privata eller virtuella nätverkstjänstslutpunkter stöds inte.
Arbeta med Speech Studio-projekt
I det här avsnittet beskrivs hur du arbetar med olika typer av Speech Studio-projekt för de olika nätverkssäkerhetsalternativen för Speech-resursen. Det förväntas att webbläsaranslutningen till Speech Studio upprättas. Säkerhetsinställningar för talresursnätverk anges i Azure Portal.
- Gå till Azure-portalen och logga in på ditt Azure-konto.
- Välj talresursen.
- I gruppen Resurshantering i den vänstra rutan väljer du Nätverksbrandväggar>och virtuella nätverk.
- Välj ett alternativ från Alla nätverk, Valda nätverk och privata slutpunkter eller Inaktiverade.
Anpassat tal, anpassad röst och skapande av ljudinnehåll
I följande tabell beskrivs projekttillgänglighet för anpassat tal/anpassat röst-/ljudinnehållsskapande per nätverksbrandväggar för talresurser >och säkerhetsinställningar för virtuella nätverk.
Kommentar
Om du endast tillåter privata slutpunkter via fliken Privata slutpunktsanslutningar för nätverk>kan du inte använda Speech Studio med Speech-resursen. Du kan fortfarande använda Speech-resursen utanför Speech Studio.
Säkerhetsinställning för talresursnätverk | Hjälpmedel för Speech Studio-projekt |
---|---|
Alla nätverk | Inga begränsningar |
Valda nätverk och privata slutpunkter | Tillgänglig från tillåtna offentliga IP-adresser |
Inaktiverad | Inte tillgänglig |
Om du väljer Valda nätverk och privata slutpunkter visas en flik med konfigurationsalternativ för virtuella nätverk och brandväggsåtkomst . I avsnittet Brandvägg måste du tillåta minst en offentlig IP-adress och använda den här adressen för webbläsaranslutningen till Speech Studio.
Om du endast tillåter åtkomst via virtuellt nätverk tillåter du i själva verket inte åtkomst till Speech-resursen via Speech Studio. Du kan fortfarande använda Speech-resursen utanför Speech Studio.
Om du vill använda anpassat tal utan att lätta på nätverksåtkomstbegränsningarna för din speech-produktionsresurs bör du överväga någon av dessa lösningar.
- Skapa en annan Speech-resurs för utveckling som kan användas i ett offentligt nätverk. Förbered din anpassade modell i Speech Studio på utvecklingsresursen och kopiera sedan modellen till produktionsresursen. Se Models_CopyTo REST-begäran med REST API för tal till text.
- Du kan välja att inte använda Speech Studio för anpassat tal. Använd REST API för tal till text för alla anpassade talåtgärder.
Om du vill använda anpassad röst utan att lätta på nätverksåtkomstbegränsningarna för din talresurs för produktion kan du använda REST API för anpassad röst för alla anpassade röståtgärder.
Justera ett program så att det använder en Speech-resurs utan privata slutpunkter
I den här artikeln noterade vi flera gånger att det inte går att ångra aktivering av en anpassad domän för en Speech-resurs. En sådan resurs använder ett annat sätt att kommunicera med Speech-tjänsten jämfört med de som använder regionala slutpunktsnamn.
I det här avsnittet beskrivs hur du använder en Speech-resurs med ett anpassat domännamn men utan några privata slutpunkter med SPEECH-tjänstens REST-API:er och Speech SDK. Det kan vara en resurs som en gång användes i ett privat slutpunktsscenario, men som sedan fick sina privata slutpunkter borttagna.
DNS-konfiguration
Kom ihåg hur ett anpassat DNS-domännamn för den privata slutpunktsaktiverade Speech-resursen matchas från offentliga nätverk. I det här fallet pekar ip-adressen som lösts på en proxyslutpunkt för ett virtuellt nätverk. Slutpunkten används för att skicka nätverkstrafiken till den privata slutpunktsaktiverade Azure AI-tjänstresursen.
Men när alla privata resursslutpunkter tas bort (eller direkt efter aktiveringen av det anpassade domännamnet) återskapas CNAME-posten för Speech-resursen. Nu pekar den på IP-adressen för motsvarande regionala Slutpunkt för Azure AI-tjänster.
Så utdata för nslookup
kommandot ser ut så här:
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
Jämför med utdata från det här avsnittet.
Talresurs med ett anpassat domännamn och utan privata slutpunkter: Användning med REST-API:er
REST API för tal till text
Tal till text REST API-användning motsvarar helt och hållet fallet med privata slutpunktsaktiverade Speech-resurser.
REST API för tal till text för kort ljud och REST API för text till tal
I det här fallet har användningen av REST API för tal till text för kort ljud och användning av REST-API:et text till tal inga skillnader från det allmänna fallet, med ett undantag. (Se följande kommentar.) Du bör använda båda API:erna enligt beskrivningen i REST API för tal till text för kort ljud och REST API-dokumentation för text till tal.
Kommentar
När du använder REST API för tal till text för kort ljud och REST API för text till tal i anpassade domänscenarier använder du en Speech-resursnyckel som skickas Ocp-Apim-Subscription-Key
genom rubriken. (Mer information finns i REST API för tal till text för kort ljud och REST API för text till tal)
Att använda en auktoriseringstoken och skicka den till den särskilda slutpunkten via Authorization
huvudet fungerar bara om du har aktiverat åtkomstalternativet Alla nätverk i avsnittet Nätverk i din Speech-resurs. I andra fall får du antingen Forbidden
eller BadRequest
fel när du försöker hämta en auktoriseringstoken.
Talresurs med ett anpassat domännamn och utan privata slutpunkter: Användning med Speech SDK
Användning av Speech SDK med anpassade domänaktiverade Speech-resurser utan privata slutpunkter motsvarar det allmänna fallet enligt beskrivningen i Speech SDK-dokumentationen.
Tänk på följande om du har ändrat koden för användning med en privat slutpunktsaktiverad Speech-resurs.
I avsnittet om privata slutpunktsaktiverade Speech-resurser förklarade vi hur du fastställer slutpunkts-URL:en, ändrar den och får den att fungera genom initieringen "från slutpunkt"/"med slutpunkt" för klassinstansen SpeechConfig
.
Men om du försöker köra samma program efter att alla privata slutpunkter har tagits bort (vilket ger lite tid för motsvarande ometablering av DNS-poster) får du ett internt tjänstfel (404). Anledningen är att DNS-posten nu pekar på den regionala Azure AI-tjänstslutpunkten i stället för den virtuella nätverksproxyn, och url-sökvägarna som /stt/speech/recognition/conversation/cognitiveservices/v1?language=en-US
inte hittas där.
Du måste återställa programmet till standard-instansieringen av SpeechConfig
i stil med följande kod:
var config = SpeechConfig.FromSubscription(speechKey, azureRegion);
Samtidig användning av privata slutpunkter och tjänstslutpunkter för virtuellt nätverk
Du kan använda privata slutpunkter och tjänstslutpunkter för virtuellt nätverk för att få åtkomst till samma Speech-resurs samtidigt. Om du vill aktivera den här samtidiga användningen måste du använda alternativet Valda nätverk och privata slutpunkter i nätverksinställningarna för Speech-resursen i Azure Portal. Andra alternativ stöds inte för det här scenariot.
Prissättning
Prisinformation finns i Priser för Azure Private Link.