Wprowadzenie do asynchronicznego tłumaczenia dokumentów

Tłumaczenie dokumentów to funkcja oparta na chmurze usługi Azure AI Translator , która asynchronicznie tłumaczy całe dokumenty w obsługiwanych językach i różnych formatach plików. W tym przewodniku Szybki start dowiesz się, jak używać tłumaczenia dokumentów z wybranym językiem programowania, aby przetłumaczyć dokument źródłowy na język docelowy przy zachowaniu struktury i formatowania tekstu.

Wymagania wstępne

Ważne

  • Zestawy SDK tłumaczenia dokumentów Java i JavaScript są obecnie dostępne w publicznej wersji zapoznawczej. Funkcje, podejścia i procesy mogą ulec zmianie przed wydaniem ogólnie dostępnej wersji na podstawie opinii użytkowników.

  • Zestawy SDK języka C# i Python są ogólnie dostępnymi wersjami gotowymi do użycia w aplikacjach produkcyjnych

  • Tłumaczenie dokumentów jest obecnie obsługiwane tylko w zasobie translator (pojedynczej usługi) i nie jest uwzględniane w zasobie usług Azure AI (multi-service).

  • Tłumaczenie dokumentów jest obsługiwane tylko w planie S1 Standard Service (płatność zgodnie z rzeczywistym użyciem) lub w planie rabatu zbiorczego D3. ZobaczCennik usług Azure AI — Translator.

Aby rozpocząć pracę, potrzebne będą następujące elementy:

  • Aktywne konto platformy Azure. Jeśli go nie masz, możesz utworzyć bezpłatne konto

  • Konto usługi Azure Blob Storage. Musisz również utworzyć kontenery na koncie usługi Azure Blob Storage dla plików źródłowych i docelowych:

    • Kontener źródłowy. Ten kontener służy do przekazywania plików do tłumaczenia (wymagane).
    • Kontener docelowy. W tym kontenerze przechowywane są przetłumaczone pliki (wymagane).
  • Zasób usługi Translator z jedną usługą (a nie zasób usług Azure AI z wieloma usługami):

    Wypełnij pola Szczegóły projektu i wystąpienia usługi Translator w następujący sposób:

    1. Subskrypcja. Wybierz jedną z dostępnych subskrypcji platformy Azure.

    2. Grupa zasobów. Możesz utworzyć nową grupę zasobów lub dodać zasób do istniejącej grupy zasobów, która współudzieli ten sam cykl życia, uprawnienia i zasady.

    3. Region zasobów. Wybierz pozycję Globalny , chyba że Twoja firma lub aplikacja wymaga określonego regionu. Jeśli planujesz uwierzytelnianie przy użyciu tożsamości zarządzanej przypisanej przez system, wybierz region geograficzny, taki jak Zachodnie stany USA.

    4. Name. Wprowadź nazwę wybraną dla zasobu. Wybrana nazwa musi być unikatowa na platformie Azure.

      Uwaga

      Tłumaczenie dokumentów wymaga niestandardowego punktu końcowego domeny. Wartość wprowadzona w polu Nazwa będzie parametrem niestandardowej nazwy domeny dla punktu końcowego.

    5. Warstwa cenowa. Tłumaczenie dokumentów nie jest obsługiwane w warstwie Bezpłatna. Wybierz pozycję Standardowa S1, aby wypróbować usługę.

    6. Wybierz pozycję Przejrzyj i utwórz.

    7. Przejrzyj warunki usługi i wybierz pozycję Utwórz , aby wdrożyć zasób.

    8. Po pomyślnym wdrożeniu zasobu wybierz pozycję Przejdź do zasobu.

Pobieranie klucza i punktu końcowego tłumaczenia dokumentów

Żądania do usługi Translator wymagają klucza tylko do odczytu i niestandardowego punktu końcowego w celu uwierzytelnienia dostępu. Niestandardowy punkt końcowy domeny jest adresem URL sformatowanym przy użyciu nazwy zasobu, nazwy hosta i podkatalogów usługi Translator i jest dostępny w witrynie Azure Portal.

  1. Jeśli utworzono nowy zasób, po jego wdrożeniu wybierz pozycję Przejdź do zasobu. Jeśli masz istniejący zasób tłumaczenia dokumentów, przejdź bezpośrednio do strony zasobu.

  2. W lewej szynie w obszarze Zarządzanie zasobami wybierz pozycję Klucze i punkt końcowy.

  3. Możesz skopiować i wkleić element key i document translation endpoint do przykładów kodu, aby uwierzytelnić żądanie w usłudze tłumaczenia dokumentów. Tylko jeden klucz jest wymagany do wykonania wywołania interfejsu API.

    Screenshot showing the get your key field in Azure portal.

