Share via


Introdução à tradução de documento assíncrona

A Tradução de Documentos é um recurso baseado em nuvem do serviço Tradutor de Ia do Azure que traduz documentos inteiros de forma assíncrona nos idiomas com suporte e vários formatos de arquivo. Neste início rápido, você aprende a usar a Tradução de Documento com uma linguagem de programação de sua escolha para traduzir um documento de origem em um idioma de destino, preservando a estrutura e a formatação de texto.

Pré-requisitos

Importante

  • Atualmente, os SDKs de Tradução de Documentos Java e JavaScript estão disponíveis em versão preliminar pública. Recursos, abordagens e processos podem ser alterados, antes da versão de disponibilidade geral (GA), com base nos comentários do usuário.

  • Os SDKs do C# e do Python são versões de disponibilidade geral (GA) prontas para uso em seus aplicativos de produção

  • No entanto, atualmente, a Tradução de Documento tem suporte apenas no recurso do Tradutor (serviço único) e não está incluída no recurso dos serviços de IA do Azure (vários serviços).

  • A Tradução de Documentos com suporte no plano de serviço Standard S1 (pago conforme o uso) ou no plano de desconto por volume D3. Confira Preços dos serviços de IA do Azure – Tradutor.

Para começar, você precisa do seguinte:

  • Uma conta do Azure ativa. Se você não tiver uma, poderá criar uma conta gratuita

  • Uma conta de Armazenamento de Blobs do Azure. Você precisará criar contêineres na sua conta de armazenamento de blobs do Azure para os arquivos de origem e destino:

    • Contêiner de origem. Esse contêiner é onde você carrega os arquivos para tradução (obrigatório).
    • Contêiner de destino. Esse contêiner é o local em que os arquivos traduzidos são armazenados (obrigatório).
  • Um recurso de Tradução de serviço único (não um recurso de vários serviços dos serviços de IA do Azure):

    Preencha os campos Tradutor detalhes do projeto e da instância da seguinte forma:

    1. Assinatura. Selecione uma das suas assinaturas do Azure disponíveis.

    2. Grupo de Recursos. Você pode criar um grupo de recursos ou adicionar o recurso a um grupo de recursos existente que compartilhe o mesmo ciclo de vida e as mesmas permissões e políticas.

    3. Região do recurso. Escolha Global, a menos que seu negócio ou aplicativo exija uma região específica. Se você estiver planejando usar uma identidade gerenciada atribuída pelo sistema para autenticação, escolha uma região geográfica como Oeste dos EUA.

    4. Nome.. Insira o nome escolhido para o recurso. O nome escolhido deve ser exclusivo dentro do Azure.

      Observação

      A Tradução de Documentos requer um ponto de extremidade de domínio personalizado. O valor que você inserir no campo Nome será o parâmetro de nome de domínio personalizado para o ponto de extremidade.

    5. Tipo de preço. Não há suporte para a Tradução de Documentos na camada gratuita. Selecione Standard S1 para experimentar o serviço.

    6. Selecione Examinar + criar.

    7. Examine os termos de serviço e selecione Criar para implantar o seu recurso.

    8. Depois que o recurso for implantado com êxito, selecione Ir para o recurso.

Recuperar sua chave e ponto de extremidade de tradução de documento

As solicitações para o serviço de Tradução exigem uma chave somente leitura e um ponto de extremidade personalizado para autenticar o acesso. O ponto de extremidade do domínio personalizado é uma URL formatada com o nome do recurso, nome do host e os subdiretórios de Tradução e está disponível no portal do Azure.

  1. Se você tiver criado um novo recurso, depois que ele for implantado, selecione Ir para o recurso. Se você tiver um recurso de Tradução de Documento existente, navegue diretamente para a página de recursos.

  2. No trilho à esquerda, em Gerenciamento de Recursos, selecione Chaves e Ponto de Extremidade.

  3. Você pode copiar e colar seus key e document translation endpoint nos exemplos de código para autenticar sua solicitação ao serviço de Tradução de Documentos. Apenas uma chave é necessária para fazer uma chamada à API.

    Screenshot showing the get your key field in Azure portal.

Criar contêineres de armazenamento de blobs do Azure

