Używanie usługi Mowa za pośrednictwem prywatnego punktu końcowego

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. W tym artykule opisano następnie sposób usuwania prywatnych punktów końcowych później, ale nadal używać zasobu usługi Mowa.

Uwaga

Przed kontynuowaniem zapoznaj się ze sposobem korzystania z sieci wirtualnych z usługami Azure AI.

Skonfigurowanie zasobu usługi Mowa dla scenariuszy prywatnego punktu końcowego wymaga wykonania następujących zadań:

  1. Tworzenie niestandardowej nazwy domeny
  2. Włączanie prywatnych punktów końcowych
  3. 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 usługi sieci wirtualnej są często używane do ograniczania dostępu do zasobu usługi Mowa na podstawie sieci wirtualnych, z których pochodzi ruch.
  • W przypadku usług sztucznej inteligencji platformy Azure włączenie punktu końcowego usługi Sieć wirtualna wymusza ruch dla wszystkich zasobów usług Azure AI w celu przejścia przez sieć szkieletową prywatną. 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 Mowa 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:

W tym artykule opisano użycie prywatnych punktów końcowych za pomocą usługi Mowa. Użycie punktów końcowych usługi sieci wirtualnej zostało opisane tutaj.

Tworzenie niestandardowej nazwy domeny

Uwaga

Zasób usługi Mowa z włączoną niestandardową nazwą domeny używa innego sposobu interakcji z usługą Mowa. 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 Mowa.

Uwaga

Po włączeniu niestandardowej nazwy domeny operacja nie jest odwracalna. Jedynym sposobem powrotu do nazwy regionalnej jest utworzenie nowego zasobu usługi Mowa.

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:

  1. Przejdź do witryny Azure Portal i zaloguj się na swoje konto platformy Azure.

  2. Wybierz wymagany zasób usługi Mowa.

  3. W grupie Zarządzanie zasobami w okienku po lewej stronie wybierz pozycję Sieć.

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

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

  6. 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łączanie prywatnych punktów końcowych

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 aprowizację prywatnych punktów końcowych dla produkcyjnego zasobu usługi Mowa. 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.

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 Konta

System DNS dla prywatnych punktów końcowych: zapoznaj się z ogólnymi zasadami dns dla prywatnych punktów końcowych w zasobach usług AI platformy Azure. Następnie upewnij się, że konfiguracja DNS działa poprawnie, wykonując kontrole opisane w poniższych sekcjach.

Rozpoznawanie nazw DNS z sieci wirtualnej

To sprawdzenie jest wymagane.

Wykonaj następujące kroki, aby przetestować niestandardowy wpis DNS z sieci wirtualnej:

  1. Zaloguj się do maszyny wirtualnej znajdującej się w sieci wirtualnej, do której dołączono prywatny punkt końcowy.

  2. Otwórz wiersz polecenia systemu Windows lub powłokę Bash, uruchom nslookuppolecenie i upewnij się, że pomyślnie rozpozna 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
    
  3. Upewnij się, że adres IP jest zgodny z adresem IP prywatnego punktu końcowego.

Rozpoznawanie nazw 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ę.

  1. Zaloguj się do komputera dołączonego do sieci, aby uzyskać dostęp do zasobu.

  2. Otwórz wiersz polecenia systemu Windows lub powłokę Bash, uruchom nslookuppolecenie i upewnij się, że pomyślnie rozpozna nazwę domeny niestandardowej 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 w celu używania zasobu usługi Mowa z prywatnym punktem końcowym

Zasób usługi Mowa z domeną niestandardową współdziała z usługą Mowa w inny sposób. Dotyczy to zasobu mowy z obsługą domeny niestandardowej i bez prywatnych punktów końcowych. 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 usługi Mowa z niestandardową nazwą domeny i włączonym prywatnym punktem końcowym.

Zasób usługi Mowa z niestandardową nazwą domeny i włączonym prywatnym punktem końcowym używa innego sposobu interakcji z usługą Mowa. W tej sekcji wyjaśniono, jak używać takiego zasobu z interfejsami API REST usługi Mowa i zestawem SPEECH SDK.

Uwaga

