Partilhar via


Usar o serviço de Fala por meio de um ponto de extremidade privado

O Azure Private Link permite que você se conecte a serviços no Azure usando um ponto de extremidade privado. Um ponto de extremidade privado é um endereço IP privado acessível apenas dentro de uma rede virtual e sub-rede específicas.

Este artigo explica como configurar e usar o Link privado e pontos de extremidade privados com o serviço de fala. Este artigo descreve como remover pontos de extremidade privados posteriormente, mas ainda usar o recurso de fala.

Nota

Antes de continuar, revise como usar redes virtuais com os serviços de IA do Azure.

A configuração de um recurso de Fala para os cenários de ponto de extremidade privado requer a execução das seguintes tarefas:

  1. Criar um nome de domínio personalizado
  2. Ativar pontos de extremidade privados
  3. Ajuste os aplicativos e soluções existentes

Pontos de extremidade privados e pontos de extremidade de serviço de Rede Virtual

O Azure fornece pontos de extremidade privados e pontos de extremidade de serviço de Rede Virtual para tráfego que encapsula por meio da rede de backbone privada do Azure. A finalidade e as tecnologias subjacentes destes tipos de terminais são semelhantes. Mas há diferenças entre as duas tecnologias. Recomendamos que você aprenda sobre os prós e contras de ambos antes de projetar sua rede.

Há algumas coisas a considerar ao decidir qual tecnologia usar:

  • Ambas as tecnologias garantem que o tráfego entre a rede virtual e o recurso de Fala não viaje pela Internet pública.
  • Um ponto de extremidade privado fornece um endereço IP privado dedicado para seu recurso de fala. Este endereço IP só é acessível dentro de uma rede virtual específica e sub-rede. Você tem controle total do acesso a esse endereço IP dentro de sua infraestrutura de rede.
  • Os pontos de extremidade do serviço de Rede Virtual não fornecem um endereço IP privado dedicado para o recurso de Fala. Em vez disso, eles encapsulam todos os pacotes enviados para o recurso de Fala e os entregam diretamente pela rede de backbone do Azure.
  • Ambas as tecnologias oferecem suporte a cenários locais. Por padrão, quando eles usam pontos de extremidade de serviço de Rede Virtual, os recursos de serviço do Azure protegidos para redes virtuais não podem ser acessados de redes locais. Mas você pode mudar esse comportamento.
  • Os pontos de extremidade de serviço de Rede Virtual são frequentemente usados para restringir o acesso a um recurso de Fala com base nas redes virtuais das quais o tráfego se origina.
  • Para os serviços de IA do Azure, habilitar o ponto de extremidade do serviço de Rede Virtual força o tráfego de todos os recursos de serviços de IA do Azure a passar pela rede de backbone privada. Isso requer uma configuração explícita de acesso à rede. (Para obter mais informações, consulte Configure redes virtuais e as configurações de rede de recursos de fala.) Os pontos de extremidade privados não têm essa limitação e fornecem mais flexibilidade para sua configuração de rede. Você pode acessar um recurso através do backbone privado e outro através da Internet pública usando a mesma sub-rede da mesma rede virtual.
  • Os terminais privados incorrem em custos adicionais. Os pontos de extremidade do serviço de Rede Virtual são gratuitos.
  • Os pontos de extremidade privados exigem configuração de DNS extra.
  • Um recurso de Fala pode funcionar simultaneamente com pontos de extremidade privados e pontos de extremidade de serviço de Rede Virtual.

Recomendamos que você tente ambos os tipos de ponto final antes de tomar uma decisão sobre seu design de produção.

Para obter mais informações, veja estes recursos:

Este artigo descreve o uso dos pontos de extremidade privados com o serviço de fala. O uso dos pontos de extremidade do serviço VNet é descrito aqui.

Criar um nome de domínio personalizado

Atenção

Um recurso de Fala com um nome de domínio personalizado habilitado usa uma maneira diferente de interagir com o serviço de Fala. Talvez seja necessário ajustar o código do aplicativo para ambos os cenários: com ponto de extremidade privado e sem ponto de extremidade privado.

Siga estas etapas para criar um nome de subdomínio personalizado para os serviços de IA do Azure para seu recurso de Fala.