Tworzenie kontenerów usługi Azure Blob Storage

Musisz utworzyć kontenery na koncie usługi Azure Blob Storage dla plików źródłowych i docelowych.

  • Kontener źródłowy. Ten kontener służy do przekazywania plików do tłumaczenia (wymagane).
  • Kontener docelowy. W tym kontenerze przechowywane są przetłumaczone pliki (wymagane).

Wymagane uwierzytelnianie

Element sourceUrl , targetUrl i opcjonalnie glossaryUrl musi zawierać token sygnatury dostępu współdzielonego (SAS) dołączony jako ciąg zapytania. Token można przypisać do kontenera lub określonych obiektów blob. ZobaczCreate SAS tokens for Document Translation process (Tworzenie tokenów SAS na potrzeby procesu tłumaczenia dokumentów).

  • Źródłowy kontener lub obiekt blob musi wyznaczyć dostęp do odczytu i listy.
  • Docelowy kontener lub obiekt blob musi wyznaczyć dostęp do zapisu i listy.
  • Obiekt blob słownika musi wyznaczyć dostęp do odczytu i listy .

Napiwek

  • Jeśli tłumaczysz wiele plików (obiektów blob) w operacji, deleguj dostęp sas na poziomie kontenera.
  • Jeśli tłumaczysz pojedynczy plik (obiekt blob) w operacji, deleguj dostęp sas na poziomie obiektu blob.
  • Alternatywą dla tokenów SAS jest użycie tożsamości zarządzanej przypisanej przez system do uwierzytelniania.

Przykładowy dokument

W tym projekcie potrzebny jest dokument źródłowy przekazany do kontenera źródłowego. Na potrzeby tego przewodnika Szybki start możesz pobrać nasz przykładowy dokument tłumaczenia dokumentów. Język źródłowy to angielski.

Konfigurowanie środowiska C#/.NET

W tym przewodniku Szybki start użyjemy najnowszej wersji środowiska IDE programu Visual Studio do skompilowania i uruchomienia aplikacji.

  1. Uruchom program Visual Studio.

  2. Na stronie Wprowadzenie wybierz pozycję Utwórz nowy projekt.

    Screenshot of Visual Studio 2022 get started window.

  3. Na stronie Tworzenie nowego projektu wprowadź konsolę w polu wyszukiwania. Wybierz szablon Aplikacja konsolowa, a następnie wybierz pozycję Dalej.

    Screenshot of Visual Studio 2022 create new project page.

  4. W oknie dialogowym Konfigurowanie nowego projektu wprowadź document-translation-qs w polu Nazwa projektu. Następnie wybierz pozycję Dalej.

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

  5. W oknie dialogowym Dodatkowe informacje wybierz pozycję .NET 6.0 (obsługa długoterminowa), a następnie wybierz pozycję Utwórz.

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

Instalowanie pakietu Newtonsoft.Json

  1. Kliknij prawym przyciskiem myszy projekt document-translation-qs i wybierz polecenie Zarządzaj pakietami NuGet... .

    Screenshot of select NuGet package window in Visual Studio.

  2. Wybierz kartę Przeglądaj i wpisz NewtonsoftJson.

    Screenshot of select prerelease NuGet package in Visual Studio.

  3. Wybierz najnowszą stabilną wersję z menu rozwijanego i zainstaluj pakiet w projekcie.

    Screenshot of install selected NuGet package window.

Tłumaczenie wszystkich dokumentów w kontenerze magazynu

Uwaga

  • Począwszy od platformy .NET 6, nowe projekty korzystające z console szablonu generują nowy styl programu, który różni się od poprzednich wersji.
  • Nowe dane wyjściowe korzystają z ostatnich funkcji języka C#, które upraszczają pisanie kodu.
  • W przypadku korzystania z nowszej wersji wystarczy napisać treść Main metody. Nie trzeba dołączać instrukcji najwyższego poziomu, globalnych dyrektyw using ani niejawnych dyrektyw using.
  • Aby uzyskać więcej informacji, zobacz Nowe szablony języka C# generują instrukcje najwyższego poziomu.
  1. Otwórz plik Program.cs.

  2. Usuń istniejący kod, w tym wiersz Console.WriteLine("Hello World!").

  3. Skopiuj i wklej przykładowy kod tłumaczenia dokumentów do pliku Program.cs.

    • Zaktualizuj {your-document-translation-endpoint} wartości i {your-key} za pomocą wartości z wystąpienia usługi Translator w witrynie Azure Portal.

    • Zaktualizuj {your-source-container-SAS-URL} wartości i {your-target-container-SAS-URL} za pomocą wartości z wystąpienia kontenerów konta usługi Azure Portal Storage.

