Aracılığıyla paylaş


Konuşma hizmetini özel uç nokta üzerinden kullanma

Azure Özel Bağlantı, özel uç nokta kullanarak Azure'daki hizmetlere bağlanmanızı sağlar. Özel uç nokta, yalnızca belirli bir sanal ağ ve alt ağ içinde erişilebilen özel bir IP adresidir.

Bu makalede Konuşma hizmetiyle Özel Bağlantı ve özel uç noktaları ayarlama ve kullanma işlemleri açıklanmaktadır. Daha sonra özel uç noktaların nasıl kaldırılacağını açıklar ancak konuşma kaynağını kullanmaya devam eder.

Genel bakış adımları

Görev CLI komutu Zaman tahmini
Özel alan adı oluşturma az cognitiveservices account update --custom-domain <name> 1 dk
Etki alanı kullanılabilirliğini denetleme az rest --method post --url ".../checkDomainAvailability" 30 sn
Özel uç nokta oluşturma az network private-endpoint create ... 2-3 dk
Özel DNS yapılandırma az network private-dns zone create ... 2-3 dk
DNS çözümlemesini doğrulama nslookup <custom-name>.cognitiveservices.azure.com 30 sn

Önkoşullar

Devam etmeden önce , Foundry Araçları ile sanal ağların nasıl kullanılacağını gözden geçirin.

  • Azure aboneliği. Hesabınız yoksa ücretsiz bir hesap oluşturun. az account show ile doğrulayın.
  • Azure CLI (en son sürüm). Yükleyin veya güncelleştirin az upgrade ile. az --version ile doğrulayın.
  • Konuşma kaynağı (S0 katmanı). az cognitiveservices account create --kind SpeechServices --sku S0 ... ile oluşturun. az cognitiveservices account show --name <name> --resource-group <rg> ile doğrulayın.
  • Alt ağa sahip bir sanal ağ. az network vnet create ... ile oluşturun. az network vnet show --name <vnet> --resource-group <rg> ile doğrulayın.

Not

Azure CLI yerine PowerShell kullanıyorsanız, Azure PowerShell modülü 5.1.0 veya üzeri ile PowerShell 7.x veya üzeri gerekir. $PSVersionTable ve Get-Module -ListAvailable Az ile doğrulayın.

Özel uç nokta senaryoları için konuşma kaynağı ayarlamak için şu görevler gerekir:

  1. Özel etki alanı adı oluştur
  2. Özel uç noktaları açma
  3. Mevcut uygulamaları ve çözümleri ayarlama

Özel uç noktalar ve Sanal Ağ hizmet uç noktaları

Azure, özel Azure omurga ağı üzerinden tünel oluşturan trafik için özel uç noktalar ve Sanal Ağ hizmet uç noktaları sağlar. Bu uç nokta türlerinin amacı ve temel teknolojileri benzerdir. Ancak iki teknoloji arasında farklılıklar vardır. Ağınızı tasarlamadan önce her ikisinin artıları ve dezavantajları hakkında bilgi edinmenizi öneririz.

Hangi teknolojiyi kullanacağınıza karar vermeniz durumunda göz önünde bulundurmanız gereken birkaç şey vardır:

  • Her iki teknoloji de sanal ağ ile Konuşma kaynağı arasındaki trafiğin genel İnternet üzerinden seyahat etmemesini sağlar.
  • Özel uç nokta, Konuşma kaynağınız için ayrılmış bir özel IP adresi sağlar. Bu IP adresine yalnızca belirli bir sanal ağ ve alt ağ içinden erişilebilir. Ağ altyapınızda bu IP adresine erişim konusunda tam denetime sahipsiniz.
  • Sanal Ağ hizmet uç noktaları Konuşma kaynağı için ayrılmış bir özel IP adresi sağlamaz. Bunun yerine Konuşma kaynağına gönderilen tüm paketleri kapsüller ve doğrudan Azure omurga ağı üzerinden teslim ederler.
  • Her iki teknoloji de şirket içi senaryoları destekler. Varsayılan olarak, Sanal Ağ hizmet uç noktalarını kullandıklarında, sanal ağlara güvenli hale getirilen Azure hizmet kaynaklarına şirket içi ağlardan ulaşılamaz. Ama bu davranışı değiştirebilirsiniz.
  • Sanal Ağ hizmet uç noktaları genellikle konuşma için Bir Dökümhane kaynağına erişimi trafiğin kaynaklandığı sanal ağlara göre kısıtlamak için kullanılır.
  • Foundry Tools için Sanal Ağ hizmet uç noktasının etkinleştirilmesi, tüm Microsoft Foundry kaynaklarının trafiğinin özel ağ omurgasından geçmesine zorlar. Bunun için açık ağ erişim yapılandırması gerekir. (Daha fazla bilgi için bkz. Sanal ağları ve Konuşma kaynağı ağ ayarlarını yapılandırın.) Özel uç noktaların bu sınırlaması yoktur ve ağ yapılandırmanız için daha fazla esneklik sağlar. Aynı sanal ağın aynı alt ağını kullanarak özel omurga üzerinden bir kaynağa ve genel İnternet üzerinden başka bir kaynağa erişebilirsiniz.
  • Özel uç noktalar ek maliyetler doğurabilir. Sanal Ağ hizmet uç noktaları ücretsizdir.
  • Özel uç noktalar için ek DNS yapılandırması gerekir.
  • Tek Konuşma kaynağı hem özel uç noktalarla hem de Sanal Ağ hizmet uç noktalarıyla aynı anda çalışabilir.