Você precisa criar contêineres na sua conta de armazenamento de blobs do Azure para os arquivos de origem e destino.

  • Contêiner de origem. Esse contêiner é onde você carrega os arquivos para tradução (obrigatório).
  • Contêiner de destino. Esse contêiner é o local em que os arquivos traduzidos são armazenados (obrigatório).

Autenticação necessária

O contêineres sourceUrl, targetUrl e glossaryUrl opcional devem incluir um token de SAS (Assinatura de Acesso Compartilhado), anexado como uma cadeia de caracteres de consulta. O token pode ser atribuído ao contêiner ou a blobs específicos. ConfiraCriar tokens SAS para o processo de Tradução de Documento.

  • O contêiner ou o blob de origem deve ter acesso de leitura e lista designado.
  • O contêiner ou blob de destino deve ter acesso de gravação e lista designados.
  • O blob do glossário deve designar o acesso de leitura e lista.

Dica

  • Se você estiver traduzindo vários arquivos (blobs) em uma operação, delegue acesso SAS no nível do contêiner.
  • Se você estiver traduzindo um único arquivo (blob) em uma operação, delegue acesso SAS no nível do blob.
  • Como alternativa aos tokens SAS, você pode usar uma identidade gerenciada atribuída pelo sistema para autenticação.

Exemplo de documento

Neste projeto, você precisa de um documento de origem carregado no contêiner de origem. Você pode baixar nosso documento de exemplo de tradução de documento para este início rápido. O idioma de origem é o inglês.

Configurar seu ambiente C#/.NET

Neste início rápido, usamos a versão mais recente do IDE do Visual Studio para compilar e executar o aplicativo.

  1. Inicie o Visual Studio.

  2. Na página Introdução, escolha Criar um projeto.

    Screenshot of Visual Studio 2022 get started window.

  3. Na página Criar um projeto, insira console na caixa de pesquisa. Escolha o modelo Aplicativo de Console e selecione Avançar.

    Screenshot of Visual Studio 2022 create new project page.

  4. Na janela do diálogo Configurar seu novo projeto, insira document-translation-qs na caixa Nome do projeto. Em seguida, escolha Avançar.

    Screenshot of Visual Studio 2022 configure new project set-up window.

  5. Na janela de diálogo Informações adicionais, selecione .NET 6.0 (Suporte de longo prazo) e escolha Criar.

    Screenshot of Visual Studio 2022 additional information set-up window.

Instalar o Newtonsoft.Json

  1. Clique com o botão direito do mouse no projeto document-translation-qs e selecione Gerenciar Pacotes NuGet….

    Screenshot of select NuGet package window in Visual Studio.

  2. Selecione a guia Procurar e digite NewtonsoftJson.

    Screenshot of select prerelease NuGet package in Visual Studio.

  3. Selecione a versão estável mais recente no menu suspenso e instale o pacote no projeto.

    Screenshot of install selected NuGet package window.

Traduzir todos os documentos em um contêiner de armazenamento

Observação

  • A partir do .NET 6, os novos projetos que usam o modelo console geram um novo estilo de programa diferente das versões anteriores.
  • A nova saída usa recursos recentes do C# que simplificam a codificação.
  • Ao usar a versão mais recente, você só precisa escrever o corpo do método Main. Você não precisa incluir instruções de nível superior, diretivas de uso globais nem diretivas de uso implícitas.
  • Para obter mais informações, consulte Novos modelos C# geram instruções de nível superior.
  1. Abra o arquivo Program.cs.

  2. Exclua o código preexistente, incluindo a linha Console.WriteLine("Hello World!").

  3. Copiar e colar o código de exemplo da tradução de documento no arquivo Program.cs.

    • Atualizar {your-document-translation-endpoint} e {your-key} com valores de sua instância de Tradução do portal do Azure.

    • Atualizar {your-source-container-SAS-URL} e {your-target-container-SAS-URL} com valores de sua instância de contêineres da conta de armazenamento do portal do Azure.

Exemplo de código

Importante

Lembre-se de remover a chave do seu código quando terminar e nunca poste-a publicamente. Para produção, use uma maneira segura de armazenar e acessar suas credenciais, como o Azure Key Vault. Para obter mais informações, consulte a segurança dos serviços de IA do Azure.

using System.Text;

class Program
{
    private static readonly string endpoint = "{your-document-translator-endpoint}/translator/text/batch/v1.1";