Przykładowy kod

Ważne

Pamiętaj, aby usunąć klucz z kodu po zakończeniu i nigdy nie publikować go publicznie. W przypadku środowiska produkcyjnego użyj bezpiecznego sposobu przechowywania i uzyskiwania dostępu do poświadczeń, takich jak usługa Azure Key Vault. Aby uzyskać więcej informacji, zobacz Zabezpieczenia usług Azure AI.

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

        }

    }

}

Uruchamianie aplikacji

Po dodaniu przykładowego kodu do aplikacji wybierz zielony przycisk Start obok pozycji document-translation-qs , aby skompilować i uruchomić program, lub naciśnij klawisz F5.

Screenshot: run your Visual Studio program.

Po pomyślnym zakończeniu:

  • Przetłumaczone dokumenty można znaleźć w kontenerze docelowym.
  • Pomyślna metoda POST zwraca 202 Accepted kod odpowiedzi wskazujący, że usługa utworzyła żądanie wsadowe.
  • Żądanie POST zwraca również nagłówki odpowiedzi, w tym Operation-Location wartości używane w kolejnych żądaniach GET.

Konfigurowanie środowiska języka Go

Do pisania aplikacji języka Go można użyć dowolnego edytora tekstów. Zalecamy używanie najnowszej wersji programu Visual Studio Code i rozszerzenia Go.

Napiwek

Jeśli dopiero zaczynasz korzystać z języka Go, wypróbuj moduł Wprowadzenie do usługi Go Learn.

Jeśli jeszcze tego nie zrobiono, pobierz i zainstaluj język Go.

  1. Pobierz wersję języka Go dla swojego systemu operacyjnego.

  2. Po zakończeniu pobierania uruchom instalatora.

  3. Otwórz wiersz polecenia i wprowadź następujące polecenie, aby potwierdzić zainstalowanie języka Go:

    go version
    

Tłumaczenie wszystkich dokumentów w kontenerze magazynu

  1. W oknie konsoli (takim jak cmd, PowerShell lub Bash) utwórz nowy katalog dla aplikacji o nazwie document-translation-qs i przejdź do niego.

  2. Utwórz nowy plik języka Go o nazwie document-translation.go w katalogu document-translation-qs .

  3. Skopiuj i wklej przykładowy kod tłumaczenia dokumentów do pliku document-translation.go.

    • Zaktualizuj {your-document-translation-endpoint} wartości i {your-key} za pomocą wartości z wystąpienia usługi Translator w witrynie Azure Portal.

    • Zaktualizuj wartości {your-source-container-SAS-URL} i {your-target-container-SAS-URL} z wystąpienia kontenerów konta usługi Azure Portal Storage.

Przykładowy kod

Ważne

Pamiętaj, aby usunąć klucz z kodu po zakończeniu i nigdy nie publikować go publicznie. W przypadku środowiska produkcyjnego użyj bezpiecznego sposobu przechowywania i uzyskiwania dostępu do poświadczeń, takich jak usługa Azure Key Vault. Aby uzyskać więcej informacji, zobacz Zabezpieczenia usług Azure AI.

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

Uruchamianie aplikacji języka Go

Po dodaniu przykładowego kodu do aplikacji program Go można wykonać w wierszu polecenia lub w wierszu polecenia. Upewnij się, że ścieżka monitu jest ustawiona na folder document-translation-qs i użyj następującego polecenia:

go run document-translation.go

Po pomyślnym zakończeniu:

  • Przetłumaczone dokumenty można znaleźć w kontenerze docelowym.
  • Pomyślna metoda POST zwraca 202 Accepted kod odpowiedzi wskazujący, że usługa utworzyła żądanie wsadowe.
  • Żądanie POST zwraca również nagłówki odpowiedzi, w tym Operation-Location wartości używane w kolejnych żądaniach GET.

Konfigurowanie środowiska Java