Üretim tasarımınız hakkında karar vermeden önce her iki uç nokta türünü de denemenizi öneririz.

Daha fazla bilgi edinmek için şu kaynaklara bakın:

Bu makalede Konuşma hizmetiyle özel uç noktaların kullanımı açıklanmaktadır. Sanal ağ hizmet uç noktalarının kullanımı, Konuşma hizmetini sanal ağ hizmet uç noktası üzerinden kullanma başlığında açıklanmıştır.

Özel bir alan adı oluşturma

Dikkat

Özel etki alanı adı etkinleştirilmiş bir Konuşma kaynağı, Konuşma hizmetiyle etkileşim kurmanın farklı bir yolunu kullanır. Bu senaryoların her ikisi için de uygulama kodunuzu ayarlamanız gerekebilir: özel uç noktayla ve özel uç nokta olmadan.

Konuşma kaynağınız için Döküm Araçları'na özel bir alt etki alanı adı oluşturmak için bu adımları izleyin.

Dikkat

Özel bir etki alanı adını açtığınızda, işlem geri alınamaz. Bölgesel isme geri dönmenin tek yolu yeni bir Konuşma kaynağı oluşturmaktır.

Konuşma kaynağınızda Speech Studio aracılığıyla oluşturulmuş çok sayıda ilişkili özel model ve proje varsa, üretimde kullanılan kaynağı değiştirmeden önce yapılandırmayı bir test kaynağıyla denemenizi kesinlikle öneririz.

Azure portalını kullanarak özel etki alanı adı oluşturmak için şu adımları izleyin:

  1. Azure portalına gidin ve Azure hesabınızla oturum açın.

  2. Gerekli Konuşma kaynağını seçin.

  3. Sol bölmedeki Kaynak Yönetimi grubunda Ağ'ı seçin.

  4. Güvenlik duvarları ve sanal ağlar sekmesinde Özel Etki Alanı Adı Oluştur'a tıklayın. Kaynağınız için benzersiz bir özel alt etki alanı oluşturma yönergelerini içeren yeni bir sağ panel görüntülenir.

  5. Özel Etki Alanı Adı Oluştur paneline özel bir etki alanı adı girin. Özel alan adınız tam olarak şöyle görünecek: https://{your custom name}.cognitiveservices.azure.com.

    Özel bir etki alanı adı oluşturduktan sonra değiştirilemeyeceğini unutmayın.

    Özel etki alanı adınızı girdikten sonra Kaydet'i seçin.

  6. İşlem tamamlandıktan sonra Kaynak yönetimi grubunda Anahtarlar ve Uç Nokta'yı seçin. Kaynağınızın yeni uç nokta adının şu şekilde başladığını onaylayın: https://{your custom name}.cognitiveservices.azure.com.

Özel uç noktaları açma

Özel uç noktalar için gerekli güncelleştirmelerle sanal ağa bağlı özel DNS bölgesini kullanın. Sağlama işlemi sırasında özel bir DNS bölgesi oluşturabilirsiniz. Kendi DNS sunucunuzu kullanıyorsanız DNS yapılandırmanızı da değiştirmeniz gerekebilir.

Üretim Konuşma kaynağı için özel uç noktalar sağlamadan önce dns stratejisine karar verin. Özellikle kendi DNS sunucunuzu kullanıyorsanız DNS değişikliklerinizi test edin.

Özel uç nokta oluşturma

Konuşma kaynağınız için özel bir uç nokta oluşturmak için aşağıdaki adımları kullanın. Yer tutucu değerlerini gerçek değerlerinizle değiştirin:

1. Adım: Alt ağınızda özel uç nokta ağ ilkelerinin devre dışı bırakıldığından emin olun:

az network vnet subnet update \
  --name <your-subnet-name> \
  --resource-group <your-resource-group-name> \
  --vnet-name <your-vnet-name> \
  --private-endpoint-network-policies Disabled

2. Adım: Özel uç noktayı oluşturun. Döküm Araçları için hedef alt kaynak olarak account kullanın.

az network private-endpoint create \
  --name <your-private-endpoint-name> \
  --resource-group <your-resource-group-name> \
  --vnet-name <your-vnet-name> \
  --subnet <your-subnet-name> \
  --private-connection-resource-id $(az cognitiveservices account show \
    --name <your-speech-resource-name> \
    --resource-group <your-resource-group-name> \
    --query "id" -o tsv) \
  --group-id account \
  --connection-name <your-connection-name> \
  --location <your-location>