    private static readonly string key = "{your-key}";

    static readonly string route = "/batches";
    static readonly string sourceURL = "\" {your-source-container-SAS-URL}\"";
    static readonly string targetURL = " \"{your-target-container-SAS-URL}\"";


    static readonly string json = ("{\"inputs\": [{\"source\": {\"sourceUrl\":"+sourceURL+" ,\"storageSource\": \"AzureBlob\",\"language\": \"en\"}, \"targets\": [{\"targetUrl\":"+targetURL+",\"storageSource\": \"AzureBlob\",\"category\": \"general\",\"language\": \"es\"}]}]}");

    static async Task Main(string[] args)
    {
        using HttpClient client = new HttpClient();
        using HttpRequestMessage request = new HttpRequestMessage();
        {

            StringContent content = new StringContent(json, Encoding.UTF8, "application/json");

            request.Method = HttpMethod.Post;
            request.RequestUri = new Uri(endpoint + route);
            request.Headers.Add("Ocp-Apim-Subscription-Key", key);
            request.Content = content;

            HttpResponseMessage response = await client.SendAsync(request);
            string result = response.Content.ReadAsStringAsync().Result;
            if (response.IsSuccessStatusCode)
            {
                Console.WriteLine($"Status code: {response.StatusCode}");
                Console.WriteLine();
                Console.WriteLine($"Response Headers:");
                Console.WriteLine(response.Headers);
            }
            else
                Console.Write("Error");

        }

    }

}

Execute seu aplicativo.

Depois de adicionar um exemplo de código ao seu aplicativo, escolha o botão verde Iniciar próximo de document-translation-qs para compilar e executar seu programa ou pressione F5.

Screenshot: run your Visual Studio program.

Após a conclusão bem-sucedida:

  • Os documentos traduzidos podem ser encontrados no seu contêiner de destino.
  • O método POST bem-sucedido retorna um código de resposta 202 Accepted indicando que o serviço criou a solicitação em lote.
  • A solicitação POST também retorna cabeçalhos de resposta, incluindo Operation-Location que fornece um valor usado em solicitações GET subsequentes.

Configurar o ambiente do Go

Você pode usar qualquer editor de texto para escrever aplicativos do Go. Recomendamos usar a última versão do Visual Studio Code e a extensão Go.

Dica

Caso não esteja familiarizado com o Go, experimente o módulo Introdução ao Go do Learn.

Caso não tenha feito isso ainda, baixe e instale o Go.

  1. Baixe a versão do Go para seu sistema operacional.

  2. Quando o download for concluído, execute o instalador.

  3. Abra um prompt de comando e insira o seguinte para confirmar se o Go foi instalado:

    go version
    

Traduzir todos os documentos em um contêiner de armazenamento

  1. Em uma janela de console (como o cmd, o PowerShell ou o Bash), crie um diretório chamado document-translation-qs para seu aplicativo e navegue até ele.

  2. Crie um novo arquivo Go chamado document-translation.go no diretório document-translation-qs.

  3. Copiar e colar o código de exemplo da tradução de documento no arquivo document-translation.go.

    • Atualizar {your-document-translation-endpoint} e {your-key} com valores de sua instância de Tradução do portal do Azure.

    • Atualizar {your-source-container-SAS-URL} e {your-target-container-SAS-URL} com valores de sua instância de contêineres da conta de armazenamento do portal do Azure.

Exemplo de código

Importante

Lembre-se de remover a chave do seu código quando terminar e nunca poste-a publicamente. Para produção, use uma maneira segura de armazenar e acessar suas credenciais, como o Azure Key Vault. Para obter mais informações, consulte a segurança dos serviços de IA do Azure.

package main

import (
  "bytes"
  "encoding/json"
  "fmt"
  "net/http"
)

