透過私人端點使用語音服務

Azure Private Link 可讓您使用 私人端點連線到 Azure 中的服務。 私人端點是只能在特定 虛擬網路 和子網記憶體取的私人IP位址。

本文說明如何搭配語音服務使用以設定和使用 Private Link 與私人端點。 本文接著說明如何稍後移除私人端點,但仍使用語音資源。

注意

繼續進行之前,請先檢閱如何搭配使用虛擬網路與 Azure AI 服務

設定私人端點案例的語音資源需要執行下列工作:

  1. 建立自定義功能變數名稱
  2. 開啟私人端點
  3. 調整現有的應用程式和解決方案

私人端點與虛擬網路服務端點

Azure 會針對通過私人 Azure 骨幹網路的流量,提供私人端點和虛擬網路服務端點。 這些端點類型的用途和基礎技術很類似。 但是這兩種技術之間有些許差異。 建議在設計網路之前,先了解兩者的優缺點。

當決定要使用哪一種技術時,需要考慮幾件事:

  • 這兩種技術都可確保虛擬網路和語音資源之間的流量,不會透過公用網際網路傳送。
  • 私人端點會為您的語音資源提供專用的私人 IP 位址。 此 IP 位址只能在特定虛擬網路和子網路範圍內存取。 您可以完全控制網路基礎結構內對此 IP 位址的存取權。
  • 虛擬網路服務端點不會為語音資源提供專用私人 IP 位址, 而是封裝傳送至語音資源的所有封包,並透過 Azure 骨幹網路直接傳遞這些封包。
  • 這兩種技術都支援內部部署案例。 根據預設,當其使用虛擬網路服務端點時,不能從內部部署網路連線至虛擬網路所保護的 Azure 服務資源。 但您可以變更該行為
  • 虛擬網路服務端點通常用來根據流量來源的虛擬網路,限制語音資源的存取。
  • 對於 Azure AI 服務,啟用虛擬網路服務端點會強制所有 Azure AI 服務資源的流量通過私人骨幹網路。 這需要明確的網路存取設定 (如需詳細資訊,請參閱設定虛擬網路和語音資源網路設定)。私人端點沒有這項限制,因此可為您的網路設定提供更大的彈性。 您可以透過私人骨幹存取一項資源,也可以使用同個虛擬網路的相同子網路,透過公用網際網路存取另一項資源。
  • 私人端點會產生額外的成本。 虛擬網路服務端點為免費使用。
  • 私人端點需要額外的 DNS 設定
  • 一個語音資源可以同時搭配私人端點和虛擬網路服務端點一起運作。

建議在決定生產設計之前,先嘗試這兩種端點類型。

如需詳細資訊,請參閱下列資源:

本文說明使用語音服務的私人端點。 此處說明 VNet 服務端點的使用方式。

建立自訂網域名稱

警告

已啟用自定義功能變數名稱的語音資源會使用不同的方式來與語音服務互動。 您可能必須針對這兩個案例調整應用程式程序代碼: 使用私人端點 ,而 不需要 私人端點

請遵循下列步驟,為您的語音資源建立 Azure AI 服務的自訂子網域名稱

警告

當您開啟自定義功能變數名稱時,作業無法 復原。 回到 區域名稱 的唯一方法是建立新的語音資源。

如果您的語音資源有許多透過Speech Studio建立的相關聯自定義模型和專案,強烈建議您先嘗試使用測試資源進行設定,再修改生產環境中使用的資源。

若要使用 Azure 入口網站 建立自定義功能變數名稱,請遵循下列步驟:

  1. 前往 Azure 入口網站並登入 Azure 帳戶。

  2. 選取所需的語音資源。

  3. 在左窗格的 [ 資源管理 ] 群組中,選取 [ 網络]。

  4. 在 [ 防火牆和虛擬網络] 索引標籤 上,選取 [ 產生自定義功能變數名稱]。 新的右面板隨即出現,其中包含為資源建立唯一自定義子域的指示。

  5. 在 [ 產生自定義功能變數名稱] 面板中,輸入自訂功能變數名稱。 您的完整自定義網域看起來會像: https://{your custom name}.cognitiveservices.azure.com

    請記住,在您建立自定義功能變數名稱之後,就無法變更它。

    輸入自訂功能變數名稱之後,請選取 [ 儲存]。

  6. 作業完成後,在 [資源管理] 群組中,選取 [金鑰] 和 [端點]。 確認資源的新端點名稱會以下列方式啟動: https://{your custom name}.cognitiveservices.azure.com