Parametre Değer
Kaynak türü Microsoft.CognitiveServices/accounts
Kaynak <your-speech-resource-name>
Hedef alt kaynak account

Doğrulama: Özel uç noktanın oluşturulduğunu onaylayın:

az network private-endpoint show \
  --name <your-private-endpoint-name> \
  --resource-group <your-resource-group-name> \
  --query "{state:provisioningState, status:privateLinkServiceConnections[0].privateLinkServiceConnectionState.status}" \
  -o json

Beklenen çıkış: provisioningState ve Succeededstatus şeklindedir Approved.

Adım 3: Özel bir DNS bölgesi oluşturun ve sanal ağınıza bağlayın:

# Create the private DNS zone
az network private-dns zone create \
  --resource-group <your-resource-group-name> \
  --name privatelink.cognitiveservices.azure.com

# Link the DNS zone to your virtual network
az network private-dns link vnet create \
  --resource-group <your-resource-group-name> \
  --zone-name privatelink.cognitiveservices.azure.com \
  --name <your-dns-link-name> \
  --virtual-network <your-vnet-name> \
  --registration-enabled false

# Create DNS zone group for automatic DNS record management
az network private-endpoint dns-zone-group create \
  --resource-group <your-resource-group-name> \
  --endpoint-name <your-private-endpoint-name> \
  --name default \
  --private-dns-zone privatelink.cognitiveservices.azure.com \
  --zone-name cognitiveservices

Doğrulama: DNS A kaydının oluşturulduğunu onaylayın:

az network private-dns record-set a list \
  --resource-group <your-resource-group-name> \
  --zone-name privatelink.cognitiveservices.azure.com \
  --query "[].{name:name, ip:aRecords[0].ipv4Address}" \
  -o table

Beklenen sonuç: Özel alan adınızın özel uç nokta IP'sine çözümlenmesi için bir kayıt (örneğin, 10.0.0.4).

Özel uç noktalar için DNS:Microsoft Foundry kaynaklarındaki özel uç noktalar için DNS'nin genel ilkelerini gözden geçirin. Ardından, aşağıdaki bölümlerde açıklanan denetimleri gerçekleştirerek DNS yapılandırmanızın düzgün çalıştığını onaylayın.

Sanal ağdan DNS'yi çözümleme

Bu denetim gereklidir.

Sanal ağınızdan özel DNS girişini test etmek için şu adımları izleyin:

  1. Özel uç noktanızı eklediğiniz sanal ağda bulunan bir sanal makinede oturum açın.

  2. Bir Windows komut istemi veya Bash kabuğu açın, komutunu çalıştırın nslookupve kaynağınızın özel etki alanı adını başarıyla çözümlediğini onaylayın.

    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. IP adresinin özel uç noktanızın IP adresiyle eşleştiğinden emin olun.

Doğrulama: Çözümlenen IP adresi (örneğin, 172.28.0.10) önceki adımda atanan özel uç nokta IP'sini eşleştirir. Name alanı, privatelink'i etki alanına dahil eder.

Diğer ağlardan DNS'i çözümleme

Bu denetimi yalnızca kaynağınızın bölümünde Tüm ağlar seçeneğini veya Seçili Ağlar ve Özel Uç Noktalar erişim seçeneğini açtıysanız gerçekleştirin.

Kaynağa yalnızca özel bir uç nokta kullanarak erişmeyi planlıyorsanız, bu bölümü atlayabilirsiniz.

  1. Kaynağa erişmesine izin verilen ağa bağlı bir bilgisayarda oturum açın.

  2. Bir Windows komut istemi veya Bash kabuğu açın, komutunu çalıştırın nslookupve kaynağınızın özel etki alanı adını başarıyla çözümlediğini onaylayın.

    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
    

Not

Çözümlenen IP adresi, konuşma kaynağının özel uç noktasına ağ trafiği dağıtan bir sanal ağ proxy uç noktasına işaret eder. Davranış, özel etki alanı adına sahip ancak özel uç noktaları olmayan bir kaynak için farklıdır. Ayrıntılar için DNS yapılandırması bölümüne bakın.

Uygulamayı, özel uç nokta ile bir Konuşma kaynağı kullanacak şekilde ayarlama

Özel etki alanına sahip Konuşma için Dökümhane kaynağı, Konuşma hizmetiyle farklı bir şekilde etkileşim kurar. Özel uç noktaları olan ve olmayan özel alan adına uyumlu konuşma kaynağı için bu durum geçerlidir. Bu bölümdeki bilgiler her iki senaryo için de geçerlidir.

Var olan uygulamaları ve çözümleri özelleştirilmiş bir etki alanı adı ve etkin bir özel uç noktaya sahip bir konuşma kaynağı kullanacak şekilde ayarlamak için bu bölümdeki yönergeleri izleyin.

Not