Atenção

Quando você ativa um nome de domínio personalizado, a operação não é reversível. A única maneira de voltar ao nome regional é criar um novo recurso de fala.

Se o recurso de Fala tiver muitos modelos personalizados associados e projetos criados por meio do Speech Studio, é altamente recomendável tentar a configuração com um recurso de teste antes de modificar o recurso usado na produção.

Para criar um nome de domínio personalizado usando o portal do Azure, siga estas etapas:

  1. Aceda ao portal do Azure e inicie sessão com a sua conta do Azure.

  2. Selecione o recurso de fala necessário.

  3. No grupo Gerenciamento de Recursos no painel esquerdo, selecione Rede.

  4. Na guia Firewalls e redes virtuais, selecione Gerar nome de domínio personalizado. Um novo painel direito é exibido com instruções para criar um subdomínio personalizado exclusivo para seu recurso.

  5. No painel Gerar nome de domínio personalizado, insira um nome de domínio personalizado. Seu domínio personalizado completo será parecido com: https://{your custom name}.cognitiveservices.azure.com.

    Lembre-se de que, depois de criar um nome de domínio personalizado, ele não pode ser alterado.

    Depois de inserir seu nome de domínio personalizado, selecione Salvar.

  6. Após a conclusão da operação, no grupo Gerenciamento de recursos, selecione Chaves e Ponto de extremidade. Confirme se o novo nome do ponto de extremidade do seu recurso começa desta forma: https://{your custom name}.cognitiveservices.azure.com.

Ativar pontos de extremidade privados

Recomendamos usar a zona DNS privada conectada à rede virtual com as atualizações necessárias para os pontos de extremidade privados. Você pode criar uma zona DNS privada durante o processo de provisionamento. Se estiver a utilizar o seu próprio servidor DNS, poderá também ter de alterar a sua configuração de DNS.

Decida sobre uma estratégia de DNS antes de provisionar pontos de extremidade privados para um recurso de Fala de produção. E teste suas alterações de DNS, especialmente se você usar seu próprio servidor DNS.

Use um dos seguintes artigos para criar pontos de extremidade privados. Estes artigos usam um aplicativo Web como um recurso de exemplo para disponibilizar por meio de pontos de extremidade privados.

Use estes parâmetros em vez dos parâmetros no artigo que você escolheu:

Definição Value
Tipo de recurso Microsoft.CognitiveServices/contas
Recurso <seu-nome-fala-recurso->
Recurso secundário de destino conta

DNS para pontos de extremidade privados: analise os princípios gerais do DNS para pontos de extremidade privados nos recursos de serviços de IA do Azure. Em seguida, confirme se a configuração de DNS está funcionando corretamente executando as verificações descritas nas seções a seguir.

Resolver DNS da rede virtual

Esta verificação é obrigatória.

Siga estes passos para testar a entrada DNS personalizada da sua rede virtual:

  1. Entre em uma máquina virtual localizada na rede virtual à qual você anexou seu ponto de extremidade privado.

  2. Abra um prompt de comando do Windows ou um shell Bash, execute nslookupe confirme se ele resolve com êxito o nome de domínio personalizado do seu recurso.

    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. Confirme se o endereço IP corresponde ao endereço IP do seu ponto de extremidade privado.

Resolver DNS de outras redes

Efetue esta verificação apenas se tiver ativado a opção Todas as redes ou a opção de acesso Redes Selecionadas e Pontos de Extremidade Privados na secção Rede do seu recurso.

Se você planeja acessar o recurso usando apenas um ponto de extremidade privado, pode ignorar esta seção.

  1. Entre em um computador conectado a uma rede com permissão para acessar o recurso.

  2. Abra um prompt de comando do Windows ou um shell Bash, execute nslookupe confirme se ele resolve com êxito o nome de domínio personalizado do seu recurso.

    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
    

Nota

O endereço IP resolvido aponta para um ponto de extremidade de proxy de rede virtual, que despacha o tráfego de rede para o ponto de extremidade privado para o recurso de fala. O comportamento será diferente para um recurso com um nome de domínio personalizado, mas sem pontos de extremidade privados. Consulte esta secção para obter detalhes.