開啟私人端點

我們建議使用 連結至虛擬網路的私人 DNS 區域 搭配私人端點的必要更新。 您可以在布建程式期間建立私人 DNS 區域。 如果您使用自己的 DNS 伺服器,您可能也需要變更 DNS 組態。

在您為生產語音資源布建私人端點之前,請先決定 DNS 策略。 測試 DNS 變更,特別是如果您使用自己的 DNS 伺服器。

使用下列其中一篇文章來建立私人端點。 這些文章會使用 Web 應用程式作為範例資源,以透過私人端點提供。

使用這些參數,而不是您選擇的文章中的參數:

設定
資源類型 Microsoft.CognitiveServices/accounts
資源 <your-speech-resource-name>
目標子資源 account

私人端點的 DNS:請檢閱〈Azure AI 服務資源中的私人端點 DNS〉的一般準則。 然後,執行下列各節中所述的檢查,確認您的 DNS 組態正常運作。

從虛擬網路解析 DNS

這項檢查是必要的

請遵循下列步驟來測試虛擬網路中的自訂 DNS 專案:

  1. 登入位於您連結私人端點之虛擬網路中的虛擬機。

  2. 開啟 Windows 命令提示字元或 Bash 殼層,執行 nslookup,並確認它已成功解析資源的自定義功能變數名稱。

    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位址符合私人端點的IP位址。

從其他網路解析 DNS

只有在您已在資源的 [網络] 區段中開啟 [所有網络] 選項或 [選取的網络和私人端點存取] 選項時,才執行這項檢查。

如果您打算只使用私人端點來存取資源,您可以略過本節。

  1. 登入連結至允許存取資源之網路的計算機。

  2. 開啟 Windows 命令提示字元或 Bash 殼層,執行 nslookup,並確認它已成功解析資源的自定義功能變數名稱。

    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
    

注意

已解析的 IP 位址指向虛擬網路 Proxy 端點,其會將網路流量分派至語音資源的私人端點。 對於具有自定義功能變數名稱但 不含 私人端點的資源而言,行為會有所不同。 如需詳細資訊,請參閱 本節

調整應用程式以搭配私人端點使用語音資源

具有自訂網域的語音資源會以不同的方式與語音服務互動。 這適用於具有和不含私人端點的自定義網域啟用語音資源。 本節中的資訊適用於下列兩個案例。

請遵循本節中的指示,調整現有的應用程式和解決方案,以使用具有自定義功能變數名稱和私人端點的語音資源。

已開啟自訂網域名稱和私人端點的語音資源,會使用不同的方式來與語音服務互動。 本節說明如何將此類資源與語音服務 REST API 和語音 SDK 搭配使用。

注意

語音資源若無使用自訂網域的私人端點,亦會使用特殊方式來與語音服務互動。 這種方式與使用私人端點的語音資源案例不同。 請務必考慮,因為您稍後可能會決定移除私人端點。 請參閱 本文稍後的調整應用程式以使用不含私人端點的 語音資源。

具有自定義功能變數名稱和私人端點的語音資源:REST API 的使用方式

我們會使用 my-private-link-speech.cognitiveservices.azure.com 作為本節的範例語音資源 DNS 名稱(自定義網域)。

語音服務具有適用於語音轉換文字文字轉換語音的 REST API。 針對已啟用私人端點的案例,請考慮下列資訊。

語音轉換文字有兩個 REST API。 每個 API 都有不同的用途、使用不同的端點,而且當您在已啟用私人端點的案例中使用時,需要不同的方法。

語音轉換文字 REST API 為:

適用於簡短音訊的語音轉換文字 REST API 以及文字轉換語音 REST API,其使用方式在私人端點案例中皆相同。 這相當於 本文稍後所述的語音 SDK 案例

語音轉換文字 REST API 會使用一組不同的端點,因此需要針對啟用私人端點的案例使用不同方法。

下一個子區段描述這兩個案例。

語音轉換文字 REST API