W tym przewodniku Szybki start użyjemy narzędzia automatyzacji kompilacji narzędzia Gradle do tworzenia i uruchamiania aplikacji.

  • Musisz mieć najnowszą wersję programu Visual Studio Code lub preferowanego środowiska IDE. ZobaczJava w programie Visual Studio Code.

    Napiwek

    • Program Visual Studio Code oferuje pakiet kodowania dla języka Java dla systemów Windows i macOS. Pakiet kodowania jest pakietem programu VS Code, zestawem Java Development Kit (JDK) i kolekcją sugerowanych rozszerzeń firmy Microsoft. Pakiet kodowania może również służyć do naprawiania istniejącego środowiska programistycznego.
    • Jeśli używasz programu VS Code i pakietu programistycznego dla języka Java, zainstaluj rozszerzenie Gradle for Java .
  • Jeśli nie używasz programu Visual Studio Code, upewnij się, że w środowisku projektowym zainstalowano następujące elementy:

Tworzenie nowego projektu narzędzia Gradle

  1. W oknie konsoli (takim jak cmd, PowerShell lub Bash) utwórz nowy katalog dla aplikacji o nazwie document-translation i przejdź do niego.

    mkdir document-translation && document-translation
    
    mkdir document-translation; cd document-translation
    
  2. gradle init Uruchom polecenie z katalogu document-translation. To polecenie tworzy podstawowe pliki kompilacji dla narzędzia Gradle, w tym build.gradle.kts, które są używane w czasie wykonywania do tworzenia i konfigurowania aplikacji.

    gradle init --type basic
    
  3. Po wyświetleniu monitu wybierz pozycję Język DSL, a następnie Kotlin.

  4. Zaakceptuj domyślną nazwę projektu (tłumaczenie dokumentu), wybierając pozycję Return lub Enter.

    Uwaga

    Utworzenie całej aplikacji może potrwać kilka minut, ale wkrótce powinno zostać wyświetlonych kilka folderów i plików, w tym build-gradle.kts.

  5. Zaktualizuj build.gradle.kts za pomocą następującego kodu:

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")
}

Tłumaczenie wszystkich dokumentów w kontenerze magazynu

  1. W katalogu document-translation uruchom następujące polecenie:

    mkdir -p src/main/java
    

    Polecenie tworzy następującą strukturę katalogów:

    Screenshot: Java directory structure.

  2. Przejdź do java katalogu i utwórz plik o nazwie DocumentTranslation.java.

    Napiwek

    • Nowy plik można utworzyć przy użyciu programu PowerShell.

    • Otwórz okno programu PowerShell w katalogu projektu, trzymając wciśnięty klawisz Shift i klikając folder prawym przyciskiem myszy.

    • Wprowadź następujące polecenie New-Item DocumentTranslation.java.

    • Możesz również utworzyć nowy plik w środowisku IDE o nazwie DocumentTranslation.java i zapisać go w java katalogu.

  3. Skopiuj i wklej przykładowy kod tłumaczenia dokumentów do pliku DocumentTranslation.java.

    • Zaktualizuj {your-document-translation-endpoint} wartości i {your-key} za pomocą wartości z wystąpienia usługi Translator w witrynie Azure Portal.

    • Zaktualizuj wartości {your-source-container-SAS-URL} i {your-target-container-SAS-URL} z wystąpienia kontenerów konta usługi Azure Portal Storage.

Przykładowy kod

Ważne

Pamiętaj, aby usunąć klucz z kodu po zakończeniu i nigdy nie publikować go publicznie. W przypadku środowiska produkcyjnego użyj bezpiecznego sposobu przechowywania i uzyskiwania dostępu do poświadczeń, takich jak usługa Azure Key Vault. Aby uzyskać więcej informacji, zobacz Zabezpieczenia usług Azure AI.

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

Kompilowanie i uruchamianie aplikacji Java

  • Po dodaniu przykładowego kodu do aplikacji przejdź z powrotem do głównego katalogu projektu, tłumaczenia dokumentów, otwórz okno konsoli i wprowadź następujące polecenia:

    1. Skompiluj aplikację za build pomocą polecenia :

      gradle build
      
    2. Uruchom aplikację za run pomocą polecenia :

      gradle run
      

Po pomyślnym zakończeniu:

  • Przetłumaczone dokumenty można znaleźć w kontenerze docelowym.
  • Pomyślna metoda POST zwraca 202 Accepted kod odpowiedzi wskazujący, że usługa utworzyła żądanie wsadowe.
  • Żądanie POST zwraca również nagłówki odpowiedzi, w tym Operation-Location wartości używane w kolejnych żądaniach GET.