Ajustar um aplicativo para usar um recurso de fala com um ponto de extremidade privado

Um recurso de Fala com um domínio personalizado interage com o serviço de Fala de uma maneira diferente. Isso é verdadeiro para um recurso de fala habilitado para domínio personalizado com e sem pontos de extremidade privados. As informações nesta seção se aplicam a ambos os cenários.

Siga as instruções nesta seção para ajustar aplicativos e soluções existentes para usar um recurso de fala com um nome de domínio personalizado e um ponto de extremidade privado ativados.

Um recurso de Fala com um nome de domínio personalizado e um ponto de extremidade privado ativado usa uma maneira diferente de interagir com o serviço de Fala. Esta seção explica como usar esse recurso com as APIs REST do serviço de fala e o SDK de fala.

Nota

Um recurso de Fala sem pontos de extremidade privados que usa um nome de domínio personalizado também tem uma maneira especial de interagir com o serviço de Fala. Essa maneira difere do cenário de um recurso de fala que usa um ponto de extremidade privado. Isso é importante considerar porque você pode decidir remover pontos de extremidade privados mais tarde. Consulte Ajustar um aplicativo para usar um recurso de fala sem pontos de extremidade privados mais adiante neste artigo.

Recurso de fala com um nome de domínio personalizado e um ponto de extremidade privado: uso com as APIs REST

Usamos my-private-link-speech.cognitiveservices.azure.com como exemplo o nome DNS do recurso de fala (domínio personalizado) para esta seção.

O serviço de fala tem APIs REST para Speech to text e Text to speech. Considere as seguintes informações para o cenário habilitado para ponto de extremidade privado.

A conversão de fala em texto tem duas APIs REST. Cada API serve a uma finalidade diferente, usa pontos de extremidade diferentes e requer uma abordagem diferente quando você a está usando no cenário habilitado para ponto de extremidade privado.

As APIs REST de fala para texto são:

O uso da API REST de fala para texto para áudio curto e da API REST de texto para fala no cenário de ponto de extremidade privado é o mesmo. É equivalente ao caso do SDK de fala descrito mais adiante neste artigo.

A API REST de fala para texto usa um conjunto diferente de pontos de extremidade, portanto, requer uma abordagem diferente para o cenário habilitado para ponto de extremidade privado.

As subsecções seguintes descrevem ambos os casos.

API REST de fala para texto

Normalmente, os recursos de Fala usam pontos de extremidade regionais dos serviços de IA do Azure para se comunicar com a API REST de Fala para texto. Esses recursos têm o seguinte formato de nomenclatura:

{region}.api.cognitive.microsoft.com.

Este é um exemplo de URL de solicitação:

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

Nota

Consulte este artigo para Azure Government e Microsoft Azure operados por pontos de extremidade 21Vianet.

Depois de ativar um domínio personalizado para um recurso de Fala (que é necessário para pontos de extremidade privados), esse recurso usará o seguinte padrão de nome DNS para o ponto de extremidade básico da API REST:

{your custom name}.cognitiveservices.azure.com

Isso significa que, em nosso exemplo, o nome do ponto de extremidade da API REST é:

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

E o URL de solicitação de exemplo precisa ser convertido para:

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

Este URL deve ser acessível a partir da rede virtual com o ponto de extremidade privado anexado (desde que a resolução DNS correta).

Depois de ativar um nome de domínio personalizado para um recurso de fala, você normalmente substitui o nome do host em todas as URLs de solicitação pelo novo nome de host de domínio personalizado. Todas as outras partes da solicitação (como o caminho /speechtotext/v3.1/transcriptions no exemplo anterior) permanecem as mesmas.

Gorjeta

Alguns clientes desenvolvem aplicativos que usam a parte da região do nome DNS do ponto de extremidade regional (por exemplo, para enviar a solicitação para o recurso de Fala implantado na região específica do Azure).

Um domínio personalizado para um recurso de Fala não contém informações sobre a região onde o recurso é implantado. Portanto, a lógica do aplicativo descrita anteriormente não funcionará e precisará ser alterada.

API REST de fala para texto para áudio curto e API REST de texto para fala