Foundry kaynağı, özel bir etki alanı adı kullanan ve özel uç noktaları olmayan Konuşma için, Konuşma hizmetiyle etkileşime girmenin de özel bir yoluna sahiptir. Bu yöntem, özel bir uç nokta kullanan Konuşma için bir Foundry kaynağının durumundan farklıdır. Bu, daha sonra özel uç noktaları kaldırmaya karar verebileceğini için göz önünde bulundurmanız önemlidir. Bu makalenin devamında Özel uç noktaları olmayan konuşma kaynağını kullanmak için bir uygulamayı ayarlama bölümüne bakın.

REST API'lerle kullanım

Konuşma hizmetinde Konuşmayı metne dönüştürme ve Metin okuma için REST API'leri vardır. Özel uç nokta özellikli senaryo için aşağıdaki bilgileri göz önünde bulundurun.

Metne konuşma iki REST API'sine sahiptir. Her API farklı bir amaca hizmet eder, farklı uç noktalar kullanır ve özel uç nokta özellikli senaryoda kullandığınızda farklı bir yaklaşım gerektirir.

Konuşmayı metne dönüştürme REST API'leri şunlardır:

Kısa ses için Konuşmayı metne dönüştürme REST API'sinin kullanımı ve özel uç nokta senaryosunda Metin okuma REST API'sinin kullanımı aynıdır. Bu makalenin devamında açıklanan Konuşma SDK'sı olayıyla eşdeğerdir.

Metne konuşma REST API'sinde farklı bir uç nokta kümesi kullanıldığından, özel uç nokta özellikli senaryo için farklı bir yaklaşım gerektirir.

Konuşmayı metne dönüştürme REST API'si

Konuşma kaynakları genellikle Konuşmayı metne dönüştürme REST API'siyle iletişim kurmak için Foundry Araçları bölgesel uç noktalarını kullanır. Bu kaynaklar aşağıdaki adlandırma biçimine sahiptir:

{region}.api.cognitive.microsoft.com

Bu örnek bir istek URL'sidir:

https://westeurope.api.cognitive.microsoft.com/speechtotext/v3.1/transcriptions

Not

21Vianet uç noktaları tarafından sağlanan Azure Kamu ve Microsoft Azure için bu makaleye bakın.

Konuşma için bir Foundry kaynağı için özel bir alan adını etkinleştirdikten sonra (özel uç noktalar için gereklidir.), bu kaynak temel REST API uç noktası için aşağıdaki DNS adı desenini kullanır:

{your-custom-name}.cognitiveservices.azure.com

Önceki örnekte REST API uç noktası adı şu şekildedir:

my-private-link-speech.cognitiveservices.azure.com

Örnek istek URL'si şu şekilde dönüştürülür:

https://my-private-link-speech.cognitiveservices.azure.com/speechtotext/v3.1/transcriptions

Bu URL'ye özel uç nokta ekli sanal ağdan erişilebilir olmalıdır (doğru DNS çözümlemesi sağlanmıştır).

Konuşma için bir Dökümhane kaynağında özel bir etki alanı adı etkinleştirdikten sonra, genellikle tüm istek URL'lerindeki host adını yeni özel etki alanı host adıyla değiştirirsiniz. İsteğin diğer tüm bölümleri (önceki örnekteki yol /speechtotext/v3.1/transcriptions gibi) aynı kalır.

Doğrulama: Aşağıdakini çalıştırarak uç noktayı test edin:

curl -s -H "Ocp-Apim-Subscription-Key: <your-speech-key>" \
  "https://<your-custom-name>.cognitiveservices.azure.com/speechtotext/v3.1/transcriptions" | head -c 200

Beklenen çıkış: Dizi içeren bir values JSON yanıtı (yeni bir kaynak için boş olabilir).

İpucu

Bazı müşteriler, bölgesel uç noktanın DNS adının bölge bölümünü kullanan uygulamalar geliştirir (örneğin, isteği belirli bir Azure bölgesine dağıtılan Konuşma kaynağına göndermek için). Konuşma kaynağı için özel etki alanı, kaynağın dağıtıldığı bölge hakkında bilgi içermez . Bu nedenle daha önce açıklanan uygulama mantığı çalışmaz ve değiştirilmesi gerekir.

Kısa ses için konuşmayı metne dönüştürme REST API'si ve Metin okuma REST API'si

Kısa ses için Konuşmayı metne dönüştürme REST API'si ve Metin okuma REST API'sinde iki tür uç nokta kullanılır:

Not

Azure Government ve 21Vianet tarafından işletilen Azure uç noktaları için bu makaleye bakın.

Özel uç noktaların ayrıntılı açıklaması ve özel uç nokta özellikli konuşma kaynağı için URL'lerinin nasıl dönüştürülmesi gerektiği Konuşma SDK'sı ile kullanımla ilgili uç nokta URL'si oluşturma alt bölümünde sağlanır. SDK için açıklanan ilke kısa ses için Konuşmayı metne dönüştürme REST API'sinde ve Metin okuma REST API'sinde de geçerlidir. Önceki paragrafta belirtilen alt bölümdeki malzemeyi tanıyın ve aşağıdaki örne bakın. Örnek, Metin okuma REST API'sini açıklar. Kısa ses için Konuşmayı metne dönüştürme REST API'sinin kullanımı tamamen eşdeğerdir.