func main() {

    httpposturl := "{your-document-translation-endpoint}/translator/text/batch/v1.1/batches"
    fmt.Println("Response", httpposturl)

    var jsonData = []byte(`{
        "inputs": [
            {
                "source": {
                    "sourceUrl": "{your-source-container-SAS-URL}"
                },
                "targets": [
                    {
                        "{your-target-container-SAS-URL}",
                        "language": "fr"
                    }
                ]
            }
        ]
    }`)

    request, error := http.NewRequest("POST", httpposturl, bytes.NewBuffer(jsonData))
    request.Header.Set("Content-Type", "application/json")
    request.Header.Set("Ocp-Apim-Subscription-Key", "{your-key}")

    client := &http.Client{}
    response, error := client.Do(request)
    if error != nil {
        panic(error)
    }
    defer response.Body.Close()

    fmt.Println("response Status:", response.Status)
    var printHeader = (response.Header)
    prettyJSON, _ := json.MarshalIndent(printHeader, "", "  ")
    fmt.Printf("%s\n", prettyJSON)
}

Executar seu aplicativo Go

Depois que você adicionar um exemplo de código ao seu aplicativo, o programa Go poderá ser executado em um prompt de comando ou de terminal. Verifique se o caminho do prompt está definido para a pasta document-translation-qs e use o seguinte comando:

go run document-translation.go

Após a conclusão bem-sucedida:

  • Os documentos traduzidos podem ser encontrados no seu contêiner de destino.
  • O método POST bem-sucedido retorna um código de resposta 202 Accepted indicando que o serviço criou a solicitação em lote.
  • A solicitação POST também retorna cabeçalhos de resposta, incluindo Operation-Location que fornece um valor usado em solicitações GET subsequentes.

Configurar o ambiente do Java

Neste início rápido, usamos a ferramenta de automação de build do Gradle para criar e executar o aplicativo.

  • Você deve ter a última versão do Visual Studio Code ou do seu IDE preferido. ConsulteJava no Visual Studio Code.

    Dica

    • Visual Studio Code oferece um Pacote de Codificação para Java para Windows e macOS. O pacote de codificação é um pacote de VS Code, o JDK (Java Development Kit) e uma coleção de extensões sugeridas pela Microsoft. O Pacote de Codificação também pode ser usado para corrigir um ambiente de desenvolvimento existente.
    • Se você estiver usando VS Code e o Pacote de Codificação para Java, instale a extensão Gradle para Java.
  • Se não estiver usando Visual Studio Code, você deverá ter o seguinte instalado em seu ambiente de desenvolvimento:

Criar um novo projeto Gradle

  1. Na janela de console (como o cmd, o PowerShell ou o Bash), crie um diretório chamado document-translation para seu aplicativo e navegue até ele.

    mkdir document-translation && document-translation
    
    mkdir document-translation; cd document-translation
    
  2. Execute o comando gradle init no diretório document-translation. Esse comando cria arquivos de build essenciais para o Gradle, incluindo o build.gradle.kts, que é usado no runtime para criar e configurar seu aplicativo.

    gradle init --type basic
    
  3. Quando solicitado a escolher uma DSL, escolha Kotlin.

  4. Aceite o nome do projeto padrão (document-translation) selecionando RETORNAR ou ENTER.

    Observação

    Pode levar alguns minutos para que todo o aplicativo seja criado, mas em breve serão exibidas várias pastas e arquivos, incluindo build-gradle.kts.

  5. Atualize build.gradle.kts com o seguinte código:

plugins {
  java
  application
}
application {
  mainClass.set("DocumentTranslation")
}
repositories {
  mavenCentral()
}
dependencies {
  implementation("com.squareup.okhttp3:okhttp:4.10.0")
  implementation("com.google.code.gson:gson:2.9.0")
}

Traduzir todos os documentos em um contêiner de armazenamento

  1. Do diretório document-translation, execute o comando a seguir:

    mkdir -p src/main/java
    

    O comando cria a seguinte estrutura de diretório:

    Screenshot: Java directory structure.

  2. Navegue até o diretório do java e crie um arquivo chamado DocumentTranslation.java.

    Dica

    • Você pode criar um arquivo usando o PowerShell.

    • Abra uma janela do PowerShell no diretório do projeto mantendo a tecla Shift e clicando com o botão direito do mouse na pasta.

    • Insira o seguinte comando New-Item DocumentTranslation.java.

    • Crie também um arquivo no IDE chamado DocumentTranslation.java e salve-o no diretório java.

  3. Copiar e colar o código de exemplo da tradução de documento no arquivo DocumentTranslation.java.

    • Atualizar {your-document-translation-endpoint} e {your-key} com valores de sua instância de Tradução do portal do Azure.

    • Atualizar {your-source-container-SAS-URL} e {your-target-container-SAS-URL} com valores de sua instância de contêineres da conta de armazenamento do portal do Azure.