語音資源通常會使用 Azure AI 服務區域端點來與語音轉換文字 REST API 通訊。 這些資源具有下列命名格式:

{region}.api.cognitive.microsoft.com

這是範例要求 URL:

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

注意

請參閱本文,以了解 Azure Government 以及由 21Vianet 端點營運的 Microsoft Azure 相關資訊。

開啟語音資源的自訂網域之後,該資源會針對基本 REST API 端點使用下列 DNS 名稱模式:

{your custom name}.cognitiveservices.azure.com

這表示在我們的範例中,REST API 端點名稱為:

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

而且範例要求 URL 必須轉換成:

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

此 URL 應可從連結私人端點的虛擬網路連線(提供 正確的 DNS 解析)。

開啟語音資源的自定義功能變數名稱之後,您通常會將所有要求URL中的主機名取代為新的自訂功能變數名稱。 要求的其他所有部分(如先前範例中的路徑 /speechtotext/v3.1/transcriptions )保持不變。

提示

有些客戶會開發應用程式,以使用區域端點 DNS 名稱的區域部分(例如,將要求傳送至部署在特定 Azure 區域中的語音資源)。

語音資源的自定義網域不包含資源部署所在區域的相關信息。 因此,稍早所述的應用程式邏輯將無法運作,而且需要改變。

簡短音訊的語音轉換文字 REST API和文字轉換語音 REST API

適用於簡短音訊的語音轉換文字 REST API 以及文字轉換語音 REST API,會使用兩種類型的端點:

  • Azure AI 服務區域端點用於與 Azure AI 服務 REST API 進行通訊,以取得授權權杖。
  • 所有其他作業的特殊端點

注意

請參閱本文,以了解 Azure Government 以及由 21Vianet 端點營運的 Azure 相關資訊。

有關語音 SDK 使用方式的這個小節中會提供特殊端點的詳細描述,以及如何針對已啟用私人端點的語音資源轉換其 URL。 此 SDK 所述的準則同樣適用於簡短音訊的語音轉換文字 REST API 及文字轉換語音 REST API。

熟悉上一段所提及的子區段中的內容,並參閱下列範例。 此範例描述文字轉換語音 REST API。 對於簡短音訊的語音轉換文字 REST API,使用方式與此範例完全相同。

注意

當您在私人端點案例中使用簡短音訊的語音轉換文字 REST API 以及文字轉換語音 REST API 時,請使用透過 Ocp-Apim-Subscription-Key 標頭傳遞的資源金鑰。 (參閱適用於簡短音訊語音轉換文字 REST API文字轉換語音 REST API 的詳細資訊)

只有在您已開啟語音資源 [網络] 區段中的 [所有網络存取] 選項時,才能使用授權令牌並透過 Authorization 標頭將它傳遞至特殊端點。 在其他情況下,當您嘗試取得授權令牌時, Forbidden 會收到 或 BadRequest 錯誤。

文字轉換語音 REST API 使用範例

我們使用西歐作為範例 Azure 區域,並 my-private-link-speech.cognitiveservices.azure.com 作為範例語音資源 DNS 名稱(自定義網域)。 我們範例中的自定義功能變數名稱 my-private-link-speech.cognitiveservices.azure.com 屬於在西歐區域建立的語音資源。

若要取得區域中支援的語音清單,請執行下列要求:

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

請參閱文字轉換語音 REST API 文件中的其他詳細資訊。

針對已啟用私人端點的語音資源,必須修改相同作業的端點 URL。 相同的要求如下所示:

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

請參閱語音 SDK 的 建構端點 URL 子區段中的詳細說明。

具有自定義功能變數名稱和私人端點的語音資源:使用語音 SDK

使用語音 SDK 搭配自訂功能變數名稱和啟用私人端點的語音資源,需要您檢閱並可能變更應用程式程式代碼。

我們會使用 my-private-link-speech.cognitiveservices.azure.com 作為本節的範例語音資源 DNS 名稱(自定義網域)。

建構端點 URL

通常,在 SDK 案例中(以及語音轉換文字 REST API 中,適用於簡短音訊和文字到語音轉換 REST API 案例),語音資源會針對不同的服務供應專案使用專用的區域端點。 這些端點的 DNS 名稱格式為:

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