Metin okuma REST API kullanımı örneği

Bu örnekte Batı Avrupa, Azure bölgesidir ve my-private-link-speech.cognitiveservices.azure.com Konuşma kaynağı DNS adıdır (özel etki alanı). Özel etki alanı my-private-link-speech.cognitiveservices.azure.com , Batı Avrupa bölgesinde oluşturulan Konuşma kaynağına aittir.

Bölgede desteklenen seslerin listesini almak için şunu çalıştırın:

https://westeurope.tts.speech.microsoft.com/cognitiveservices/voices/list

Özel uç nokta özellikli Konuşma kaynağı için aynı işlemin uç nokta URL'si değişir. Aynı istek şöyle görünür:

https://my-private-link-speech.cognitiveservices.azure.com/tts/cognitiveservices/voices/list

Doğrulama: TTS ses uç noktasını test edin:

curl -s -H "Ocp-Apim-Subscription-Key: <your-speech-key>" \
  "https://<your-custom-name>.cognitiveservices.azure.com/tts/cognitiveservices/voices/list" | head -c 200

Beklenen çıkış: Ses nesnelerinin JSON dizisi. Boş olmayan bir yanıt, uç noktanın çalıştığını onaylar.

Konuşma SDK'sı için Uç nokta URL'si oluşturma alt bölümünde ayrıntılı bir açıklamaya bakın.

Not

Kısa ses için Konuşmayı metne dönüştürme REST API'sini ve özel uç nokta senaryolarında Metin okuma REST API'sini kullandığınızda, Ocp-Apim-Subscription-Key başlık aracılığıyla geçirilen bir kaynak anahtarı kullanın. (Ayrıntılara bakınKısa ses için konuşmayı metne dönüştürme REST API'si ve Metin okuma REST API'si)

Yetkilendirme belirtecini kullanarak ve özel uç noktaya Authorization üst bilgi aracılığıyla geçirerek yalnızca Konuşma kaynağınızın bölümünde Tüm ağlar erişim seçeneğini açtığınızda çalışır. Diğer durumlarda, yetkilendirme belirtecini almaya çalışırken ya Forbidden ya da BadRequest hatası alırsınız.

Konuşma SDK'sı ile kullanım

Konuşma SDK'sını özel etki alanı adı ve özel uç nokta özellikli Konuşma kaynaklarıyla kullanmak için uygulama kodunuzu gözden geçirmeniz ve büyük olasılıkla değiştirmeniz gerekir.

Bu bölümde my-private-link-speech.cognitiveservices.azure.com örnek bir Konuşma kaynağı DNS adı (özel etki alanı) olarak kullanılır.

Uç nokta URL'si oluşturma