Konfigurowanie środowiska Node.js

W tym przewodniku Szybki start użyjemy środowiska uruchomieniowego Node.js JavaScript do utworzenia i uruchomienia aplikacji.

  1. Jeśli jeszcze tego nie zrobiono, zainstaluj najnowszą wersję Node.js. Program Node Menedżer pakietów (npm) jest dołączony do instalacji Node.js.

    Napiwek

    Jeśli dopiero zaczynasz Node.js, wypróbuj moduł Wprowadzenie do Node.js Learn.

  2. W oknie konsoli (takim jak cmd, PowerShell lub Bash) utwórz i przejdź do nowego katalogu aplikacji o nazwie document-translation.

    mkdir document-translation && cd document-translation
    
    mkdir document-translation; cd document-translation
    
  3. Uruchom polecenie npm init, aby zainicjować aplikację i szkielet projektu.

    npm init
    
  4. Określ atrybuty projektu, akceptując monity wyświetlane w terminalu.

    • Najważniejsze atrybuty to nazwa, numer wersji i punkt wejścia.
    • Zalecamy zachowanie index.js nazwy punktu wejścia. Opis, polecenie testowe, repozytorium GitHub, słowa kluczowe, autor i informacje o licencji są atrybutami opcjonalnymi — można je pominąć dla tego projektu.
    • Zaakceptuj sugestie w nawiasach, wybierając pozycję Return lub Enter.
    • Po zakończeniu monitów package.json plik zostanie utworzony w katalogu tłumaczenia dokumentów.
  5. Użyj narzędzia npm, aby zainstalować bibliotekę axios HTTP i uuid pakiet w katalogu aplikacji tłumaczenia dokumentów:

    npm install axios uuid
    

Tłumaczenie wszystkich dokumentów w kontenerze magazynu

  1. index.js Utwórz plik w katalogu aplikacji.

    Napiwek

    • Nowy plik można utworzyć przy użyciu programu PowerShell.

    • Otwórz okno programu PowerShell w katalogu projektu, trzymając wciśnięty klawisz Shift i klikając folder prawym przyciskiem myszy.

    • Wprowadź następujące polecenie New-Item index.js.

    • Możesz również utworzyć nowy plik o nazwie index.js w środowisku IDE i zapisać go w document-translation katalogu.

  2. Skopiuj i wklej przykładowy kod tłumaczenia dokumentu do plikuindex.js.

    • Zaktualizuj {your-document-translation-endpoint} wartości i {your-key} za pomocą wartości z wystąpienia usługi Translator w witrynie Azure Portal.

    • Zaktualizuj wartości {your-source-container-SAS-URL} i {your-target-container-SAS-URL} z wystąpienia kontenerów konta usługi Azure Portal Storage.

Przykładowy kod

Ważne

Pamiętaj, aby usunąć klucz z kodu po zakończeniu i nigdy nie publikować go publicznie. W przypadku środowiska produkcyjnego użyj bezpiecznego sposobu przechowywania i uzyskiwania dostępu do poświadczeń, takich jak usługa Azure Key Vault. Aby uzyskać więcej informacji, zobacz Zabezpieczenia usług Azure AI.

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

Uruchamianie aplikacji JavaScript

Po dodaniu przykładowego kodu do aplikacji uruchom program:

  1. Przejdź do katalogu aplikacji (tłumaczenie dokumentów).

  2. Wprowadź i uruchom następujące polecenie w terminalu:

    node index.js
    

Po pomyślnym zakończeniu:

  • Przetłumaczone dokumenty można znaleźć w kontenerze docelowym.
  • Pomyślna metoda POST zwraca 202 Accepted kod odpowiedzi wskazujący, że usługa utworzyła żądanie wsadowe.
  • Żądanie POST zwraca również nagłówki odpowiedzi, w tym Operation-Location wartości używane w kolejnych żądaniach GET.

Konfigurowanie projektu w języku Python

  1. Jeśli jeszcze tego nie zrobiono, zainstaluj najnowszą wersję środowiska Python 3.x. Pakiet instalatora języka Python (pip) jest dołączony do instalacji języka Python.

    Napiwek

    Jeśli dopiero zaczynasz korzystać z języka Python, wypróbuj moduł Wprowadzenie do języka Python Learn.

  2. Otwórz okno terminalu i użyj narzędzia pip, aby zainstalować bibliotekę Requests i pakiet uuid0:

    pip install requests uuid
    