A API REST Speech to text para áudio curto e a API REST Text to speech usam dois tipos de pontos de extremidade:

  • Pontos de extremidade regionais de serviços de IA do Azure para comunicação com a API REST de serviços de IA do Azure para obter um token de autorização
  • Parâmetros de avaliação especiais para todas as outras operações

Nota

Consulte este artigo para o Azure Government e o Azure operado por pontos de extremidade 21Vianet.

A descrição detalhada dos pontos de extremidade especiais e como sua URL deve ser transformada para um recurso de Fala habilitado para ponto de extremidade privado é fornecida nesta subseção sobre o uso com o SDK de Fala. O mesmo princípio descrito para o SDK aplica-se à API REST de fala para texto para áudio curto e para a API REST de texto para fala.

Familiarize-se com o material na subseção mencionada no parágrafo anterior e veja o exemplo a seguir. O exemplo descreve a API REST de texto para fala. O uso da API REST de fala para texto para áudio curto é totalmente equivalente.

Nota

Quando você estiver usando a API REST de fala para texto para áudio curto e a API REST de texto para fala em cenários de ponto de extremidade privado, use uma chave de recurso passada pelo Ocp-Apim-Subscription-Key cabeçalho. (Ver detalhes para API REST de fala para texto para áudio curto e API REST de texto para fala)

Usar um token de autorização e passá-lo para o ponto de extremidade especial por meio do Authorization cabeçalho funcionará somente se você tiver ativado a opção Todos os acessos a redes na seção Rede do seu recurso de fala. Em outros casos, você receberá um ou Forbidden BadRequest erro ao tentar obter um token de autorização.

Exemplo de uso da API REST de texto para fala

Usamos a Europa Ocidental como uma região do Azure de exemplo e my-private-link-speech.cognitiveservices.azure.com como um nome DNS de recurso de fala de exemplo (domínio personalizado). O nome my-private-link-speech.cognitiveservices.azure.com de domínio personalizado em nosso exemplo pertence ao recurso de fala criado na região da Europa Ocidental.

Para obter a lista das vozes suportadas na região, execute a seguinte solicitação:

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

Veja mais detalhes na documentação da API REST de conversão de texto em fala.

Para o recurso de Fala habilitado para ponto de extremidade privado, a URL do ponto de extremidade para a mesma operação precisa ser modificada. O mesmo pedido tem a seguinte aparência:

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

Consulte uma explicação detalhada na subseção URL do ponto de extremidade Construct para o SDK de fala.

Recurso de fala com um nome de domínio personalizado e um ponto de extremidade privado: uso com o SDK de fala

Usar o SDK de Fala com um nome de domínio personalizado e recursos de Fala habilitados para ponto de extremidade privado exige que você revise e provavelmente altere o código do aplicativo.

Usamos my-private-link-speech.cognitiveservices.azure.com como exemplo o nome DNS do recurso de fala (domínio personalizado) para esta seção.

Construir URL do ponto de extremidade

Normalmente, em cenários SDK (e na API REST de fala para texto para cenários de áudio curto e API REST de texto para fala), os recursos de fala usam os pontos de extremidade regionais dedicados para diferentes ofertas de serviços. O formato de nome DNS para esses pontos de extremidade é:

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

Um exemplo de nome DNS é:

westeurope.stt.speech.microsoft.com

Todos os valores possíveis para a região (primeiro elemento do nome DNS) estão listados em Regiões suportadas pelo serviço de Fala. (Consulte este artigo para o Azure Government e o Azure operado por pontos de extremidade 21Vianet.) A tabela a seguir apresenta os valores possíveis para a oferta do serviço de Fala (segundo elemento do nome DNS):

Valor do nome DNS Oferta de serviços de fala
commands Comandos personalizados
convai Transcrição da reunião
s2s Tradução de Voz
stt Conversão de fala em texto
tts Conversão de texto em fala
voice Voz personalizada

Assim, o exemplo anterior (westeurope.stt.speech.microsoft.com) significa um ponto final de fala para texto na Europa Ocidental.

Os pontos de extremidade habilitados para ponto de extremidade privado se comunicam com o serviço de fala por meio de um proxy especial. Por isso, você deve alterar as URLs de conexão do ponto de extremidade.

Um URL de ponto de extremidade "padrão" se parece com:

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