Genellikle SDK senaryolarında (ve kısa ses için Konuşmayı metne dönüştürme REST API'sinde ve Metin okuma REST API senaryolarında), Konuşma kaynakları farklı hizmet teklifleri için ayrılmış bölgesel uç noktaları kullanır. Bu uç noktaların DNS adı biçimi:

{region}.{speech-service-offering}.speech.microsoft.com

Örnek dns adı:

westeurope.stt.speech.microsoft.com

Bölge için tüm olası değerler (DNS adının ilk öğesi) Konuşma hizmeti tarafından desteklenen bölgelerde listelenir. (21Vianet tarafından işletilen Azure Kamu ve Azure uç noktaları için bu makaleye bakın.) Konuşma hizmetinin sunumu için olası değerler aşağıdaki tabloda sunulmaktadır (DNS adının ikinci öğesi).

DNS adı değeri Konuşma hizmeti teklifi
s2s Konuşma Çevirisi
stt Konuşmayı metne dönüştürme
tts Yazıdan konuşmaya
voice Özel ses

Bu nedenle, önceki örnek (westeurope.stt.speech.microsoft.com) Batı Avrupa'da bir Konuşmayı metne dönüştürme uç noktasını ifade etmiştir.

Özel uç noktalar, konuşma hizmetiyle özel bir ara sunucu aracılığıyla iletişim kurar. Bu nedenle uç nokta bağlantı URL'lerini değiştirmeniz gerekir.

"Standart" uç nokta URL'si şöyle görünür:

{region}.{speech-service-offering}.speech.microsoft.com/{URL-path}

Özel uç nokta URL'si şöyle görünür:

{your-custom-name}.cognitiveservices.azure.com/{URL-path}

Konuşma SDK'sı, kullanılan hizmete bağlı olarak öğesini /{URL-path} otomatik olarak yapılandırıyor. Yalnızca temel URL'yi yapılandırmanız gerekir.

Uygulamaları değiştirme

Kodunuzu değiştirmek için şu adımları izleyin:

  1. Uygulama uç noktası URL'sini belirleyin. Azure portalına gidin, Konuşma kaynağınızı açın ve Kaynak Yönetimi grubunda Anahtarlar ve Uç Nokta'yı seçin. Alternatif olarak, CLI'yı kullanın:

    az cognitiveservices account show \
      --name <your-speech-resource-name> \
      --resource-group <your-resource-group-name> \
      --query "properties.endpoint" -o tsv
    

    Uç nokta şöyle görünür: https://my-private-link-speech.cognitiveservices.azure.com/

  2. Uç nokta URL'sini SpeechConfig kullanarak örnek oluşturun. Mevcut kodunuz büyük olasılıkla aşağıdaki gibi bir şey kullanır:

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

    Bu, konak adı ve URL değişiklikleri nedeniyle özel uç nokta özellikli konuşma kaynağı için çalışmaz. Özel uç nokta özellikli bir kaynağın anahtarını kullanarak mevcut uygulamanızı herhangi bir değişiklik yapmadan çalıştırmayı denerseniz, kimlik doğrulama hatası (401) alırsınız.

    Bunu düzeltmek için, uç nokta tabanlı başlatmayı kullanmak için sınıfın SpeechConfig örneğini oluşturma şeklinizi değiştirin. Şu iki değişkeni tanımlayın:

    • speechKey özel uç nokta özellikli Konuşma kaynağının anahtarını içerir.

    • endPoint tam değiştirilmiş uç nokta URL'sini içerir:

      wss://my-private-link-speech.cognitiveservices.azure.com
      

    Ardından bir SpeechConfig örnek oluşturun:

    C#:

    var config = SpeechConfig.FromEndpoint(endPoint, speechKey);
    

    C++:

    auto config = SpeechConfig::FromEndpoint(endPoint, speechKey);
    

    Java:

    SpeechConfig config = SpeechConfig.fromEndpoint(endPoint, speechKey);
    

    Python:

    import azure.cognitiveservices.speech as speechsdk
    config = speechsdk.SpeechConfig(endpoint=endPoint, subscription=speechKey)
    

    Objective-C:

    SPXSpeechConfiguration *config = [[SPXSpeechConfiguration alloc] initWithEndpoint:endPoint subscription:speechKey];
    

    JavaScript:

    import * as sdk from "microsoft-cognitiveservices-speech-sdk";
    const config = sdk.SpeechConfig.fromEndpoint(new URL(endPoint), speechKey);
    

Bu değişiklik sonrasında uygulamanız özel uç nokta özellikli Konuşma kaynaklarıyla çalışmalıdır.

Özel uç noktaları olmayan kullanım

Özel uç noktalar olmadan özel etki alanı etkin Konuşma kaynaklarıyla Konuşma SDK'sını kullanmak, bu belgede özel uç noktalarla açıklanan yapılandırmayla eşdeğerdir.

Speech Studio kullanma

Speech Studio , uygulamanızda Döküm Araçları hizmetinde Azure Konuşma'nın derlenmesine ve tümleştirilmesine yönelik araçlar içeren bir web portalıdır. Speech Studio projelerinde çalışırken, ağ bağlantıları ve ilgili Konuşma kaynağına API çağrıları sizin yerinize yapılır. Özel uç noktalar, sanal ağ hizmet uç noktaları ve diğer ağ güvenlik seçenekleriyle çalışmak Speech Studio özelliklerinin kullanılabilirliğini sınırlayabilir. Özel konuşma, özelses ve ses içeriği oluşturma gibi özelliklerle çalışırken normalde Speech Studio kullanırsınız.

Sanal ağdan Speech Studio'ya erişme

Speech Studio'yu Azure sanal ağı içindeki bir sanal makineden kullanmak için, bu sanal ağ için gerekli hizmet etiketleri kümesine giden bağlantılara izin verin. Desteklenen bölgeler ve hizmet teklifleriyle ilgili ayrıntılara bakın.

Konuşma kaynak uç noktasına erişim, Speech Studio web portalına erişime eşit değildir . Özel veya sanal ağ hizmet uç noktaları üzerinden Speech Studio'ya erişim desteklenmez.

Speech Studio projeleriyle çalışma

Bu bölümde, Konuşma kaynağının farklı ağ güvenlik seçenekleri için farklı türlerdeki Speech Studio projeleriyle çalışma açıklanmaktadır. Speech Studio'ya web tarayıcısı bağlantısının kurulması beklenir. Azure portalında veya CLI kullanarak Konuşma kaynağı ağ güvenliğini ayarlayın:

Azure CLI

# View current network settings
az cognitiveservices account show \
  --name <your-speech-resource-name> \
  --resource-group <your-resource-group-name> \
  --query "{publicAccess:properties.publicNetworkAccess, networkRules:properties.networkAcls}" \
  -o json

# Change public network access (options: Enabled, Disabled)
az cognitiveservices account update \
  --name <your-speech-resource-name> \
  --resource-group <your-resource-group-name> \
  --public-network-access Enabled

Azure portalı

  1. Azure portalına gidin ve Azure hesabınızla oturum açın.
  2. Konuşma kaynağını seçin.
  3. Sol bölmedeki Kaynak Yönetimi grubunda Ağ> seçin.
  4. Tüm Ağlar, Seçili Ağlar ve Özel Uç Noktalar veya Devre Dışı seçeneklerinden birini belirleyin.

Özel konuşma, özel ses ve ses içeriği oluşturma

Aşağıdaki tabloda, Konuşma kaynağı >Güvenlik Duvarları ve Sanal Ağlar güvenlik ayarına göre özel konuşma/özel ses/ses içeriği oluşturma projelerinin erişilebilirliği açıklanmaktadır.

Not

> ve Özel uç nokta bağlantıları sekmesinden yalnızca özel uç noktalara izin verirseniz, Konuşma kaynağı ile Speech Studio'yu kullanamazsınız. Konuşma kaynağını Speech Studio'nun dışında da kullanabilirsiniz.

Konuşma kaynağı ağ güvenliği ayarı Speech Studio projesi erişilebilirliği
Tüm ağlar Kısıtlama yok
Seçili Ağlar ve Özel Uç Noktalar İzin verilen genel IP adreslerinden erişilebilir
Devre dışı Erişilebilir değil

Seçili Ağlar ve Özel Uç Noktalar'ı seçerseniz Sanal ağlar ve Güvenlik duvarı erişim yapılandırma seçeneklerini içeren bir sekme görürsünüz. Güvenlik Duvarı bölümünde en az bir genel IP adresine izin vermeli ve Speech Studio ile tarayıcı bağlantısı için bu adresi kullanmalısınız.

Üretim Konuşma kaynağınızda ağ erişim kısıtlamalarını gevşetmeden özel konuşma kullanmak için şu geçici çözümlerden birini göz önünde bulundurun:

Üretim Konuşma kaynağınızda ağ erişim kısıtlamalarını gevşetmeden özel ses kullanmak için şu geçici çözümlerden birini göz önünde bulundurun:

  • Geliştirme için genel ağda kullanılabilecek başka bir Konuşma kaynağı oluşturun. Geliştirme kaynağında Speech Studio'da özel modelinizi hazırlayın, ardından modeli üretim kaynağınıza kopyalama konusunda yardım istemek için bir Azure destek bileti gönderin.
  • Üretim kaynağınızla tüm özel ses işlemleri için doğrudan Özel ses REST API'sini kullanın.

Uygulamayı özel uç noktaları olmayan konuşma kaynağı kullanacak şekilde ayarlama

Bu makalede, birçok durumda, Konuşma Hizmeti için Bir Dökümhane kaynağı için özel etki alanını etkinleştirmenin geri alınamayacağı belirtilmiştir. Böyle bir kaynak, bölgesel uç nokta adlarını kullananlarla karşılaştırıldığında Konuşma hizmetiyle iletişim kurmanın farklı bir yolunu kullanır.

Bu bölümde, özel uç noktalar olmadan, özel etki alanı adıyla Konuşma hizmeti REST API'leri ve Konuşma SDK'sı ile bir Dökümhane kaynağının nasıl kullanılacağı açıklanmaktadır. Bu, bir zamanlar özel uç nokta senaryosunda kullanılan ancak ardından özel uç noktalarının silinmesini sağlayan bir kaynak olabilir.

DNS yapılandırması

Özel uç nokta özellikli Konuşma kaynağının özel etki alanı DNS adının genel ağlardan nasıl çözümlendiğini unutmayın. Bu durumda, çözümlenen IP adresi bir sanal ağ için ara sunucu uç noktasını gösterir. Bu uç nokta, ağ trafiğini özel uç nokta özellikli Microsoft Foundry kaynağına göndermek için kullanılır.

Ancak, tüm kaynak özel uç noktaları kaldırıldığında (veya özel etki alanı adı etkinleştirildikten hemen sonra), Konuşma kaynağının CNAME kaydı yeniden oluşturulur. Artık ilgili Döküm Araçları bölgesel uç noktasının IP adresine işaret eder.

Bu nedenle komutun nslookup çıkışı şöyle görünü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

Bunu, Diğer ağlardan DNS'yi çözümleme bölümündeki çıktıyla karşılaştırın.

REST API'leri ile kullanım (özel uç noktalar olmadan)

Konuşmayı metne dönüştürme REST API'si

Konuşmayı metne dönüştürme REST API kullanımı, özel uç nokta özellikli Konuşma kaynaklarına tamamen eşdeğerdir.

Kısa ses için konuşmayı metne dönüştürme REST API'si ve Metin okuma REST API'si

Bu durumda, kısa ses için Konuşmayı metne dönüştürme REST API'sinin kullanımı ve Metin okuma REST API'sinin kullanımı, genel durumdan farklı değildir ve tek bir özel durum vardır. (Aşağıdaki nota bakın.) Kısa ses için Konuşmayı metne dönüştürme REST API'sinde açıklandığı gibi hem de Metin okuma REST API'sinin belgelerinde açıklandığı gibi api'leri kullanın.

Not

Kısa ses için Konuşmayı metne dönüştürme REST API'sini ve özel etki alanı senaryolarında Metin okuma REST API'sini Ocp-Apim-Subscription-Key kullandığınızda, üst bilgiden geçirilen bir API anahtarı kullanın. (Ayrıntılara bakınKısa ses için konuşmayı metne dönüştürme REST API'si ve Metin okuma REST API'si)

Yetkilendirme belirtecini kullanarak ve özel uç noktaya Authorization üst bilgi aracılığıyla geçirerek yalnızca Konuşma kaynağınızın bölümünde Tüm ağlar erişim seçeneğini açtığınızda çalışır. Diğer durumlarda, yetkilendirme belirtecini almaya çalışırken ya Forbidden ya da BadRequest hatası alırsınız.

Özel uç noktaların ve Sanal Ağ hizmet uç noktalarının eşzamanlı kullanımı

Aynı Konuşma kaynağına aynı anda erişmek için özel uç noktaları ve Sanal Ağ hizmet uç noktalarını kullanabilirsiniz. Bu eşzamanlı kullanımı etkinleştirmek için Azure portalındaki Konuşma kaynağının ağ ayarlarında Seçili Ağlar ve Özel Uç Noktalar seçeneğini kullanmanız gerekir. Bu senaryo için diğer seçenekler desteklenmez.

Doğrulama: CLI aracılığıyla ağ ayarını onaylayın:

az cognitiveservices account show \
  --name <your-speech-resource-name> \
  --resource-group <your-resource-group-name> \
  --query "properties.publicNetworkAccess" -o tsv

Bu senaryo için diğer seçenekler desteklenmez.

Cleanup

Bu yapılandırma sırasında oluşturulan kaynakları kaldırmak için bunları ters sırada silin:

# Delete private endpoint
az network private-endpoint delete \
  --name <your-private-endpoint-name> \
  --resource-group <your-resource-group-name>

# Delete DNS zone group, link, and zone
az network private-dns link vnet delete \
  --resource-group <your-resource-group-name> \
  --zone-name privatelink.cognitiveservices.azure.com \
  --name <your-dns-link-name> --yes

az network private-dns zone delete \
  --resource-group <your-resource-group-name> \
  --name privatelink.cognitiveservices.azure.com --yes

Not

Özel uç noktaların silinmesi, özel etki alanı adını kaldırmaz. Özel etki alanı etkin kalır ve Konuşma kaynağı farklı bir DNS çözümleme yöntemi kullanır. DNS yapılandırması bölümüne bakın.

Sorun giderme

Özel etki alanı etkinleştirildikten sonra kimlik doğrulama hatası (401)

Özel bir etki alanını etkinleştirdikten sonra 401 hatası alırsanız, uygulamanız büyük olasılıkla bölge tabanlı SpeechConfig.FromSubscription() başlatmayı kullanmaya devam ediyordur. SpeechConfig.FromEndpoint() bölümünde açıklandığı gibi kullanarak uç nokta tabanlı başlatmaya geçin.

DNS çözümlemesi özel IP yerine genel IP döndürür

Özel uç nokta IP'niz yerine genel bir IP döndürürse nslookup :

  1. Özel DNS bölgesinin mevcut olduğunu doğrulayın: az network private-dns zone show --resource-group <rg> --name privatelink.cognitiveservices.azure.com
  2. Sanal ağ bağlantısının mevcut olduğunu doğrulayın: az network private-dns link vnet list --resource-group <rg> --zone-name privatelink.cognitiveservices.azure.com -o table
  3. A kaydının var olduğunu doğrulayın: az network private-dns record-set a list --resource-group <rg> --zone-name privatelink.cognitiveservices.azure.com -o table
  4. Özel bir DNS sunucusu kullanıyorsanız, bunun Azure özel DNS bölgesine ilettiğinden emin olun.

Yetkilendirme belirteçleri kullanılırken Yasak veya Kötü İstek hatası oluşabilir.

Özel uç nokta senaryosunda Authorization üst bilgisi, taşıyıcı belirteçle kullanıldığında Konuşma hizmeti Forbidden veya BadRequest döndürebilir. ayarı Tüm ağlar olarak ayarlanmadığında bu durum meydana gelir. Kaynak anahtarınızla Ocp-Apim-Subscription-Key başlığını kullanın.

Speech Studio erişilebilir değil

Speech Studio ağ kısıtlamalı Konuşma kaynağınızla çalışmıyorsa genel IP adresinizin Güvenlik duvarı izin verme listesinde olup olmadığını denetleyin. Yalnızca sanal ağ erişimine izin verirseniz Speech Studio çalışmaz; bunun yerine REST API'yi kullanın.

Fiyatlandırma

Fiyatlandırma ayrıntıları için bkz. Azure Özel Bağlantı fiyatlandırma.

Daha fazla bilgi edinin