Tłumaczenie wszystkich dokumentów w kontenerze magazynu

  1. Za pomocą preferowanego edytora lub środowiska IDE utwórz nowy katalog dla aplikacji o nazwie document-translation.

  2. Utwórz nowy plik języka Python o nazwie document-translation.py w katalogu tłumaczenia dokumentów.

  3. Skopiuj i wklej przykładowy kod tłumaczenia dokumentu do plikudocument-translation.py.

    • Zaktualizuj {your-document-translation-endpoint} wartości i {your-key} za pomocą wartości z wystąpienia usługi Translator w witrynie Azure Portal.

    • Zaktualizuj wartości {your-source-container-SAS-URL} i {your-target-container-SAS-URL} z wystąpienia kontenerów konta usługi Azure Portal Storage.

Przykładowy kod

Ważne

Pamiętaj, aby usunąć klucz z kodu po zakończeniu i nigdy nie publikować go publicznie. W przypadku środowiska produkcyjnego użyj bezpiecznego sposobu przechowywania i uzyskiwania dostępu do poświadczeń, takich jak usługa Azure Key Vault. Aby uzyskać więcej informacji, zobacz Zabezpieczenia usług Azure AI.

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)

Uruchamianie aplikacji w języku Python

Po dodaniu przykładowego kodu do aplikacji skompiluj i uruchom program:

  1. Przejdź do katalogu tłumaczenia dokumentów.

  2. Wprowadź i uruchom następujące polecenie w konsoli:

    python document-translation.py
    

Po pomyślnym zakończeniu:

  • Przetłumaczone dokumenty można znaleźć w kontenerze docelowym.
  • Pomyślna metoda POST zwraca 202 Accepted kod odpowiedzi wskazujący, że usługa utworzyła żądanie wsadowe.
  • Żądanie POST zwraca również nagłówki odpowiedzi, w tym Operation-Location wartości używane w kolejnych żądaniach GET.

Konfigurowanie środowiska programowania

W tym przewodniku Szybki start użyjemy narzędzia wiersza polecenia cURL do wykonywania wywołań interfejsu API REST tłumaczenia dokumentów.

Uwaga

Pakiet cURL jest wstępnie zainstalowany w większości dystrybucji systemów Windows 10 i Windows 11 oraz większości systemów macOS i Linux. Możesz sprawdzić wersję pakietu przy użyciu następujących poleceń: Windows: curl.exe -V. macOS curl -V Linux: curl --version

Jeśli nie zainstalowano biblioteki cURL, oto linki dla twojej platformy:

Tłumaczenie dokumentów (żądanie POST)

  1. Za pomocą preferowanego edytora lub środowiska IDE utwórz nowy katalog dla aplikacji o nazwie document-translation.

  2. Utwórz nowy plik JSON o nazwie document-translation.json w katalogu tłumaczenia dokumentów.

  3. Skopiuj i wklej przykładowe żądanie tłumaczenia dokumentów do plikudocument-translation.json. Zastąp {your-source-container-SAS-URL} wartości i {your-target-container-SAS-URL} wartościami z wystąpienia kontenerów konta usługi Azure Portal Storage.

    Przykład żądania:

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

Kompilowanie i uruchamianie żądania POST

Przed uruchomieniem żądania POST zastąp {your-document-translator-endpoint} wartości i {your-key} wartościami z wystąpienia usługi Translator w witrynie Azure Portal.

Ważne

Pamiętaj, aby usunąć klucz z kodu po zakończeniu i nigdy nie publikować go publicznie. W przypadku środowiska produkcyjnego użyj bezpiecznego sposobu przechowywania i uzyskiwania dostępu do poświadczeń, takich jak usługa Azure Key Vault. Aby uzyskać więcej informacji, zobacz Zabezpieczenia usług Azure AI.

Program 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"

wiersz polecenia/terminal

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"

Po pomyślnym zakończeniu:

  • Przetłumaczone dokumenty można znaleźć w kontenerze docelowym.
  • Pomyślna metoda POST zwraca 202 Accepted kod odpowiedzi wskazujący, że usługa utworzyła żądanie wsadowe.
  • Żądanie POST zwraca również nagłówki odpowiedzi, w tym Operation-Location wartości używane w kolejnych żądaniach GET.

To wszystko, gratulacje! W tym przewodniku Szybki start użyto tłumaczenia dokumentów do tłumaczenia dokumentu, zachowując jego oryginalną strukturę i format danych.

Następne kroki