Um URL de ponto de extremidade privado tem a seguinte aparência:

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

Exemplo 1. Um aplicativo está se comunicando usando a seguinte URL (reconhecimento de fala usando o modelo base para inglês dos EUA na Europa Ocidental):

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

Para usá-lo no cenário habilitado para ponto de extremidade privado quando o nome de domínio personalizado do recurso de Fala for my-private-link-speech.cognitiveservices.azure.com, você deve modificar a URL da seguinte forma:

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

Observe os detalhes:

  • O nome westeurope.stt.speech.microsoft.com do host é substituído pelo nome my-private-link-speech.cognitiveservices.azure.comde host de domínio personalizado .
  • O segundo elemento do nome DNS original (stt) torna-se o primeiro elemento do caminho da URL e precede o caminho original. Assim, o URL /speech/recognition/conversation/cognitiveservices/v1?language=en-US original torna-se /stt/speech/recognition/conversation/cognitiveservices/v1?language=en-US.

Exemplo 2. Um aplicativo usa a seguinte URL para sintetizar a fala na Europa Ocidental:

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

A URL equivalente a seguir usa um ponto de extremidade privado, onde o nome de domínio personalizado do recurso de fala é my-private-link-speech.cognitiveservices.azure.com:

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

O mesmo princípio no Exemplo 1 é aplicado, mas o elemento-chave desta vez é tts.

Modificando aplicativos

Siga estas etapas para modificar seu código:

  1. Determine a URL do ponto de extremidade do aplicativo:

    • Ative o registro em log para seu aplicativo e execute-o para registrar a atividade.
    • No ficheiro de registo, procure SPEECH-ConnectionUrl. Em linhas correspondentes, o value parâmetro contém a URL completa que seu aplicativo usou para acessar o serviço de fala.

    Exemplo:

    (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'
    

    Portanto, a URL que o aplicativo usou neste exemplo é:

    wss://westeurope.stt.speech.microsoft.com/speech/recognition/conversation/cognitiveservices/v1?language=en-US
    
  2. Crie uma SpeechConfig instância usando uma URL de ponto de extremidade completa:

    1. Modifique o ponto de extremidade que você determinou, conforme descrito na seção URL do ponto de extremidade Construct anterior .

    2. Modifique a forma como você cria a instância do SpeechConfig. Muito provavelmente, seu aplicativo está usando algo assim:

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

      Este exemplo não funciona para um recurso de Fala habilitado para ponto de extremidade privado devido às alterações de nome de host e URL descritas nas seções anteriores. Se você tentar executar seu aplicativo existente sem modificações usando a chave de um recurso habilitado para ponto de extremidade privado, obterá um erro de autenticação (401).

      Para fazê-lo funcionar, modifique como você instancia a classe e use a SpeechConfig inicialização "from endpoint"/"with endpoint". Suponhamos que temos as seguintes duas variáveis definidas:

      • speechKey contém a chave do recurso de Fala habilitado para ponto de extremidade privado.
      • endPointcontém o URL do ponto de extremidade modificado completo (usando o tipo exigido pela linguagem de programação correspondente). No nosso exemplo, esta variável deve conter:
        wss://my-private-link-speech.cognitiveservices.azure.com/stt/speech/recognition/conversation/cognitiveservices/v1?language=en-US
        

      Crie uma SpeechConfig instância:

      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);
      

Gorjeta

Os parâmetros de consulta especificados no URI do ponto de extremidade não são alterados, mesmo que sejam definidos por outras APIs. Por exemplo, se o idioma de reconhecimento for definido no URI como parâmetro language=en-USde consulta e também for definido como ru-RU por meio da propriedade correspondente, a configuração de idioma no URI será usada. A linguagem eficaz é, então, en-US.

Os parâmetros definidos no URI do ponto de extremidade sempre têm precedência. Outras APIs podem substituir apenas parâmetros que não são especificados no URI do ponto de extremidade.

Após essa modificação, seu aplicativo deve funcionar com os recursos de fala habilitados para ponto de extremidade privado. Estamos trabalhando em um suporte mais contínuo para cenários de ponto final privado.

Utilização do Speech Studio