Exemplo de código

Importante

Lembre-se de remover a chave do seu código quando terminar e nunca poste-a publicamente. Para produção, use uma maneira segura de armazenar e acessar suas credenciais, como o Azure Key Vault. Para obter mais informações, consulte a segurança dos serviços de IA do Azure.

import java.io.*;
import java.net.*;
import java.util.*;
import okhttp3.*;

public class DocumentTranslation {
    String key = "{your-key}";

    String endpoint = "{your-document-translation-endpoint}/translator/text/batch/v1.1";

    String path = endpoint + "/batches";

    String sourceSASUrl = "{your-source-container-SAS-URL}";

    String targetSASUrl = "{your-target-container-SAS-URL}";

    String jsonInputString = (String.format("{\"inputs\":[{\"source\":{\"sourceUrl\":\"%s\"},\"targets\":[{\"targetUrl\":\"%s\",\"language\":\"fr\"}]}]}", sourceSASUrl, targetSASUrl));

    OkHttpClient client = new OkHttpClient();

    public void post() throws IOException {
        MediaType mediaType = MediaType.parse("application/json");
        RequestBody body = RequestBody.create(mediaType,  jsonInputString);
        Request request = new Request.Builder()
                .url(path).post(body)
                .addHeader("Ocp-Apim-Subscription-Key", key)
                .addHeader("Content-type", "application/json")
                .build();
        Response response = client.newCall(request).execute();
        System.out.println(response.code());
        System.out.println(response.headers());
    }

  public static void main(String[] args) {
        try {
            DocumentTranslation sampleRequest = new DocumentTranslation();
            sampleRequest.post();
        } catch (Exception e) {
            System.out.println(e);
        }
    }
}

Compilar e executar seu aplicativo do Java

  • Depois de adicionar um exemplo de código ao aplicativo, volte ao diretório principal do projeto, document-translation, abra uma janela do console e insira os seguintes comandos:

    1. Crie seu aplicativo com o comando build:

      gradle build
      
    2. Execute seu aplicativo com o comando run:

      gradle run
      

Após a conclusão bem-sucedida:

  • Os documentos traduzidos podem ser encontrados no seu contêiner de destino.
  • O método POST bem-sucedido retorna um código de resposta 202 Accepted indicando que o serviço criou a solicitação em lote.
  • A solicitação POST também retorna cabeçalhos de resposta, incluindo Operation-Location que fornece um valor usado em solicitações GET subsequentes.

Configurar o ambiente Node.js

Neste início rápido, usamos o ambiente de runtime do JavaScript do Node.js para criar e executar o aplicativo.

  1. Caso ainda não tenha feito isso, instale a última versão do Node.js. O npm (Node Package Manager) está incluído na instalação do Node.js.

    Dica

    Caso não esteja familiarizado com o Node.js, experimente o módulo Introdução ao Node.js do Learn.

  2. Em uma janela de console (como o cmd, o PowerShell ou o Bash), crie um diretório chamado document-translation para seu aplicativo e navegue até ele.

    mkdir document-translation && cd document-translation
    
    mkdir document-translation; cd document-translation
    
  3. Execute o comando npm init para inicializar o aplicativo e fazer scaffold do projeto.

    npm init
    
  4. Especifique os atributos do projeto aceitando os prompts apresentados no terminal.

    • Os atributos mais importantes são nome, número de versão e ponto de entrada.
    • É recomendável manter index.js para o nome do ponto de entrada. Descrição, comando de teste, repositório GitHub, palavras-chave, autor e informações de licença são atributos opcionais - eles podem ser ignorados para este projeto.
    • Aceite as sugestões entre parênteses selecionando Retornar ou Enter.
    • Depois que você concluir os prompts, um arquivo package.json será criado no diretório document-translation.
  5. Use o npm para instalar a biblioteca HTTP axios e o pacote uuid no diretório do aplicativo document-translation:

    npm install axios uuid
    