範例 DNS 名稱為:

westeurope.stt.speech.microsoft.com

區域的所有可能值(DNS 名稱的第一個專案)都會列在 語音服務支援的區域中。 (關於 Azure Government 以及由 21Vianet 端點營運的 Azure,請參閱本文。) 下表顯示語音服務供應項目的可能值 (DNS 名稱的第二個元素):

DNS 名稱值 語音服務供應專案
commands 自訂命令
convai 會議文字記錄
s2s 語音翻譯
stt 語音轉換文字
tts 文字轉換語音
voice 自訂語音

因此,先前的範例 (westeurope.stt.speech.microsoft.com) 代表西歐的語音轉換文字端點。

啟用私人端點的端點會透過特殊 Proxy 與語音服務通訊。 因此, 您必須變更端點連線 URL

「標準」端點 URL 看起來像:

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

私人端點 URL 看起來像:

{your custom name}.cognitiveservices.azure.com/{speech service offering}/{URL path}

範例 1. 應用程式會使用下列 URL 進行通訊(使用西歐美國英文的基本模型進行語音辨識):

wss://westeurope.stt.speech.microsoft.com/speech/recognition/conversation/cognitiveservices/v1?language=en-US

若要在啟用私人端點的案例中使用,當語音資源的自定義域名為 my-private-link-speech.cognitiveservices.azure.com時,您必須修改如下的 URL:

wss://my-private-link-speech.cognitiveservices.azure.com/stt/speech/recognition/conversation/cognitiveservices/v1?language=en-US

請注意詳細資料:

  • 主機名稱 westeurope.stt.speech.microsoft.com 會取代為自訂功能變數名稱 my-private-link-speech.cognitiveservices.azure.com
  • 原始 DNS 名稱 (stt) 的第二個項目會成為 URL 路徑的第一個專案,並在原始路徑之前。 因此,原始 URL /speech/recognition/conversation/cognitiveservices/v1?language=en-US/stt/speech/recognition/conversation/cognitiveservices/v1?language=en-US變成 。

範例 2. 應用程式會使用下列 URL 在西歐合成語音:

wss://westeurope.tts.speech.microsoft.com/cognitiveservices/websocket/v1

下列對等 URL 會使用私人端點,其中語音資源的自訂域名為 my-private-link-speech.cognitiveservices.azure.com

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

會套用範例 1 中的相同原則,但這次的關鍵元素是 tts

修改應用程式

請遵循下列步驟來修改您的程式代碼:

  1. 判斷應用程式端點 URL:

    • 開啟應用程式的 記錄,並執行它來記錄活動。
    • 在記錄檔中,搜尋 SPEECH-ConnectionUrl。 在相符的行中,value 參數包含應用程式用來存取語音服務的完整 URL。

    範例:

    (114917): 41ms SPX_DBG_TRACE_VERBOSE:  property_bag_impl.cpp:138 ISpxPropertyBagImpl::LogPropertyAndValue: this=0x0000028FE4809D78; name='SPEECH-ConnectionUrl'; value='wss://westeurope.stt.speech.microsoft.com/speech/recognition/conversation/cognitiveservices/v1?traffictype=spx&language=en-US'
    

    因此,此範例中使用的應用程式URL為:

    wss://westeurope.stt.speech.microsoft.com/speech/recognition/conversation/cognitiveservices/v1?language=en-US
    
  2. SpeechConfig使用完整的端點 URL 建立實例:

    1. 修改您決定的端點,如先前 建構端點 URL 一節所述。

    2. 修改 如何建立的 SpeechConfig實例。 最有可能的是,您的應用程式使用類似如下的內容:

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

      此範例不適用於已啟用私人端點的語音資源,因為我們先前各節所述的主機名和 URL 變更。 如果您嘗試使用已啟用私人端點之資源的金鑰執行現有的應用程式,則會收到驗證錯誤 (401)。

      若要讓它運作,請修改如何具現化 SpeechConfig 類別,並使用“from endpoint”/“with endpoint” 初始化。 假設我們定義了下列兩個變數:

      • speechKey 包含已啟用私人端點之語音資源的金鑰。
      • endPoint 包含完整 修改的 端點 URL(使用對應程式設計語言所需的類型)。 在我們的範例中,此變數應包含:
        wss://my-private-link-speech.cognitiveservices.azure.com/stt/speech/recognition/conversation/cognitiveservices/v1?language=en-US
        

      建立 SpeechConfig 執行個體:

      var config = SpeechConfig.FromEndpoint(endPoint, speechKey);
      
      auto config = SpeechConfig::FromEndpoint(endPoint, speechKey);
      
      SpeechConfig config = SpeechConfig.fromEndpoint(endPoint, speechKey);
      
      import azure.cognitiveservices.speech as speechsdk
      config = speechsdk.SpeechConfig(endpoint=endPoint, subscription=speechKey)
      
      SPXSpeechConfiguration *config = [[SPXSpeechConfiguration alloc] initWithEndpoint:endPoint subscription:speechKey];
      
      import * as sdk from "microsoft.cognitiveservices.speech.sdk";
      config: sdk.SpeechConfig = sdk.SpeechConfig.fromEndpoint(new URL(endPoint), speechKey);
      

