Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Usługa Azure Private Link umożliwia łączenie się z usługami na platformie Azure przy użyciu prywatnego punktu końcowego. Prywatny punkt końcowy to prywatny adres IP dostępny tylko w ramach określonej sieci wirtualnej i podsieci.
W tym artykule wyjaśniono, jak skonfigurować i używać usługi Private Link oraz prywatnych punktów końcowych z usługą Mowa. Niniejszy artykuł opisuje, jak później usunąć prywatne punkty końcowe, a mimo to nadal korzystać z zasobu Mowa.
Uwaga
Przed kontynuowaniem zapoznaj się ze sposobem korzystania z sieci wirtualnych z usługami Azure AI.
Skonfigurowanie zasobu AI Foundry dotyczącego Mowy dla scenariuszy prywatnego punktu końcowego wymaga wykonania następujących zadań:
- Tworzenie niestandardowej nazwy domeny
- Włącz prywatne punkty końcowe
- Dostosowywanie istniejących aplikacji i rozwiązań
Prywatne punkty końcowe i punkty końcowe usługi sieci wirtualnej
Platforma Azure udostępnia prywatne punkty końcowe i punkty końcowe usługi sieci wirtualnej dla ruchu, który tuneluje za pośrednictwem prywatnej sieci szkieletowej platformy Azure. Przeznaczenie i podstawowe technologie tych typów punktów końcowych są podobne. Istnieją jednak różnice między dwiema technologiami. Zalecamy zapoznanie się z zaletami i wadami obu tych rozwiązań przed zaprojektowaniem sieci.
Podczas podejmowania decyzji o użyciu technologii należy wziąć pod uwagę kilka kwestii:
- Obie technologie zapewniają, że ruch między siecią wirtualną a zasobem usługi Mowa nie jest przesyłany przez publiczny Internet.
- Prywatny punkt końcowy udostępnia dedykowany prywatny adres IP dla zasobu usługi Mowa. Ten adres IP jest dostępny tylko w ramach określonej sieci wirtualnej i podsieci. Masz pełną kontrolę nad dostępem do tego adresu IP w ramach infrastruktury sieciowej.
- Punkty końcowe usługi sieci wirtualnej nie zapewniają dedykowanego prywatnego adresu IP dla zasobu usługi Mowa. Zamiast tego hermetyzują wszystkie pakiety wysyłane do zasobu usługi Mowa i dostarczają je bezpośrednio za pośrednictwem sieci szkieletowej platformy Azure.
- Obie technologie obsługują scenariusze lokalne. Domyślnie w przypadku korzystania z punktów końcowych usługi sieci wirtualnej zasoby usługi platformy Azure zabezpieczone dla sieci wirtualnych nie mogą być osiągane z sieci lokalnych. Można jednak zmienić to zachowanie.
- Punkty końcowe sieci wirtualnej są często używane do ograniczania dostępu do zasobu AI Foundry przeznaczonego dla funkcji rozpoznawania mowy, w oparciu o sieci wirtualne, z których pochodzi ruch.
- W przypadku usług Azure AI włączenie punktu końcowego usługi Sieci Wirtualnej wymusza, aby ruch dla wszystkich zasobów Azure AI Foundry przechodził przez prywatną sieć szkieletową. Wymaga to jawnej konfiguracji dostępu do sieci. (Aby uzyskać więcej informacji, zobacz Konfigurowanie sieci wirtualnych i ustawień sieci zasobów usługi Mowa). Prywatne punkty końcowe nie mają tego ograniczenia i zapewniają większą elastyczność konfiguracji sieci. Dostęp do jednego zasobu można uzyskać za pośrednictwem prywatnej sieci szkieletowej i drugiej za pośrednictwem publicznego Internetu przy użyciu tej samej podsieci tej samej sieci wirtualnej.
- Prywatne punkty końcowe generują dodatkowe koszty. Punkty końcowe usługi dla sieci wirtualnej są bezpłatne.
- Prywatne punkty końcowe wymagają dodatkowej konfiguracji DNS.
- Jeden zasób usługi Speech może działać jednocześnie z prywatnymi punktami końcowymi i punktami końcowymi usługi sieci wirtualnej.
Zalecamy wypróbowanie obu typów punktów końcowych przed podjęciem decyzji o projekcie produkcyjnym.
Aby uzyskać więcej informacji zobacz te zasoby:
- Dokumentacja usługi Azure Private Link i prywatnego punktu końcowego
- Dokumentacja punktów końcowych usługi dla sieci wirtualnej
W tym artykule opisano użycie prywatnych punktów końcowych w usłudze Mowa. Użycie punktów końcowych usługi sieci wirtualnej zostało opisane tutaj.
Tworzenie niestandardowej nazwy domeny
Uwaga
zasób AI Foundry dla usługi rozpoznawania mowy z niestandardową nazwą domeny włączoną korzysta z odmiennego sposobu interakcji z usługą rozpoznawania mowy. Może być konieczne dostosowanie kodu aplikacji dla obu tych scenariuszy: z prywatnym punktem końcowym i bez prywatnego punktu końcowego.
Wykonaj następujące kroki, aby utworzyć niestandardową nazwę poddomeny dla usług Azure AI dla zasobu usługi Azure Speech.
Uwaga
Po włączeniu niestandardowej nazwy domeny operacja nie jest odwracalna. Jedynym sposobem powrotu do nazwy regionalnej jest stworzenie nowego zasobu usługi Speech.
Jeśli zasób usługi Mowa zawiera wiele skojarzonych modeli niestandardowych i projektów utworzonych za pośrednictwem usługi Speech Studio, zdecydowanie zalecamy wypróbowanie konfiguracji z zasobem testowym przed zmodyfikowaniem zasobu używanego w środowisku produkcyjnym.
Aby utworzyć niestandardową nazwę domeny przy użyciu witryny Azure Portal, wykonaj następujące kroki:
Przejdź do witryny Azure Portal i zaloguj się na swoje konto platformy Azure.
Wybierz wymagany zasób Mowy.
W grupie Zarządzanie zasobami w okienku po lewej stronie wybierz pozycję Sieć.
Na karcie Zapory i sieci wirtualne wybierz pozycję Generuj niestandardową nazwę domeny. Zostanie wyświetlony nowy panel po prawej stronie z instrukcjami tworzenia unikatowej niestandardowej poddomeny dla zasobu.
W panelu Generuj niestandardową nazwę domeny wprowadź niestandardową nazwę domeny. Pełna domena niestandardowa będzie wyglądać następująco:
https://{your custom name}.cognitiveservices.azure.com
.Pamiętaj, że po utworzeniu niestandardowej nazwy domeny nie można jej zmienić.
Po wprowadzeniu niestandardowej nazwy domeny wybierz pozycję Zapisz.
Po zakończeniu operacji w grupie Zarządzanie zasobami wybierz pozycję Klucze i punkt końcowy. Upewnij się, że nowa nazwa punktu końcowego zasobu rozpoczyna się w następujący sposób:
https://{your custom name}.cognitiveservices.azure.com
.
Włącz prywatne punkty końcowe
Zalecamy używanie prywatnej strefy DNS dołączonej do sieci wirtualnej z niezbędnymi aktualizacjami dla prywatnych punktów końcowych. Podczas procesu aprowizacji można utworzyć prywatną strefę DNS. Jeśli używasz własnego serwera DNS, może być również konieczne zmianę konfiguracji DNS.
Zdecyduj o strategii DNS przed utworzeniem prywatnych punktów końcowych dla produkcyjnego zasobu usługi Speech. Przetestuj zmiany DNS, zwłaszcza jeśli używasz własnego serwera DNS.
Użyj jednego z poniższych artykułów, aby utworzyć prywatne punkty końcowe. Te artykuły używają aplikacji internetowej jako przykładowego zasobu do udostępniania za pośrednictwem prywatnych punktów końcowych.
- Tworzenie prywatnego punktu końcowego przy użyciu witryny Azure Portal
- Tworzenie prywatnego punktu końcowego przy użyciu programu Azure PowerShell
- Tworzenie prywatnego punktu końcowego przy użyciu interfejsu wiersza polecenia platformy Azure
Użyj tych parametrów zamiast parametrów w artykule, który został wybrany:
Ustawienie | Wartość |
---|---|
Typ zasobu | Microsoft.CognitiveServices/accounts |
Zasób | <twoja nazwa zasobu mowy> |
Docelowy zasób podrzędny | rachunek |
Dns dla prywatnych punktów końcowych: Zapoznaj się z ogólnymi zasadami dns dla prywatnych punktów końcowych w zasobach usługi Azure AI Foundry. Następnie upewnij się, że konfiguracja DNS działa poprawnie, wykonując kontrole opisane w poniższych sekcjach.
Rozwiązywanie DNS z sieci wirtualnej
To sprawdzenie jest wymagane.
Wykonaj następujące kroki, aby przetestować niestandardowy wpis DNS z sieci wirtualnej:
Zaloguj się do maszyny wirtualnej znajdującej się w sieci wirtualnej, do której dołączono prywatny punkt końcowy.
Otwórz wiersz polecenia systemu Windows lub powłokę Bash, uruchom
nslookup
, i upewnij się, że pomyślnie rozpoznaje nazwę domeny niestandardowej zasobu.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
Upewnij się, że adres IP jest zgodny z adresem IP prywatnego punktu końcowego.
Rozwiązywanie DNS z innych sieci
Wykonaj to sprawdzenie tylko wtedy, gdy włączono opcję Wszystkie sieci lub opcję Dostęp do wybranych sieci i prywatnych punktów końcowych w sekcji Sieć zasobu.
Jeśli planujesz uzyskać dostęp do zasobu przy użyciu tylko prywatnego punktu końcowego, możesz pominąć tę sekcję.
Zaloguj się do komputera dołączonego do sieci, aby uzyskać dostęp do zasobu.
Otwórz wiersz polecenia systemu Windows lub powłokę Bash, uruchom
nslookup
, i upewnij się, że pomyślnie rozpozna nazwę domeny niestandardowej twojego zasobu.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
Uwaga
Rozpoznany adres IP wskazuje punkt końcowy serwera proxy sieci wirtualnej, który wysyła ruch sieciowy do prywatnego punktu końcowego zasobu usługi Mowa. Zachowanie będzie inne dla zasobu z niestandardową nazwą domeny, ale bez prywatnych punktów końcowych. Aby uzyskać szczegółowe informacje, zobacz tę sekcję .
Dostosowywanie aplikacji tak, aby korzystała z zasobu usługi AI Foundry dla usługi Mowa przy użyciu prywatnego punktu końcowego
Zasób AI Foundry dla usługi Mowy z niestandardową domeną współdziała z usługą Mowy w inny sposób. Jest to prawdą dla zasobu mowy z obsługą domeny niestandardowej zarówno z prywatnymi punktami końcowymi, jak i bez nich. Informacje w tej sekcji dotyczą obu scenariuszy.
Postępuj zgodnie z instrukcjami w tej sekcji, aby dostosować istniejące aplikacje i rozwiązania do używania zasobu AI Foundry dla mowy z niestandardową nazwą domeny i włączonym prywatnym punktem końcowym.
Zasób rozwiązania Foundry AI dla usługi rozpoznawania mowy z niestandardową nazwą domeny i aktywowanym prywatnym punktem końcowym używa innego sposobu interakcji z usługą rozpoznawania mowy. W tej sekcji wyjaśniono, jak używać takiego zasobu za pomocą REST API usługi Mowa oraz zestawu Speech SDK.
Uwaga
Zasób AI Foundry dla usługi Mowa, który nie korzysta z prywatnych punktów końcowych, ale używa niestandardowej nazwy domeny, ma również specjalny sposób interakcji z usługą Mowa. W ten sposób różni się od scenariusza zasobu AI Foundry dla funkcji Mowy, który korzysta z prywatnego punktu końcowego. Jest to ważne, ponieważ później możesz zdecydować się na usunięcie prywatnych punktów końcowych. W dalszej części tego artykułu sprawdź dostosowanie aplikacji, aby użyć zasobu AI Foundry dla mowy bez prywatnych punktów końcowych.
Zasób mowy z niestandardową nazwą domeny i prywatnym punktem końcowym: użycie za pomocą interfejsów API REST
W tej sekcji używamy my-private-link-speech.cognitiveservices.azure.com
jako przykładowej nazwy DNS zasobu usługi Mowa (domena niestandardowa).
Usługa rozpoznawania mowy ma interfejsy API REST dla zamiany mowy na tekst i zamianę tekstu na mowę. Rozważ następujące informacje dotyczące scenariusza z obsługą prywatnego punktu końcowego.
Zamiana mowy na tekst ma dwa interfejsy API REST. Każdy interfejs API obsługuje inny cel, używa różnych punktów końcowych i wymaga innego podejścia w przypadku korzystania z niego w scenariuszu z obsługą prywatnego punktu końcowego.
API REST do rozpoznawania mowy na tekst to:
- Interfejs API REST zamiany mowy na tekst, który jest używany do transkrypcji wsadowej i mowy dostosowanej.
- Interfejs API REST zamiany mowy na tekst dla krótkich nagrań audio, używany w czasie rzeczywistym do transkrypcji mowy na tekst.
Użycie interfejsu API REST zamiany mowy na tekst na potrzeby krótkich nagrań audio i interfejsu API REST zamiany tekstu na mowę w przypadku prywatnego punktu końcowego jest takie samo. Jest to odpowiednik przypadku zestawu Speech SDK opisanego w dalszej części tego artykułu.
Interfejs API REST zamiany mowy na tekst używa innego zestawu punktów końcowych, dlatego wymaga innego podejścia dla scenariusza z obsługą prywatnego punktu końcowego.
W następnych podsekcjach opisano oba przypadki.
Interfejs REST API konwersji mowy na tekst
Zazwyczaj zasoby usługi Mowa używają regionalnych punktów końcowych usług AI platformy Azure do komunikowania się z interfejsem API REST zamiany mowy na tekst. Te zasoby mają następujący format nazewnictwa:
{region}.api.cognitive.microsoft.com
.
Jest to przykładowy adres URL żądania:
https://westeurope.api.cognitive.microsoft.com/speechtotext/v3.1/transcriptions
Uwaga
Zobacz ten artykuł dotyczący platformy Azure Government i platformy Microsoft Azure obsługiwanych przez punkty końcowe 21Vianet.
Po włączeniu domeny niestandardowej dla zasobu rozwiązania AI Foundry dla usługi Mowa (co jest niezbędne dla prywatnych punktów końcowych), ten zasób będzie używać następującego wzorca nazwy DNS dla podstawowego punktu końcowego interfejsu API REST:
{your custom name}.cognitiveservices.azure.com
Oznacza to, że w naszym przykładzie nazwa punktu końcowego interfejsu API REST to:
my-private-link-speech.cognitiveservices.azure.com
Przykładowy adres URL żądania należy przekonwertować na:
https://my-private-link-speech.cognitiveservices.azure.com/speechtotext/v3.1/transcriptions
Ten adres URL powinien być dostępny z sieci wirtualnej z dołączonym prywatnym punktem końcowym (pod warunkiem prawidłowego rozpoznawania nazw DNS).
Po włączeniu niestandardowej nazwy domeny dla zasobu AI Foundry dla Mowy zazwyczaj zastępujesz nazwę hosta we wszystkich adresach URL żądań nową nazwą hosta dla domeny. Wszystkie pozostałe części żądania (takie jak ścieżka /speechtotext/v3.1/transcriptions
we wcześniejszym przykładzie) pozostają takie same.
Napiwek
Niektórzy klienci tworzą aplikacje korzystające z części regionu nazwy DNS regionalnego punktu końcowego (na przykład w celu wysłania żądania do zasobu usługi Mowa wdrożonego w określonym regionie świadczenia usługi Azure).
Domena niestandardowa zasobu usługi AI Foundry dla usługi Mowa nie zawiera informacji o regionie, w którym wdrożono zasób. Dlatego logika aplikacji opisana wcześniej nie będzie działać i musi zostać zmieniona.
Interfejs API REST zamiany mowy na tekst dla krótkiego dźwięku i zamiany tekstu na mowę
Interfejs API REST zamiany mowy na tekst dla krótkiego dźwiękui interfejsu API REST zamiany tekstu na mowę używają dwóch typów punktów końcowych:
- Regionalne punkty końcowe usług sztucznej inteligencji platformy Azure do komunikowania się z interfejsem API REST usług AI platformy Azure w celu uzyskania tokenu autoryzacji
- Specjalne punkty końcowe dla wszystkich innych operacji
Uwaga
Zobacz ten artykuł dotyczący platformy Azure Government i platformy Azure obsługiwanych przez punkty końcowe 21Vianet.
Szczegółowy opis specjalnych punktów końcowych i sposobu przekształcania ich adresu URL dla zasobu mowy z obsługą prywatnego punktu końcowego znajduje się w tej podsekcji dotyczącej użycia za pomocą zestawu Speech SDK. Ta sama zasada opisana dla zestawu SDK dotyczy interfejsu API REST zamiany mowy na tekst dla krótkiego dźwięku i interfejsu API REST zamiany tekstu na mowę.
Zapoznaj się z materiałem w podsekcji wymienionej w poprzednim akapicie i zapoznaj się z poniższym przykładem. W przykładzie opisano interfejs API REST zamiany tekstu na mowę. Użycie interfejsu API REST zamiany mowy na tekst dla krótkiego nagrania dźwiękowego jest w pełni równoważne.
Uwaga
Jeśli używasz interfejsu REST zamiany mowy na tekst dla krótkiego audio oraz interfejsu REST zamiany tekstu na mowę w scenariuszach prywatnych punktów końcowych, użyj klucza zasobu przekazanego przez nagłówek Ocp-Apim-Subscription-Key
. (Zobacz szczegóły dotyczące interfejsu API REST zamiany mowy na tekst dla krótkiego audio i interfejsu API REST zamiany tekstu na mowę)
Użycie tokenu autoryzacji i przekazanie go do specjalnego punktu końcowego za pośrednictwem Authorization
nagłówka będzie działać tylko wtedy, gdy włączono opcję Wszystkie sieci dostępu w sekcji Sieć zasobu Mowa. W innych przypadkach podczas próby uzyskania tokenu autoryzacji wystąpi albo błąd Forbidden
, albo BadRequest
.
Przykład użycia interfejsu API REST zamiany tekstu na mowę
Używamy Europy Zachodniej jako przykładowego regionu platformy Azure i my-private-link-speech.cognitiveservices.azure.com
jako przykładowej nazwy DNS zasobu usługi Mowa (domena niestandardowa). Niestandardowa nazwa my-private-link-speech.cognitiveservices.azure.com
domeny w naszym przykładzie należy do zasobu usługi Mowa utworzonego w regionie Europa Zachodnia.
Aby uzyskać listę głosów obsługiwanych w regionie, wykonaj następujące żądanie:
https://westeurope.tts.speech.microsoft.com/cognitiveservices/voices/list
Zobacz więcej szczegółów w dokumentacji REST API zamiany tekstu na mowę.
W przypadku zasobu mowy z obsługą prywatnego punktu końcowego adres URL dla tej samej operacji należy zmodyfikować. To samo żądanie wygląda następująco:
https://my-private-link-speech.cognitiveservices.azure.com/tts/cognitiveservices/voices/list
Szczegółowe wyjaśnienie można znaleźć w podsekcji Tworzenie adresu URL punktu końcowego dla zestawu Speech SDK.
Zasób mowy z niestandardową nazwą domeny i prywatnym punktem końcowym: użycie za pomocą zestawu Speech SDK
Korzystanie z zestawu SPEECH SDK z niestandardową nazwą domeny i zasobami rozpoznawania mowy z obsługą prywatnego punktu końcowego wymaga przejrzenia i prawdopodobnej zmiany kodu aplikacji.
W tej sekcji używamy my-private-link-speech.cognitiveservices.azure.com
jako przykładowej nazwy DNS zasobu usługi Mowa (domena niestandardowa).
Konstruowanie adresu URL punktu końcowego
Zazwyczaj w scenariuszach SDK (a także w interfejsie API REST zamiany mowy na tekst w przypadku krótkiego audio oraz w interfejsie API REST zamiany tekstu na mowę), zasoby usługi korzystają z dedykowanych regionalnych endpointów dla różnych ofert serwisowych. Format nazwy DNS dla tych punktów końcowych to:
{region}.{speech service offering}.speech.microsoft.com
Przykładowa nazwa DNS to:
westeurope.stt.speech.microsoft.com
Wszystkie możliwe wartości regionu (pierwszy element nazwy DNS) są wymienione w obsługiwanych regionach usługi Mowa. (Zobacz ten artykuł dotyczący platformy Azure Government i platformy Azure obsługiwanej przez punkty końcowe 21Vianet). W poniższej tabeli przedstawiono możliwe wartości oferty usługi Mowa (drugi element nazwy DNS):
Wartość nazwy DNS | Oferta usługi rozpoznawania mowy |
---|---|
commands |
Polecenia niestandardowe |
s2s |
Tłumaczenie mowy |
stt |
Zamiana mowy na tekst |
tts |
Zamiana tekstu na mowę |
voice |
Niestandardowy głos |
Tak więc wcześniejszy przykład (westeurope.stt.speech.microsoft.com
) oznacza punkt końcowy przekształcania mowy na tekst w Europie Zachodniej.
Prywatne punkty końcowe z obsługą punktu końcowego komunikują się z usługą Mowa za pośrednictwem specjalnego serwera proxy. W związku z tym należy zmienić adresy URL połączenia punktu końcowego.
Adres URL "standardowego" punktu końcowego wygląda następująco:
{region}.{speech service offering}.speech.microsoft.com/{URL path}
Prywatny adres URL punktu końcowego wygląda następująco:
{your custom name}.cognitiveservices.azure.com/{speech service offering}/{URL path}
Przykład 1. Aplikacja komunikuje się przy użyciu następującego adresu URL (rozpoznawanie mowy przy użyciu modelu podstawowego dla języka angielskiego USA w regionie Europa Zachodnia):
wss://westeurope.stt.speech.microsoft.com/speech/recognition/conversation/cognitiveservices/v1?language=en-US
Aby użyć go w scenariuszu z obsługą prywatnego punktu końcowego, gdy niestandardowa nazwa domeny zasobu usługi Mowa to my-private-link-speech.cognitiveservices.azure.com
, należy zmodyfikować adres URL w następujący sposób:
wss://my-private-link-speech.cognitiveservices.azure.com/stt/speech/recognition/conversation/cognitiveservices/v1?language=en-US
Zwróć uwagę na szczegóły:
- Nazwa
westeurope.stt.speech.microsoft.com
hosta jest zastępowana przez niestandardową nazwęmy-private-link-speech.cognitiveservices.azure.com
hosta domeny . - Drugi element oryginalnej nazwy DNS (
stt
) staje się pierwszym elementem ścieżki adresu URL i poprzedza oryginalną ścieżkę. W związku z tym oryginalny adres URL/speech/recognition/conversation/cognitiveservices/v1?language=en-US
staje się ./stt/speech/recognition/conversation/cognitiveservices/v1?language=en-US
Przykład 2. Aplikacja używa następującego adresu URL do syntezowania mowy w regionie Europa Zachodnia:
wss://westeurope.tts.speech.microsoft.com/cognitiveservices/websocket/v1
Następujący równoważny adres URL używa prywatnego punktu końcowego, w którym niestandardowa nazwa domeny zasobu usługi Mowa to my-private-link-speech.cognitiveservices.azure.com
:
wss://my-private-link-speech.cognitiveservices.azure.com/tts/cognitiveservices/websocket/v1
Ta sama zasada w przykładzie 1 jest stosowana, ale tym razem kluczowym elementem jest tts
.
Modyfikowanie aplikacji
Wykonaj następujące kroki, aby zmodyfikować kod:
Określ adres URL punktu końcowego aplikacji:
- Włącz rejestrowanie aplikacji i uruchom ją w celu rejestrowania aktywności.
- W pliku dziennika wyszukaj ciąg
SPEECH-ConnectionUrl
. W pasujących wierszach parametrvalue
zawiera pełny adres URL, którego Twoja aplikacja użyła do połączenia z usługą Mowa.
Przykład:
(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'
Dlatego adres URL używany w tym przykładzie przez aplikację to:
wss://westeurope.stt.speech.microsoft.com/speech/recognition/conversation/cognitiveservices/v1?language=en-US
Utwórz wystąpienie
SpeechConfig
przy użyciu pełnego adresu URL punktu końcowego.Zmodyfikuj adres URL punktu końcowego ustalony zgodnie z opisem we wcześniejszej sekcji Konstruowanie adresu URL.
Zmodyfikuj sposób tworzenia wystąpienia
SpeechConfig
. Najprawdopodobniej aplikacja używa czegoś podobnego do następującego:var config = SpeechConfig.FromSubscription(speechKey, azureRegion);
Ten przykład nie działa dla zasobu głosu, który korzysta z prywatnego punktu końcowego, ze względu na zmiany w nazwie hosta i adresie URL, które opisaliśmy w poprzednich sekcjach. Jeśli spróbujesz uruchomić istniejącą aplikację bez żadnych modyfikacji przy użyciu klucza zasobu z obsługą prywatnego punktu końcowego, zostanie wyświetlony błąd uwierzytelniania (401).
Aby to działało, zmodyfikuj sposób tworzenia instancji klasy
SpeechConfig
i użyj inicjalizacji "od punktu końcowego" lub "z punktem końcowym". Załóżmy, że zdefiniowano następujące dwie zmienne:-
speechKey
zawiera klucz zasobu rozpoznawania mowy z obsługą prywatnego punktu końcowego. -
endPoint
zawiera pełny zmodyfikowany adres URL punktu końcowego (przy użyciu typu wymaganego przez odpowiedni język programowania). W naszym przykładzie ta zmienna powinna zawierać następujące elementy:wss://my-private-link-speech.cognitiveservices.azure.com/stt/speech/recognition/conversation/cognitiveservices/v1?language=en-US
Utwórz
SpeechConfig
wystąpienie: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);
-
Napiwek
Parametry zapytania określone w identyfikatorze URI punktu końcowego nie są zmieniane, nawet jeśli są ustawiane przez inne interfejsy API. Jeśli na przykład język rozpoznawania jest zdefiniowany w identyfikatorze URI jako parametr zapytania language=en-US
, a także jest ustawiony na wartość ru-RU
za pośrednictwem odpowiedniej właściwości, jest używane ustawienie języka w identyfikatorze URI. Efektywny język to .en-US
Parametry ustawione w identyfikatorze URI punktu końcowego zawsze mają pierwszeństwo. Inne interfejsy API mogą zastąpić tylko parametry, które nie zostały określone w URI punktu końcowego.
Po tej modyfikacji aplikacja powinna współpracować z zasobami usługi Mowa z obsługą prywatnego punktu końcowego. Pracujemy nad bardziej bezproblemową obsługą scenariuszy prywatnych punktów końcowych.
Korzystanie z usługi Speech Studio
Usługa Speech Studio to portal internetowy z narzędziami do tworzenia i integrowania usługi Rozpoznawanie mowy azure AI w aplikacji. Podczas pracy w projektach Speech Studio połączenia sieciowe i wywołania API do odpowiedniego zasobu Speech są wykonywane w Twoim imieniu. Praca z prywatnymi punktami końcowymi, punktami końcowymi usługi sieci wirtualnej i innymi opcjami zabezpieczeń sieci może ograniczyć dostępność funkcji usługi Speech Studio. Zwykle używasz programu Speech Studio podczas pracy z funkcjami, takimi jak niestandardowa mowa, niestandardowy głos oraz tworzenie zawartości audio.
Dotarcie do portalu internetowego usługi Speech Studio z sieci wirtualnej
Aby używać programu Speech Studio z maszyny wirtualnej w sieci wirtualnej platformy Azure, musisz zezwolić na połączenia wychodzące z wymaganym zestawem tagów usługi dla tej sieci wirtualnej. Więcej szczegółów można znaleźć tutaj.
Dostęp do punktu końcowego zasobu usługi Mowa nie jest równy dostępowi do portalu internetowego usługi Speech Studio. Dostęp do portalu internetowego Speech Studio za pośrednictwem prywatnych punktów końcowych lub punktów końcowych sieci wirtualnej nie jest obsługiwany.
Praca z projektami usługi Speech Studio
W tej sekcji opisano pracę z różnymi rodzajami projektów usługi Speech Studio dla różnych opcji zabezpieczeń sieciowych zasobu usługi Mowa. Oczekuje się, że zostanie nawiązane połączenie przeglądarki internetowej z usługą Speech Studio. Ustawienia zabezpieczeń sieci zasobów mowy są konfigurowane w portalu Azure.
- Przejdź do witryny Azure Portal i zaloguj się na swoje konto platformy Azure.
- Wybierz zasób Mowy.
- W grupie Zarządzanie zasobami w okienku po lewej stronie wybierz pozycję wirtualne.
- Wybierz jedną opcję w obszarze Wszystkie sieci, Wybrane sieci i prywatne punkty końcowe lub Wyłączone.
Tworzenie niestandardowej mowy, głosu niestandardowego i zawartości audio
W poniższej tabeli opisano dostępność projektów niestandardowych dla mowy/głosu/zawartości audio w zależności od ustawień zabezpieczeń sieciowych Sieciowanie>Zapory sieciowe i sieci wirtualne dla zasób usługi Speech.
Uwaga
Jeśli zezwalasz tylko na prywatne punkty końcowe za pośrednictwem zakładki Sieć>Połączenia prywatnych punktów końcowych, nie możesz używać Studio mowy z zasobem Speech. Nadal możesz używać zasobu usługi Mowa poza programem Speech Studio.
Ustawienie zabezpieczeń sieci zasobów mowy | Dostępność projektu Speech Studio |
---|---|
Wszystkie sieci | Brak ograniczeń |
Wybrane sieci i prywatne punkty końcowe | Dostępny z dozwolonych publicznych adresów IP |
Wyłączony | Niedostępny |
Jeśli wybierzesz pozycję Wybrane sieci i prywatne punkty końcowe, zostanie wyświetlona karta z opcjami konfiguracji sieci wirtualnych i dostępem do zapory. W sekcji Zapora musisz zezwolić na co najmniej jeden publiczny adres IP i użyć tego adresu dla połączenia przeglądarki z usługą Speech Studio.
Jeśli zezwolisz tylko na dostęp za pośrednictwem sieci wirtualnej, w efekcie nie zezwalasz na dostęp do zasobu usługi Mowa za pośrednictwem usługi Speech Studio. Nadal możesz używać zasobu usługi Mowa poza programem Speech Studio.
Aby używać mowy niestandardowej bez złagodzenia ograniczeń dostępu do sieci w zasobie usługi Mowa w środowisku produkcyjnym, rozważ jedno z tych obejść.
- Utwórz kolejny zasób usługi Mowa do wykorzystania w celach rozwojowych, który może być używany w sieci publicznej. Przygotuj model niestandardowy w usłudze Speech Studio na zasobie deweloperskim, a następnie skopiuj model do zasobu produkcyjnego. Zobacz żądanie REST Models_CopyTo z REST API przekształcania mowy w tekst.
- Możesz nie używać programu Speech Studio na potrzeby mowy niestandardowej. Użyj interfejsu API REST przetwarzania mowy na tekst dla wszystkich operacji niestandardowej mowy.
Aby używać niestandardowego głosu bez złagodzenia ograniczeń dostępu do sieci w środowisku produkcyjnym usługi Mowa, rozważ użycie niestandardowego interfejsu API REST głosu dla wszystkich niestandardowych operacji głosowych.
Dostosowanie aplikacji do używania zasobu AI Foundry do Mowy bez użycia prywatnych punktów końcowych
W tym artykule zanotowaliśmy kilka razy, że włączenie domeny niestandardowej dla zasobu usługi Mowa w usłudze AI Foundry jest nieodwracalne. Taki zasób używa innego sposobu komunikowania się z usługą rozpoznawania mowy w porównaniu z tymi, które korzystają z regionalnych punktów końcowych.
W tej sekcji wyjaśniono, jak używać zasobu usługi AI Foundry dla usługi Mowa z niestandardową nazwą domeny, ale bez żadnych prywatnych punktów końcowych z interfejsami API REST usługi Mowa i zestawem SPEECH SDK. Może to być zasób, który był kiedyś używany w scenariuszu prywatnego punktu końcowego, ale jego prywatne punkty końcowe zostały usunięte.
Konfiguracja DNS
Pamiętaj, jak niestandardowa nazwa DNS domeny zasobu rozpoznawania mowy z obsługą prywatnego punktu końcowego jest rozpoznawana z sieci publicznych. W takim przypadku adres IP wskazuje na punkt końcowy serwera proxy sieci wirtualnej. Ten punkt końcowy jest używany do wysyłania ruchu sieciowego do zasobu usługi Azure AI Foundry z obsługą prywatnego punktu końcowego.
Jeśli jednak wszystkie prywatne punkty końcowe zasobu zostaną usunięte (lub bezpośrednio po włączeniu niestandardowej nazwy domeny), rekord CNAME zasobu usługi Mowa zostanie ponownie aprowizacji. Teraz wskazuje adres IP odpowiedniego regionalnego punktu końcowego usług azure AI.
Dane wyjściowe nslookup
polecenia wyglądają następująco:
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
Porównaj je z danymi wyjściowymi z tej sekcji.
Zasób mowy z niestandardową nazwą domeny i bez prywatnych punktów końcowych: użycie za pomocą interfejsów API REST
Interfejs REST API konwersji mowy na tekst
Użycie interfejsu API REST zamiany mowy na tekst jest w pełni równoważne przypadku zasobów mowy z obsługą prywatnego punktu końcowego.
Interfejs API REST zamiany mowy na tekst dla krótkiego dźwięku i zamiany tekstu na mowę
W tym przypadku użycie interfejsu API REST zamiany mowy na tekst dla krótkiego dźwięku i interfejsu API REST zamiany tekstu na mowę nie różni się od ogólnego przypadku, z jednym wyjątkiem. (Zobacz następującą notatkę.) Oba interfejsy API należy używać zgodnie z opisem w dokumentacji REST API zamiany mowy na tekst dla krótkich nagrań audio i REST API zamiany tekstu na mowę.
Uwaga
Gdy używasz interfejsu API REST zamiany mowy na tekst dla krótkich nagrań audio oraz interfejsu API REST zamiany tekstu na mowę w scenariuszach z niestandardową domeną, użyj klucza API przekazywanego przez nagłówek Ocp-Apim-Subscription-Key
. (Zobacz szczegóły dotyczące interfejsu API REST zamiany mowy na tekst dla krótkiego audio i interfejsu API REST zamiany tekstu na mowę)
Użycie tokenu autoryzacji i przekazanie go do specjalnego punktu końcowego za pośrednictwem Authorization
nagłówka będzie działać tylko wtedy, gdy włączono opcję Wszystkie sieci dostępu w sekcji Sieć zasobu Mowa. W innych przypadkach podczas próby uzyskania tokenu autoryzacji wystąpi albo błąd Forbidden
, albo BadRequest
.
Zasób usługi Mowa z niestandardową nazwą domeny i bez prywatnych punktów końcowych: użycie przy użyciu zestawu Speech SDK
Używanie Speech SDK z zasobami rozpoznawania mowy, które obsługują domeny niestandardowe bez prywatnych punktów dostępu, jest równoważne ogólnemu przypadkowi, jak opisano w dokumentacji Speech SDK.
Jeśli zmodyfikowałeś swój kod do użycia z zasobem mowy obsługującym prywatny punkt końcowy, rozważ następujące kwestie.
W sekcji dotyczącej zasobów rozpoznawania mowy z obsługą prywatnego punktu końcowego wyjaśniliśmy, jak określić adres URL punktu końcowego, zmodyfikować go i sprawić, że działa on za pomocą inicjowania SpeechConfig
wystąpienia klasy "from endpoint"/"with endpoint".
Jeśli jednak spróbujesz uruchomić tę samą aplikację po usunięciu wszystkich prywatnych punktów końcowych (co pozwoli trochę czasu na ponowne aprowizowanie odpowiedniego rekordu DNS), zostanie wyświetlony wewnętrzny błąd usługi (404). Przyczyną jest to, że rekord DNS teraz wskazuje na regionalny punkt końcowy usług Azure AI zamiast serwera proxy sieci wirtualnej, a ścieżki adresu URL, takie jak , nie można tam znaleźć.
Musisz przywrócić aplikację do standardowego wystąpienia SpeechConfig
zgodnie ze stylem poniższego kodu.
var config = SpeechConfig.FromSubscription(speechKey, azureRegion);
Jednoczesne korzystanie z prywatnych punktów końcowych i punktów końcowych usługi sieci wirtualnej
Możesz użyć prywatnych punktów końcowych i punktów końcowych usługi sieci wirtualnej, aby jednocześnie uzyskać dostęp do tego samego zasobu usługi rozpoznawania mowy. Aby włączyć to jednoczesne użycie, należy użyć opcji Wybrane sieci i prywatne punkty końcowe w ustawieniach sieci zasobu usługi Mowa w witrynie Azure Portal. Inne opcje nie są obsługiwane w tym scenariuszu.
Cennik
Aby uzyskać szczegółowe informacje o cenach, zobacz Cennik usługi Azure Private Link.