O Speech Studio é um portal Web com ferramentas para criar e integrar o serviço Azure AI Speech na sua aplicação. Quando você trabalha em projetos do Speech Studio, conexões de rede e chamadas de API para o recurso de fala correspondente são feitas em seu nome. Trabalhar com pontos de extremidade privados, pontos de extremidade de serviço de rede virtual e outras opções de segurança de rede pode limitar a disponibilidade dos recursos do Speech Studio. Normalmente, você usa o Speech Studio ao trabalhar com recursos, como fala personalizada, voz neural personalizada e criação de conteúdo de áudio.

Alcançar o portal Web do Speech Studio a partir de uma rede virtual

Para usar o Speech Studio de uma máquina virtual em uma rede Virtual do Azure, você deve permitir conexões de saída para o conjunto necessário de marcas de serviço para essa rede virtual. Veja mais detalhes aqui.

O acesso ao ponto de extremidade do recurso de fala não é igual ao acesso ao portal da Web do Speech Studio. Não há suporte para o acesso ao portal da Web do Speech Studio por meio de pontos de extremidade de serviço de rede virtual ou privada.

Trabalhando com projetos do Speech Studio

Esta seção descreve o trabalho com os diferentes tipos de projetos do Speech Studio para as diferentes opções de segurança de rede do recurso de fala. Espera-se que a conexão do navegador da Web com o Speech Studio seja estabelecida. As configurações de segurança de rede de recursos de fala são definidas no portal do Azure.

  1. Aceda ao portal do Azure e inicie sessão com a sua conta do Azure.
  2. Selecione o recurso Fala.
  3. No grupo Gerenciamento de Recursos no painel esquerdo, selecione Firewalls de rede>e redes virtuais.
  4. Selecione uma opção em Todas as redes, Redes selecionadas e Pontos de extremidade privados ou Desativado.

Fala personalizada, voz personalizada e criação de conteúdo de áudio

A tabela a seguir descreve a acessibilidade personalizada do projeto de criação de conteúdo de voz/áudio personalizada por recurso de fala, firewalls de rede>e configuração de segurança de redes virtuais.

Nota

Se você permitir apenas pontos de extremidade privados por meio da guia Conexões de ponto de extremidade privadas de rede>, não poderá usar o Speech Studio com o recurso de fala. Você ainda pode usar o recurso Fala fora do Speech Studio.

Configuração de segurança de rede de recursos de fala Acessibilidade do projeto Speech Studio
Todas as redes Sem restrições
Redes e Pontos Finais Privados Selecionados Acessível a partir de endereços IP públicos permitidos
Desativado Não acessível

Se você selecionar Redes selecionadas e pontos de extremidade privados, verá uma guia com Redes virtuais e opções de configuração de acesso ao firewall . Na seção Firewall, você deve permitir pelo menos um endereço IP público e usar esse endereço para a conexão do navegador com o Speech Studio.

Se você permitir apenas o acesso via rede virtual, na verdade, você não permitirá o acesso ao recurso de fala por meio do Speech Studio. Você ainda pode usar o recurso Fala fora do Speech Studio.

Para usar a fala personalizada sem relaxar as restrições de acesso à rede em seu recurso de fala de produção, considere uma dessas soluções alternativas.

  • Crie outro recurso de fala para desenvolvimento que possa ser usado em uma rede pública. Prepare seu modelo personalizado no Speech Studio no recurso de desenvolvimento e copie o modelo para o recurso de produção. Consulte a solicitação REST Models_CopyTo com a API REST de fala para texto.
  • Você tem a opção de não usar o Speech Studio para fala personalizada. Use a API REST de fala para texto para todas as operações de fala personalizadas.

Para usar voz personalizada sem relaxar as restrições de acesso à rede em seu recurso de fala de produção, considere Usar a API REST de voz personalizada para todas as operações de voz personalizadas.

Ajustar um aplicativo para usar um recurso de fala sem pontos de extremidade privados

Neste artigo, observamos várias vezes que habilitar um domínio personalizado para um recurso de fala é irreversível. Esse recurso usa uma maneira diferente de se comunicar com o serviço de fala, em comparação com aqueles que estão usando nomes de ponto de extremidade regionais.