提示

端點 URI 中指定的查詢參數不會變更,即使它們是由其他 API 所設定也一樣。 例如,如果辨識語言在 URI 中定義為查詢參數 language=en-US,而且也會透過對應的 屬性設定為 ru-RU ,則會使用 URI 中的語言設定。 然後,有效的語言為 en-US

端點 URI 中設定的參數一律優先。 其他 API 只能覆寫端點 URI 中未指定的參數。

修改之後,您的應用程式應該使用已啟用私人端點的語音資源。 我們正致力於更順暢地支援私人端點案例。

使用 Speech Studio

Speech Studio 是一個入口網站,提供工具讓您在應用程式中建立和整合 Azure AI 語音服務。 在 Speech Studio 專案中工作時會替您建立網路連線和透過 API 呼叫對應的語音資源。 使用私人端點虛擬網路服務端點和其他網路安全性選項時,可能限制 Speech Studio 功能的可用性。 使用自訂語音、自定義神經語音音訊內容建立功能時,您通常會使用Speech Studio。

從虛擬網路連線到 Speech Studio 入口網站

若要從 Azure 虛擬網路內的虛擬機器使用 Speech Studio,您必須允許此虛擬網路向外連線到一組需要的服務標籤。 請參閱此處的詳細資料。

存取語音資源端點「不」等於存取 Speech Studio 入口網站。 不支援透過私人或虛擬網路服務端點存取 Speech Studio 入口網站。

使用 Speech Studio 專案

本節說明如何針對語音資源的不同網路安全性選項,使用不同類型的 Speech Studio 專案。 需要建立從網頁瀏覽器到 Speech Studio 的連線。 語音資源網路安全性設定是在 Azure 入口網站中設定。

  1. 前往 Azure 入口網站並登入 Azure 帳戶。
  2. 選取語音資源。
  3. 在左窗格的 [資源管理] 群組中,選取 [網路]>[防火牆和虛擬網路]
  4. 選取 [所有網路]、[選取的網路和私人端點] 或 [已停用] 其中一個選項。

自訂語音

下表說明每個語音資源網路>防火牆和虛擬網路安全性設定的自定義語音項目輔助功能。

注意

如果您透過 [網路]>[私人端點連線] 索引標籤指定只允許私人端點,則您無法透過 Speech Studio 來使用語音資源。 您仍然可以在 Speech Studio 外部使用語音資源。

語音資源網路安全性設定 Speech Studio 專案可存取性
所有網路 無限制
選取的網路與私人端點 可從允許的公用 IP 位址存取
停用 無法存取

如果您選取 [選取的網路和私人端點],則看到具有 [虛擬網路] 和 [防火牆] 存取設定選項的索引標籤。 在 [防火牆] 區段中,您至少必須允許一個公用 IP 位址,並使用此位址讓瀏覽器與 Speech Studio 連線。

如果您只允許透過虛擬網路來存取,則實際上您不允許透過 Speech Studio 存取語音資源。 您仍然可以在 Speech Studio 外部使用語音資源。

