Tradutor v3.0
Novidades?
A versão 3.0 do Translator fornece uma API Web moderna baseada em JSON. Ele melhora a usabilidade e o desempenho, consolidando os recursos existentes em menos operações, e fornece novos recursos.
- Transliteração para converter texto em um idioma de um script para outro.
- Tradução para vários idiomas em um único pedido.
- Deteção, tradução e transliteração de idioma em uma solicitação.
- Dicionário para procurar traduções alternativas de um termo, para encontrar retrotraduções e exemplos que mostram termos usados no contexto.
- Resultados de deteção de linguagem mais informativos.
Base URLs
As solicitações ao Translator são, na maioria dos casos, tratadas pelo datacenter mais próximo de onde a solicitação se originou. Se houver uma falha no datacenter ao usar o ponto de extremidade global, a solicitação poderá ser roteada para fora da geografia.
Para forçar a solicitação a ser tratada dentro de uma geografia específica, use o ponto de extremidade geográfico desejado. Todas as solicitações são processadas entre os datacenters dentro da geografia.
✔️ Característica: Tradutor de texto
Ponto final de serviço | Centro de dados de processamento de pedidos |
---|---|
Global (recomendado):api.cognitive.microsofttranslator.com |
Data center disponível mais próximo. |
Américas:api-nam.cognitive.microsofttranslator.com |
Leste dos EUA 2 • Oeste dos EUA 2 |
Ásia-Pacíficoapi-apc.cognitive.microsofttranslator.com : |
Leste do Japão • Sudeste Asiático |
Europa (exceto Suíça):api-eur.cognitive.microsofttranslator.com |
França Central • Europa Ocidental |
Suíça: Para obter mais informações, consulte Pontos de extremidade de serviço da Suíça. |
Suíça Norte • Suíça Oeste |
Pontos finais de serviço na Suíça
Os clientes com um recurso localizado na Suíça Norte ou Suíça Oeste podem garantir que suas solicitações de API de texto sejam atendidas na Suíça. Para garantir que as solicitações sejam tratadas na Suíça, crie o recurso Tradutor no ou Switzerland West
e, em Resource region
Switzerland North
seguida, use o ponto de extremidade personalizado do recurso em suas solicitações de API.
Por exemplo: se você criar um recurso Tradutor no portal do Azure com Resource region
as Switzerland North
e seu nome de recurso for my-swiss-n
, seu ponto de extremidade personalizado será https​://my-swiss-n.cognitiveservices.azure.com
. E um exemplo de solicitação para traduzir é:
// Pass secret key and region using headers to a custom endpoint
curl -X POST "https://my-swiss-n.cognitiveservices.azure.com/translator/text/v3.0/translate?to=fr" \
-H "Ocp-Apim-Subscription-Key: xxx" \
-H "Ocp-Apim-Subscription-Region: switzerlandnorth" \
-H "Content-Type: application/json" \
-d "[{'Text':'Hello'}]" -v
O Tradutor Personalizado não está disponível atualmente na Suíça.
Autenticação
Assine o Translator ou multisserviço nos serviços de IA do Azure e use sua chave (disponível no portal do Azure) para autenticar.
Há três cabeçalhos que você pode usar para autenticar sua assinatura. Esta tabela descreve como cada um é usado:
Cabeçalhos | Description |
---|---|
Ocp-Apim-Subscription-Key | Use com a assinatura de serviços de IA do Azure se você estiver passando sua chave secreta. O valor é a chave secreta do Azure para sua assinatura do Translator. |
Autorização | Use com a assinatura de serviços de IA do Azure se estiver passando um token de autenticação. O valor é o token ao portador: Bearer <token> . |
OCP-Apim-Assinatura-Região | Use com recurso de tradutor regional e multisserviço. O valor é a região do recurso de tradutor regional ou multisserviço. Esse valor é opcional ao usar um recurso de tradutor global. |
Chave secreta
A primeira opção é autenticar usando o Ocp-Apim-Subscription-Key
cabeçalho. Adicione o Ocp-Apim-Subscription-Key: <YOUR_SECRET_KEY>
cabeçalho ao seu pedido.
Autenticação com um recurso global
Ao usar um recurso de tradutor global, você precisa incluir um cabeçalho para chamar o Tradutor.
Cabeçalhos | Description |
---|---|
Ocp-Apim-Subscription-Key | O valor é a chave secreta do Azure para sua assinatura do Translator. |
Aqui está um exemplo de solicitação para chamar o Tradutor usando o recurso de tradutor global
// Pass secret key using headers
curl -X POST "https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&to=es" \
-H "Ocp-Apim-Subscription-Key:<your-key>" \
-H "Content-Type: application/json" \
-d "[{'Text':'Hello, what is your name?'}]"
Autenticação com um recurso regional
Quando você usa um recurso de tradutor regional, há dois cabeçalhos que você precisa chamar de Tradutor.
Cabeçalhos | Description |
---|---|
Ocp-Apim-Subscription-Key | O valor é a chave secreta do Azure para sua assinatura do Translator. |
OCP-Apim-Assinatura-Região | O valor é a região do recurso do tradutor. |
Aqui está um exemplo de solicitação para chamar o Tradutor usando o recurso de tradutor regional
// Pass secret key and region using headers
curl -X POST "https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&to=es" \
-H "Ocp-Apim-Subscription-Key:<your-key>" \
-H "Ocp-Apim-Subscription-Region:<your-region>" \
-H "Content-Type: application/json" \
-d "[{'Text':'Hello, what is your name?'}]"
Autenticação com um recurso multisserviço
Um recurso multisserviço permite que você use uma única chave de API para autenticar solicitações para vários serviços.
Ao usar uma chave secreta multisserviço, você deve incluir dois cabeçalhos de autenticação com sua solicitação. Há dois cabeçalhos que você precisa chamar o Tradutor.
Cabeçalhos | Description |
---|---|
Ocp-Apim-Subscription-Key | O valor é a chave secreta do Azure para seu recurso multisserviço. |
OCP-Apim-Assinatura-Região | O valor é a região do recurso multisserviço. |
A região é necessária para a assinatura da API de texto multisserviço. A região selecionada é a única que você pode usar para tradução de texto ao usar a chave multisserviço. Deve ser a mesma região que selecionou quando se inscreveu para a sua subscrição multisserviço através do portal do Azure.
Se você passar a chave secreta na cadeia de caracteres de consulta com o parâmetro Subscription-Key
, deverá especificar a região com o parâmetro Subscription-Region
query .
Autenticação com um token de acesso
Como alternativa, você pode trocar sua chave secreta por um token de acesso. Esse token é incluído em cada solicitação como cabeçalho Authorization
. Para obter um token de autorização, faça uma POST
solicitação para a seguinte URL:
Tipo de recurso | URL do serviço de autenticação |
---|---|
Global | https://api.cognitive.microsoft.com/sts/v1.0/issueToken |
Regional ou Multi-Serviço | https://<your-region>.api.cognitive.microsoft.com/sts/v1.0/issueToken |
Aqui estão exemplos de solicitações para obter um token dado uma chave secreta para um recurso global:
// Pass secret key using header
curl --header 'Ocp-Apim-Subscription-Key: <your-key>' --data "" 'https://api.cognitive.microsoft.com/sts/v1.0/issueToken'
// Pass secret key using query string parameter
curl --data "" 'https://api.cognitive.microsoft.com/sts/v1.0/issueToken?Subscription-Key=<your-key>'
E aqui estão exemplos de solicitações para obter um token dado uma chave secreta para um recurso regional localizado no centro dos EUA:
// Pass secret key using header
curl --header "Ocp-Apim-Subscription-Key: <your-key>" --data "" "https://centralus.api.cognitive.microsoft.com/sts/v1.0/issueToken"
// Pass secret key using query string parameter
curl --data "" "https://centralus.api.cognitive.microsoft.com/sts/v1.0/issueToken?Subscription-Key=<your-key>"
Uma solicitação bem-sucedida retorna o token de acesso codificado como texto sem formatação no corpo da resposta. O token válido é passado para o serviço Tradutor como um token ao portador na Autorização.
Authorization: Bearer <Base64-access_token>
Um token de autenticação é válido por 10 minutos. O token deve ser reutilizado ao fazer várias chamadas para o Tradutor. No entanto, se o seu programa fizer solicitações ao Tradutor durante um longo período de tempo, o programa deverá solicitar um novo token de acesso em intervalos regulares (por exemplo, a cada 8 minutos).
Autenticação com ID do Microsoft Entra
O Translator v3.0 suporta a autenticação Microsoft Entra, a solução de gerenciamento de identidade e acesso baseada em nuvem da Microsoft. Os cabeçalhos de autorização permitem que o serviço Tradutor valide se o cliente solicitante está autorizado a usar o recurso e a concluir a solicitação.
Pré-requisitos
Uma breve compreensão de como autenticar com o Microsoft Entra ID.
Uma breve compreensão de como autorizar o acesso a identidades gerenciadas.
Cabeçalhos
Cabeçalho | Valor |
---|---|
Autorização | O valor é um token de portador de acesso gerado pelo Azure AD.
|
OCP-Apim-Assinatura-Região | O valor é a região do recurso do tradutor.
|
Ocp-Apim-ResourceId | O valor é o ID do recurso para sua instância de recurso do Translator.
|
Página de propriedades do tradutor — portal do Azure
Importante
Atribua a função de Usuário dos Serviços Cognitivos à entidade de serviço. Ao atribuir essa função, você concede acesso da entidade de serviço ao recurso Tradutor.
Exemplos
Usando o endpoint global
// Using headers, pass a bearer token generated by Azure AD, resource ID, and the region.
curl -X POST "https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&to=es" \
-H "Authorization: Bearer <Base64-access_token>"\
-H "Ocp-Apim-ResourceId: <Resource ID>" \
-H "Ocp-Apim-Subscription-Region: <your-region>" \
-H "Content-Type: application/json" \
-data-raw "[{'Text':'Hello, friend.'}]"
Usando seu ponto de extremidade personalizado
// Using headers, pass a bearer token generated by Azure AD.
curl -X POST https://<your-custom-domain>.cognitiveservices.azure.com/translator/text/v3.0/translate?api-version=3.0&to=es \
-H "Authorization: Bearer <Base64-access_token>"\
-H "Content-Type: application/json" \
-data-raw "[{'Text':'Hello, friend.'}]"
Exemplos usando identidades gerenciadas
O Translator v3.0 também suporta a autorização de acesso a identidades gerenciadas. Se uma identidade gerenciada estiver habilitada para um recurso de tradutor, você poderá passar o token de portador gerado pela identidade gerenciada no cabeçalho da solicitação.
Com o endpoint global
// Using headers, pass a bearer token generated either by Azure AD or Managed Identities, resource ID, and the region.
curl -X POST https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&to=es \
-H "Authorization: Bearer <Base64-access_token>"\
-H "Ocp-Apim-ResourceId: <Resource ID>" \
-H "Ocp-Apim-Subscription-Region: <your-region>" \
-H "Content-Type: application/json" \
-data-raw "[{'Text':'Hello, friend.'}]"
Com o seu ponto de extremidade personalizado
//Using headers, pass a bearer token generated by Managed Identities.
curl -X POST https://<your-custom-domain>.cognitiveservices.azure.com/translator/text/v3.0/translate?api-version=3.0&to=es \
-H "Authorization: Bearer <Base64-access_token>"\
-H "Content-Type: application/json" \
-data-raw "[{'Text':'Hello, friend.'}]"
Suporte de Rede Virtual
O serviço Tradutor agora está disponível com recursos de Rede Virtual (VNET) em todas as regiões da nuvem pública do Azure. Para habilitar a Rede Virtual, consulte Configurando redes virtuais de serviços de IA do Azure.
Depois de ativar esse recurso, você deve usar o ponto de extremidade personalizado para chamar o Tradutor. Não é possível usar o ponto de extremidade do tradutor global ("api.cognitive.microsofttranslator.com") e não é possível autenticar com um token de acesso.
Você pode encontrar o ponto de extremidade personalizado depois de criar um recurso de tradutor e permitir o acesso de redes selecionadas e pontos de extremidade privados.
Navegue até o recurso Tradutor no portal do Azure.
Selecione Rede na seção Gerenciamento de Recursos.
Na guia Firewalls e redes virtuais, escolha Redes selecionadas e pontos de extremidade privados.
Selecione Guardar para aplicar as alterações.
Selecione Chaves e Ponto Final na seção Gerenciamento de Recursos.
Selecione a guia Rede Virtual.
Estão listados os pontos finais para Tradução de Texto e Tradução de Documentos.
Cabeçalhos | Description |
---|---|
Ocp-Apim-Subscription-Key | O valor é a chave secreta do Azure para sua assinatura do Translator. |
OCP-Apim-Assinatura-Região | O valor é a região do recurso do tradutor. Este valor é opcional se o recurso for global |
Aqui está um exemplo de solicitação para chamar o Translator usando o ponto de extremidade personalizado
// Pass secret key and region using headers
curl -X POST "https://<your-custom-domain>.cognitiveservices.azure.com/translator/text/v3.0/translate?api-version=3.0&to=es" \
-H "Ocp-Apim-Subscription-Key:<your-key>" \
-H "Ocp-Apim-Subscription-Region:<your-region>" \
-H "Content-Type: application/json" \
-d "[{'Text':'Hello, what is your name?'}]"
Erros
Uma resposta de erro padrão é um objeto JSON com o par nome/valor chamado error
. O valor também é um objeto JSON com propriedades:
code
: Um código de erro definido pelo servidor.message
: Uma cadeia de caracteres que dá uma representação legível por humanos do erro.
Por exemplo, um cliente com uma assinatura de avaliação gratuita receberá o seguinte erro quando a cota gratuita se esgotar:
{
"error": {
"code":403001,
"message":"The operation isn't allowed because the subscription has exceeded its free quota."
}
}
O código de erro é um número de 6 dígitos que combina o código de status HTTP de 3 dígitos seguido por um número de 3 dígitos para categorizar ainda mais o erro. Os códigos de erro comuns são:
Código | Description |
---|---|
400000 | Uma das entradas do pedido não é válida. |
400001 | O parâmetro "scope" é inválido. |
400002 | O parâmetro "category" é inválido. |
400003 | Um especificador de idioma está em falta ou é inválido. |
400004 | Um especificador de script de destino ("Script de destino") está em falta ou é inválido. |
400005 | Falta um texto de entrada ou é inválido. |
400006 | A combinação de idioma e script não é válida. |
400018 | Um especificador de script de origem ("Script de origem") está em falta ou é inválido. |
400019 | Uma dos idiomas especificados não é suportado. |
400020 | Um dos elementos na matriz do texto de entrada não é válido. |
400021 | O parâmetro da versão da API está em falta ou é inválido. |
400023 | Um dos pares de idiomas especificados não é válido. |
400035 | O idioma origem (campo "De") não é válido. |
400036 | A idioma de destino (campo "Para") está em falta ou é inválido. |
400042 | Uma das opções especificadas (campo "Opções") não é válida. |
400043 | O ID de rastreamento do cliente (campo ClientTraceId ou cabeçalho X-ClientTraceId) está ausente ou é inválido. |
400050 | O texto de entrada é demasiado longo. Veja os limites dos pedidos. |
400064 | O parâmetro "translation" está em falta ou é inválido. |
400070 | O número de scripts de destino (parâmetro ToScript) não corresponde ao número de idiomas de destino (parâmetro To). |
400071 | O valor não é válido para TextType. |
400072 | A matriz do texto de entrada tem demasiados elementos. |
400073 | O parâmetro script não é válido. |
400074 | O corpo do pedido não é um JSON válido. |
400075 | O par de idiomas e a combinação de categorias não são válidos. |
400077 | O tamanho máximo do pedido foi excedido. Veja os limites dos pedidos. |
400079 | O sistema personalizado pedido para tradução do idiomas de origem e destino não existe. |
400080 | A transliteração não é suportada para o idioma ou o script. |
401000 | A solicitação não é autorizada porque as credenciais estão ausentes ou são inválidas. |
401015 | "As credenciais fornecidas são para a API de fala. Esta solicitação requer credenciais para a API de texto. Use uma assinatura do Translator." |
403000 | A operação não é permitida. |
403001 | A operação não é permitida porque a assinatura excedeu sua cota gratuita. |
405000 | O método de solicitação não é suportado para o recurso solicitado. |
408001 | O sistema de tradução pedido está a ser preparado. Tente novamente dentro de alguns minutos. |
408002 | O pedido excedeu o tempo limite ao aguardar no fluxo de dados de entrada. O cliente não produziu um pedido dentro do tempo em que o servidor estava preparado para aguardar. O cliente pode repetir o pedido sem modificações em qualquer momento posterior. |
415000 | O cabeçalho Content-Type está ausente ou é inválido. |
429000, 429001, 429002 | O servidor rejeitou a solicitação porque o cliente excedeu os limites de solicitação. |
500000 | Erro inesperado. Se o erro persistir, informe-o com data/hora do erro, identificador de solicitação do cabeçalho de resposta X-RequestId e identificador de cliente do cabeçalho de solicitação X-ClientTraceId. |
503000 | O serviço está temporariamente indisponível. Tente novamente. Se o erro persistir, informe-o com data/hora do erro, identificador de solicitação do cabeçalho de resposta X-RequestId e identificador de cliente do cabeçalho de solicitação X-ClientTraceId. |
Métricas
As métricas permitem que você exiba as informações de uso e disponibilidade do tradutor no portal do Azure, na seção de métricas, conforme mostrado na captura de tela abaixo. Para obter mais informações, consulte Métricas de dados e plataforma.
Esta tabela lista as métricas disponíveis com a descrição de como elas são usadas para monitorar chamadas de API de tradução.
Métricas do | Description |
---|---|
TotalCalls | Número total de chamadas de API. |
TotalTokenCalls | Número total de chamadas de API via serviço de token usando token de autenticação. |
Chamadas bem-sucedidas | Número de chamadas bem-sucedidas. |
TotalErrors | Número de chamadas com resposta de erro. |
Chamadas bloqueadas | Número de chamadas que excederam o limite de tarifa ou quota. |
Erros de servidor | Número de chamadas com erro interno do servidor (5XX). |
ClientErrors | Número de chamadas com erro do lado do cliente(4XX). |
Latência | Duração para concluir a solicitação em milissegundos. |
CaracteresTraduzido | Número total de caracteres na solicitação de texto de entrada. |