Esta seção explica como usar um recurso de fala com um nome de domínio personalizado, mas sem pontos de extremidade privados com as APIs REST do serviço de fala e o SDK de fala. Esse pode ser um recurso que já foi usado em um cenário de ponto de extremidade privado, mas depois teve seus pontos de extremidade privados excluídos.

Configuração do DNS

Lembre-se de como um nome DNS de domínio personalizado do recurso de Fala habilitado para ponto de extremidade privado é resolvido a partir de redes públicas. Nesse caso, o endereço IP resolvido aponta para um ponto de extremidade proxy para uma rede virtual. Esse ponto de extremidade é usado para despachar o tráfego de rede para o recurso de serviços de IA do Azure habilitado para ponto de extremidade privado.

No entanto, quando todos os pontos de extremidade privados de recursos são removidos (ou logo após a habilitação do nome de domínio personalizado), o registro CNAME do recurso de fala é reprovisionado. Agora, ele aponta para o endereço IP do ponto de extremidade regional dos serviços de IA do Azure correspondente.

Assim, a nslookup saída do comando tem esta aparência:

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

Compare-o com a saída desta seção.

Recurso de fala com um nome de domínio personalizado e sem pontos de extremidade privados: uso com as APIs REST

API REST de fala para texto

O uso da API REST de fala para texto é totalmente equivalente ao caso de recursos de fala habilitados para ponto de extremidade privado.

API REST de fala para texto para áudio curto e API REST de texto para fala

Nesse caso, o uso da API REST de fala para texto para áudio curto e o uso da API REST de texto para fala não têm diferenças em relação ao caso geral, com uma exceção. (Ver nota seguinte.) Você deve usar ambas as APIs conforme descrito na API REST de fala para texto para áudio curto e na documentação da API REST de texto para fala.

Nota

Quando você estiver usando a API REST de fala para texto para áudio curto e a API REST de texto para fala em cenários de domínio personalizados, use uma chave de recurso de fala passada pelo Ocp-Apim-Subscription-Key cabeçalho. (Ver detalhes para API REST de fala para texto para áudio curto e API REST de texto para fala)

Usar um token de autorização e passá-lo para o ponto de extremidade especial por meio do Authorization cabeçalho funcionará somente se você tiver ativado a opção Todos os acessos a redes na seção Rede do seu recurso de fala. Em outros casos, você receberá um ou Forbidden BadRequest erro ao tentar obter um token de autorização.

Recurso de fala com um nome de domínio personalizado e sem pontos de extremidade privados: uso com o SDK de fala

Usar o SDK de Fala com recursos de Fala habilitados para domínio personalizado sem pontos de extremidade privados é equivalente ao caso geral, conforme descrito na documentação do SDK de Fala.

Caso você tenha modificado seu código para usar com um recurso de fala habilitado para ponto de extremidade privado, considere o seguinte.

Na seção sobre recursos de fala habilitados para ponto de extremidade privado, explicamos como determinar a URL do ponto de extremidade, modificá-la e fazê-la funcionar através da inicialização "from endpoint"/"with endpoint" da instância de SpeechConfig classe.

No entanto, se você tentar executar o mesmo aplicativo depois de ter todos os pontos de extremidade privados removidos (permitindo algum tempo para o reprovisionamento de registro DNS correspondente), você receberá um erro de serviço interno (404). O motivo é que o registro DNS agora aponta para o ponto de extremidade regional dos serviços de IA do Azure em vez do proxy de rede virtual, e os caminhos de URL como /stt/speech/recognition/conversation/cognitiveservices/v1?language=en-US não são encontrados lá.

Você precisa reverter seu aplicativo para a instanciação padrão de SpeechConfig no estilo do código a seguir:

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

Uso simultâneo de pontos de extremidade privados e pontos de extremidade de serviço de Rede Virtual

Você pode usar pontos de extremidade privados e pontos de extremidade de serviço de Rede Virtual para acessar o mesmo recurso de Fala simultaneamente. Para habilitar esse uso simultâneo, você precisa usar a opção Redes Selecionadas e Pontos de Extremidade Privados nas configurações de rede do recurso de Fala no portal do Azure. Outras opções não são suportadas para este cenário.

Preços

Para obter detalhes de preços, consulte Preços do Azure Private Link.

Mais informações