Traduzir todos os documentos em um contêiner de armazenamento

  1. Crie o arquivo index.js no diretório do aplicativo.

    Dica

    • Você pode criar um arquivo usando o PowerShell.

    • Abra uma janela do PowerShell no diretório do projeto mantendo a tecla Shift e clicando com o botão direito do mouse na pasta.

    • Digite o seguinte comando: New-Item index.js.

    • Crie também um arquivo chamado index.js no IDE e salve-o no diretório document-translation.

  2. Copiar e colar o código de exemplo da tradução de documento no arquivo index.js.

    • Atualizar {your-document-translation-endpoint} e {your-key} com valores de sua instância de Tradução do portal do Azure.

    • Atualizar {your-source-container-SAS-URL} e {your-target-container-SAS-URL} com valores de sua instância de contêineres da conta de armazenamento do portal do Azure.

Exemplo de código

Importante

Lembre-se de remover a chave do seu código quando terminar e nunca poste-a publicamente. Para produção, use uma maneira segura de armazenar e acessar suas credenciais, como o Azure Key Vault. Para obter mais informações, consulte a segurança dos serviços de IA do Azure.

const axios = require('axios').default;

let endpoint = '{your-document-translation-endpoint}/translator/text/batch/v1.1';
let route = '/batches';
let key = '{your-key}';
let sourceSASUrl = "{your-source-container-SAS-URL}";
let targetSASUrl = "{your-target-container-SAS-URL}"

let data = JSON.stringify({"inputs": [
  {
      "source": {
          "sourceUrl": sourceSASUrl,
          "storageSource": "AzureBlob",
          "language": "en"
      },
      "targets": [
          {
              "targetUrl": targetSASUrl,
              "storageSource": "AzureBlob",
              "category": "general",
              "language": "es"}]}]});

let config = {
  method: 'post',
  baseURL: endpoint,
  url: route,
  headers: {
    'Ocp-Apim-Subscription-Key': key,
    'Content-Type': 'application/json'
  },
  data: data
};

axios(config)
.then(function (response) {
  let result = { statusText: response.statusText, statusCode: response.status, headers: response.headers };
  console.log()
  console.log(JSON.stringify(result, null, 2));
})
.catch(function (error) {
  console.log(error);
});

Executar seu aplicativo JavaScript

Depois de adicionar um exemplo de código ao aplicativo, execute o programa:

  1. Procure o diretório do aplicativo (document-translation).

  2. Insira e execute o comando a seguir no seu terminal:

    node index.js
    

Após a conclusão bem-sucedida:

  • Os documentos traduzidos podem ser encontrados no seu contêiner de destino.
  • O método POST bem-sucedido retorna um código de resposta 202 Accepted indicando que o serviço criou a solicitação em lote.
  • A solicitação POST também retorna cabeçalhos de resposta, incluindo Operation-Location que fornece um valor usado em solicitações GET subsequentes.

Configurar seu projeto Python

  1. Caso ainda não tenha feito isso, instale a última versão do Python 3.x. O pip (pacote do instalador do Python) está incluído na instalação do Python.

    Dica

    Caso não esteja familiarizado com o Python, experimente o módulo Introdução ao Python do Learn.

  2. Abra uma janela do terminal e use o pip para instalar a biblioteca Requests e o pacote uuid0:

    pip install requests uuid
    

Traduzir todos os documentos em um contêiner de armazenamento

  1. Usando seu editor ou IDE favorito, crie um novo diretório para seu aplicativo chamado document-translation.

  2. Crie um novo arquivo Python chamado document-translation.py no diretório document-translation.

  3. Copiar e colar o código de exemplo da tradução de documento no arquivo document-translation.py.

    • Atualizar {your-document-translation-endpoint} e {your-key} com valores de sua instância de Tradução do portal do Azure.

    • Atualizar {your-source-container-SAS-URL} e {your-target-container-SAS-URL} com valores de sua instância de contêineres da conta de armazenamento do portal do Azure.

Exemplo de código

Importante

Lembre-se de remover a chave do seu código quando terminar e nunca poste-a publicamente. Para produção, use uma maneira segura de armazenar e acessar suas credenciais, como o Azure Key Vault. Para obter mais informações, consulte a segurança dos serviços de IA do Azure.

import requests

endpoint = '{your-document-translation-endpoint}'
key =  '{your-key}'
path = 'translator/text/batch/v1.1/batches'
constructed_url = endpoint + path

sourceSASUrl = '{your-source-container-SAS-URL}'

