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:
- Criar um nome de domínio personalizado
- Ativar pontos de extremidade privados
- 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:
- Documentação do Azure Private Link e do ponto de extremidade privado
- Documentação de pontos de extremidade de serviço de Rede Virtual
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:
Aceda ao portal do Azure e inicie sessão com a sua conta do Azure.
Selecione o recurso de fala necessário.
No grupo Gerenciamento de Recursos no painel esquerdo, selecione Rede.
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.
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.
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.
- Criar um ponto de extremidade privado usando o portal do Azure
- Criar um ponto de extremidade privado usando o Azure PowerShell
- Criar um ponto de extremidade privado usando a CLI do Azure
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:
Entre em uma máquina virtual localizada na rede virtual à qual você anexou seu ponto de extremidade privado.
Abra um prompt de comando do Windows ou um shell Bash, execute
nslookup
e 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
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.
Entre em um computador conectado a uma rede com permissão para acessar o recurso.
Abra um prompt de comando do Windows ou um shell Bash, execute
nslookup
e 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:
- API REST de fala para texto, que é usada para transcrição em lote e fala personalizada.
- API REST de fala para texto para áudio curto, que é usada para conversão de fala em texto em tempo real.
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 nomemy-private-link-speech.cognitiveservices.azure.com
de 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:
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, ovalue
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
Crie uma
SpeechConfig
instância usando uma URL de ponto de extremidade completa:Modifique o ponto de extremidade que você determinou, conforme descrito na seção URL do ponto de extremidade Construct anterior .
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.endPoint
conté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-US
de 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.
- Aceda ao portal do Azure e inicie sessão com a sua conta do Azure.
- Selecione o recurso Fala.
- No grupo Gerenciamento de Recursos no painel esquerdo, selecione Firewalls de rede>e redes virtuais.
- 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.