Zasób usługi Mowa bez prywatnych punktów końcowych korzystających z niestandardowej nazwy domeny ma również specjalny sposób interakcji z usługą Mowa. W ten sposób różni się od scenariusza zasobu usługi Mowa, który używa prywatnego punktu końcowego. Jest to ważne, ponieważ później możesz zdecydować się na usunięcie prywatnych punktów końcowych. Zobacz Dostosowywanie aplikacji w celu korzystania z zasobu usługi Mowa bez prywatnych punktów końcowych w dalszej części tego artykułu.

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.

Interfejsy API REST zamiany mowy na tekst to:

Użycie interfejsu API REST zamiany mowy na tekst na potrzeby krótkiego dźwięku i interfejsu API REST zamiany tekstu na mowę w scenariuszu 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 API REST zamiany 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 usługi Mowa (który jest niezbędny 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 zasobu usługi Mowa zazwyczaj należy zastąpić nazwę hosta we wszystkich adresach URL żądań nową niestandardową nazwą hosta 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 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 na potrzeby krótkiego dźwięku i interfejsu API REST 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:

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 dźwięku jest w pełni równoważne.

Uwaga

Jeśli używasz interfejsu API REST zamiany mowy na tekst w celu uzyskania krótkiego dźwięku i interfejsu API REST zamiany tekstu na mowę w scenariuszach prywatnych punktów końcowych, użyj klucza zasobu przekazanego Ocp-Apim-Subscription-Key przez nagłówek. (Zobacz szczegóły dotyczące Interfejs API REST zamiany mowy na tekst na potrzeby krótkiego dźwięku 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 usługi Mowa. W innych przypadkach podczas próby uzyskania tokenu autoryzacji wystąpi Forbidden błąd lub 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 interfejsu API REST 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 Konstruuj adres 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 zestawu SDK (i w interfejsie API REST zamiany mowy na tekst w przypadku krótkich scenariuszy interfejsu API REST audio i tekstu na mowę) zasoby usługi korzystają z dedykowanych regionalnych punktów końcowych dla różnych ofert usług. 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
convai Transkrypcja spotkania
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 zamiany mowy na tekst w regionie Europa Zachodnia.

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.comhosta 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:

  1. 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 parametr zawiera pełny adres URL używany value przez aplikację do uzyskiwania dostępu do usługi 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
    
  2. SpeechConfig Utwórz wystąpienie przy użyciu pełnego adresu URL punktu końcowego:

    1. Zmodyfikuj określony punkt końcowy zgodnie z opisem we wcześniejszej sekcji Konstruowanie adresu URL punktu końcowego.

    2. Zmodyfikuj sposób tworzenia wystąpienia programu SpeechConfig. Najprawdopodobniej aplikacja używa czegoś podobnego do następującego:

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

      W tym przykładzie nie działa zasób mowy z obsługą prywatnego punktu końcowego z powodu zmian nazwy hosta i adresu URL opisanych 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 wystąpienia SpeechConfig klasy i użyj inicjowania "from endpoint"/"with endpoint". Załóżmy, że zdefiniowano następujące dwie zmienne:

      • speechKey zawiera klucz zasobu rozpoznawania mowy z obsługą prywatnego punktu końcowego.
      • endPointzawiera adres URL punktu końcowego o pełnej modyfikacji (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 language=en-USzapytania , a także jest ustawiony na ru-RU wartość za pośrednictwem odpowiedniej właściwości, używane jest 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 identyfikatorze 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 usługi Speech Studio połączenia sieciowe i wywołania interfejsu API do odpowiedniego zasobu usługi Mowa 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 mowa niestandardowa, niestandardowy neuronowy głos i 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 usługi Speech Studio za pośrednictwem prywatnych lub punktów końcowych usługi 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 usługi Mowa są ustawiane w witrynie Azure Portal.

  1. Przejdź do witryny Azure Portal i zaloguj się na swoje konto platformy Azure.
  2. Wybierz zasób usługi Mowa.
  3. W grupie Zarządzanie zasobami w okienku po lewej stronie wybierz pozycję Zapory sieciowe>i sieci wirtualne.
  4. Wybierz jedną opcję w obszarze Wszystkie sieci, Wybrane sieci i prywatne punkty końcowe lub Wyłączone.

Mowa niestandardowa

W poniższej tabeli opisano ułatwienia dostępu projektu mowy niestandardowej dla zasobu usługi Mowa Zapory sieciowe>i ustawienia zabezpieczeń sieci wirtualnych.

Uwaga

Jeśli zezwalasz tylko na prywatne punkty końcowe za pośrednictwem karty Połączenia prywatnych punktów końcowych sieci>, nie możesz używać programu Speech Studio z zasobem usługi Mowa. Nadal możesz używać zasobu usługi Mowa poza programem Speech Studio.

Ustawienie zabezpieczeń sieci zasobów usługi Mowa Ułatwienia dostępu projektu usługi Speech Studio
Wszystkie sieci Brak ograniczeń
Wybrane sieci i prywatne punkty końcowe Dostępny z dozwolonych publicznych adresów IP
Disabled 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 na potrzeby programowania, 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 interfejsem API REST zamiany mowy na tekst.
  • Możesz nie używać programu Speech Studio na potrzeby mowy niestandardowej. Użyj interfejsu API REST zamiany mowy na tekst dla wszystkich operacji mowy niestandardowej.

Tworzenie niestandardowej zawartości głosowej i audio

Można używać niestandardowych projektów voice i Audio Content Creation Speech Studio tylko wtedy, gdy ustawienie zabezpieczeń sieci zasobów usługi Mowa to Wszystkie sieci.

Dostosowywanie aplikacji w celu używania zasobu usługi Mowa bez prywatnych punktów końcowych

W tym artykule zauważyliśmy kilka razy, że włączenie domeny niestandardowej dla zasobu usługi Mowa jest nieodwracalne. Taki zasób używa innego sposobu komunikowania się z usługą Mowa w porównaniu z tymi, które używają regionalnych nazw punktów końcowych.

W tej sekcji wyjaśniono, jak używać zasobu 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 rozpoznał punkty końcowe punktu końcowego serwera proxy dla sieci wirtualnej. Ten punkt końcowy jest używany do wysyłania ruchu sieciowego do zasobu usług Azure AI 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 API REST zamiany 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 na potrzeby krótkiego dźwięku i interfejsu API REST zamiany tekstu na mowę

W tym przypadku użycie interfejsu API REST zamiany mowy na tekst w celu krótkiego dźwięku i użycia interfejsu API REST zamiany tekstu na mowę nie ma różnic w ogólnym przypadku z jednym wyjątkiem. (Zobacz następującą notatkę). Oba interfejsy API należy używać zgodnie z opisem w interfejsie API REST zamiany mowy na tekst w celu uzyskania krótkiego dźwięku i dokumentacji interfejsu API REST zamiany tekstu na mowę.

Uwaga

W przypadku używania interfejsu API REST zamiany mowy na tekst w przypadku krótkiego dźwięku i interfejsu API REST zamiany tekstu na mowę w scenariuszach domeny niestandardowej użyj klucza zasobu usługi Mowa przekazanego Ocp-Apim-Subscription-Key przez nagłówek. (Zobacz szczegóły dotyczące Interfejs API REST zamiany mowy na tekst na potrzeby krótkiego dźwięku 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 usługi Mowa. W innych przypadkach podczas próby uzyskania tokenu autoryzacji wystąpi Forbidden błąd lub 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 zestawu SPEECH SDK z zasobami rozpoznawania mowy z obsługą domeny niestandardowej bez prywatnych punktów końcowych jest równoważne ogólnemu przypadku, jak opisano w dokumentacji zestawu Speech SDK.

Jeśli kod został zmodyfikowany do używania z zasobem mowy z obsługą prywatnego punktu końcowego, 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 wskazuje teraz regionalny punkt końcowy usług azure AI zamiast serwera proxy sieci wirtualnej, a ścieżki adresu URL, takie jak /stt/speech/recognition/conversation/cognitiveservices/v1?language=en-US nie można tam znaleźć.

Musisz wycofać aplikację do standardowego wystąpienia SpeechConfig w stylu następującego 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 Mowa. 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.

Dowiedz się więcej