targetSASUrl = '{your-target-container-SAS-URL}'

body= {
    "inputs": [
        {
            "source": {
                "sourceUrl": sourceSASUrl,
                "storageSource": "AzureBlob",
                "language": "en"
            },
            "targets": [
                {
                    "targetUrl": targetSASUrl,
                    "storageSource": "AzureBlob",
                    "category": "general",
                    "language": "es"
                }
            ]
        }
    ]
}
headers = {
  'Ocp-Apim-Subscription-Key': key,
  'Content-Type': 'application/json',
}

response = requests.post(constructed_url, headers=headers, json=body)
response_headers = response.headers

print(f'response status code: {response.status_code}\nresponse status: {response.reason}\n\nresponse headers:\n')

for key, value in response_headers.items():
    print(key, ":", value)

Executar seu aplicativo Python

Depois de adicionar um código de exemplo ao aplicativo, compile e execute o programa:

  1. Navegue até o diretório document-translation.

  2. Insira e execute o comando a seguir no console:

    python document-translation.py
    

Após a conclusão bem-sucedida:

  • Os documentos traduzidos podem ser encontrados no seu contêiner de destino.
  • O método POST bem-sucedido retorna um código de resposta 202 Accepted indicando que o serviço criou a solicitação em lote.
  • A solicitação POST também retorna cabeçalhos de resposta, incluindo Operation-Location que fornece um valor usado em solicitações GET subsequentes.

Configure seu ambiente de programação

Neste início rápido, usamos a ferramenta de linha de comando cURL para fazer chamadas à API REST de Tradução de Documentos.

Observação

O pacote cURL é pré-instalado na maioria dos Windows 10 e Windows 11 e na maioria das distribuições macOS e Linux. Você pode verificar a versão do pacote com os seguintes comandos: Windows: curl.exe -V. macOS curl -V Linux: curl --version

Se o cURL não estiver instalado, aqui estão os links para sua plataforma:

Traduzir documentos (solicitação POST)

  1. Usando seu editor ou IDE favorito, crie um novo diretório para seu aplicativo chamado document-translation.

  2. Crie um novo arquivo JSON chamado document-translation.json no diretório document-translation.

  3. Copiar e colar a solicitação de exemplo da tradução de documento no arquivo document-translation.json. Substituir {your-source-container-SAS-URL} e {your-target-container-SAS-URL} pelos valores de sua instância de contêineres da conta de armazenamento do portal do Azure.

    Exemplo de solicitação:

    {
      "inputs":[
        {
          "source":{
            "sourceUrl":"{your-source-container-SAS-URL}"
          },
          "targets":[
            {
              "targetUrl":"{your-target-container-SAS-URL}",
              "language":"fr"
            }
          ]
        }
      ]
    }
    

Compilar e executar a solicitação POST

Antes de executar a solicitação POST, substitua {your-document-translator-endpoint} e {your-key} pelos valores da instância do Tradutor do portal do Microsoft Azure.

Importante

Lembre-se de remover a chave do seu código quando terminar e nunca poste-a publicamente. Para produção, use uma maneira segura de armazenar e acessar suas credenciais, como o Azure Key Vault. Para obter mais informações, consulte a segurança dos serviços de IA do Azure.

PowerShell

cmd /c curl "{your-document-translator-endpoint}/translator/text/batch/v1.1/batches" -i -X POST --header "Content-Type: application/json" --header "Ocp-Apim-Subscription-Key: {your-key}" --data "@document-translation.json"

Terminal/prompt de comando

curl "{your-document-translator-endpoint}/translator/text/batch/v1.1/batches" -i -X POST --header "Content-Type: application/json" --header "Ocp-Apim-Subscription-Key: {your-key}" --data "@document-translation.json"

Após a conclusão bem-sucedida:

  • Os documentos traduzidos podem ser encontrados no seu contêiner de destino.
  • O método POST bem-sucedido retorna um código de resposta 202 Accepted indicando que o serviço criou a solicitação em lote.
  • A solicitação POST também retorna cabeçalhos de resposta, incluindo Operation-Location que fornece um valor usado em solicitações GET subsequentes.

É isso, parabéns! Neste início rápido, você usou a Tradução de Documentos para traduzir um documento preservando sua estrutura original e o formato de dados.

Próximas etapas