若要使用自訂語音,但不放寬生產語音資源的網路存取限制,請考慮採取下列其中一個因應措施。

  • 建立另一個可在公用網路上使用的語音資源,作為開發用途。 在 Speech Studio 中備妥開發資源上的自訂模型,然後將模型複製到生產資源。 請參閱語音轉換文字 REST API Models_CopyTo REST 要求。
  • 您可以選擇不透過 Speech Studio 來使用自訂語音。 針對所有自訂語音作業使用語音轉換文字 REST API

自訂語音和音訊內容建立

只有當語音資源網路安全性設定為 [所有網络] 時,才可以使用自定義語音和音訊內容建立Speech Studio專案。

調整應用程式以使用沒有私人端點的語音資源

在本文中,我們注意到,為語音資源啟用自定義網域是無法復原的。 相較於使用 區域端點名稱的資源,這類資源會使用不同的方式來與語音服務通訊。

本節說明如何使用語音資源搭配自定義功能變數名稱,但沒有任何私人端點搭配語音服務 REST API 和 語音 SDK。 這可能是曾經在私人端點案例中使用的資源,但之後會刪除其私人端點。

DNS 組態

請記住,啟用私人端點之語音資源的 自定義網域 DNS 名稱如何從公用網路解析。 在此情況下,解析的IP位址會指向虛擬網路的 Proxy 端點。 該端點用於將網路流量分派至啟用私人端點的 Azure AI 服務資源。

不過,移除 所有 資源私人端點時(或是在啟用自定義功能變數名稱之後),則會重新布建語音資源的 CNAME 記錄。 它現在會指向對應 Azure AI 服務區域端點的 IP 位址。

因此,命令的 nslookup 輸出看起來像這樣:

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

將它與本節輸出進行比較。

具有自定義功能變數名稱且不含私人端點的語音資源:REST API 的使用方式

語音轉換文字 REST API

語音轉換文字 REST API 使用方式完全等同於啟用私人端點的語音資源的情況。

簡短音訊的語音轉換文字 REST API和文字轉換語音 REST API

在此情況下,簡短音訊的語音轉換文字 REST API 和文字轉換語音 REST API 在一般使用方式上沒有任何差異,但有一個例外狀況。 (請參閱下列附註。) 您應該依適用於簡短音訊的語音轉換文字 REST API文字轉換語音 REST API 文件所述來使用這兩個 API。

注意

當您在自訂網域案例中使用簡短音訊的語音轉換文字 REST API 以及文字轉換語音 REST API 時,請使用透過 Ocp-Apim-Subscription-Key 標頭傳遞的語音資源金鑰。 (參閱適用於簡短音訊語音轉換文字 REST API文字轉換語音 REST API 的詳細資訊)

只有在您已開啟語音資源 [網络] 區段中的 [所有網络存取] 選項時,才能使用授權令牌並透過 Authorization 標頭將它傳遞至特殊端點。 在其他情況下,當您嘗試取得授權令牌時, Forbidden 會收到 或 BadRequest 錯誤。

具有自定義功能變數名稱且不含私人端點的語音資源:使用語音 SDK

使用具有自定義網域功能的語音 SDK 與沒有私人端點的語音資源,相當於語音 SDK 檔中所述的一般案例。

如果您已修改程式代碼以搭配 啟用私人端點的語音資源使用,請考慮下列事項。

在啟用私人端點的語音資源一節中,我們說明如何判斷端點 URL、修改它,並讓它透過類別實例的SpeechConfig「從端點」/「端點」初始化來運作。

不過,如果您在移除所有私人端點之後嘗試執行相同的應用程式(允許有時間重新布建對應的 DNS 記錄),您會收到內部服務錯誤 (404)。 原因是 DNS 記錄 現在會指向區域 Azure AI 服務端點,而不是虛擬網路 Proxy,而且找不到之類的 /stt/speech/recognition/conversation/cognitiveservices/v1?language=en-US URL 路徑。

您必須以下列程式代碼的樣式,將應用程式回復為的標準具現化 SpeechConfig

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

同時使用私人端點和虛擬網路服務端點

您可以使用私人端點虛擬網路服務端點,同時存取相同的語音資源。 若要啟用此同時使用動作,您必須在 Azure 入口網站語音資源的網路設定中,使用 [選取的網路與私人端點] 選項。 此案例不支援其他選項。

定價

如需價格詳細資料,請參閱 Azure Private Link 價格

深入了解