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:
Subskrypcja. Wybierz jedną z dostępnych subskrypcji platformy Azure.
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.
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.
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.
Warstwa cenowa. Tłumaczenie dokumentów nie jest obsługiwane w warstwie Bezpłatna. Wybierz pozycję Standardowa S1, aby wypróbować usługę.
Wybierz pozycję Przejrzyj i utwórz.
Przejrzyj warunki usługi i wybierz pozycję Utwórz , aby wdrożyć zasób.
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.
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.
W lewej szynie w obszarze Zarządzanie zasobami wybierz pozycję Klucze i punkt końcowy.
Możesz skopiować i wkleić element
key
idocument 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.
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.
Uruchom program Visual Studio.
Na stronie Wprowadzenie wybierz pozycję Utwórz nowy projekt.
Na stronie Tworzenie nowego projektu wprowadź konsolę w polu wyszukiwania. Wybierz szablon Aplikacja konsolowa, a następnie wybierz pozycję Dalej.
W oknie dialogowym Konfigurowanie nowego projektu wprowadź
document-translation-qs
w polu Nazwa projektu. Następnie wybierz pozycję Dalej.W oknie dialogowym Dodatkowe informacje wybierz pozycję .NET 6.0 (obsługa długoterminowa), a następnie wybierz pozycję Utwórz.
Instalowanie pakietu Newtonsoft.Json
Kliknij prawym przyciskiem myszy projekt document-translation-qs i wybierz polecenie Zarządzaj pakietami NuGet... .
Wybierz kartę Przeglądaj i wpisz NewtonsoftJson.
Wybierz najnowszą stabilną wersję z menu rozwijanego i zainstaluj pakiet w projekcie.
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.
Otwórz plik Program.cs.
Usuń istniejący kod, w tym wiersz
Console.WriteLine("Hello World!")
.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.
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.
Pobierz wersję języka Go dla swojego systemu operacyjnego.
Po zakończeniu pobierania uruchom instalatora.
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
W oknie konsoli (takim jak cmd, PowerShell lub Bash) utwórz nowy katalog dla aplikacji o nazwie document-translation-qs i przejdź do niego.
Utwórz nowy plik języka Go o nazwie document-translation.go w katalogu document-translation-qs .
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:
Zestaw Java Development Kit (OpenJDK) w wersji 8 lub nowszej.
Gradle, wersja 6.8 lub nowsza.
Tworzenie nowego projektu narzędzia Gradle
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
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
Po wyświetleniu monitu wybierz pozycję Język DSL, a następnie Kotlin.
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
.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
W katalogu document-translation uruchom następujące polecenie:
mkdir -p src/main/java
Polecenie tworzy następującą strukturę katalogów:
Przejdź do
java
katalogu i utwórz plik o nazwieDocumentTranslation.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 wjava
katalogu.
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:
Skompiluj aplikację za
build
pomocą polecenia :gradle build
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.
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.
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
Uruchom polecenie npm init, aby zainicjować aplikację i szkielet projektu.
npm init
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.
Użyj narzędzia npm, aby zainstalować bibliotekę
axios
HTTP iuuid
pakiet w katalogu aplikacji tłumaczenia dokumentów:npm install axios uuid
Tłumaczenie wszystkich dokumentów w kontenerze magazynu
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 wdocument-translation
katalogu.
Skopiuj i wklej przykładowy kod tłumaczenia dokumentu do pliku
index.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:
Przejdź do katalogu aplikacji (tłumaczenie dokumentów).
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
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.
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
Za pomocą preferowanego edytora lub środowiska IDE utwórz nowy katalog dla aplikacji o nazwie
document-translation
.Utwórz nowy plik języka Python o nazwie document-translation.py w katalogu tłumaczenia dokumentów.
Skopiuj i wklej przykładowy kod tłumaczenia dokumentu do pliku
document-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:
Przejdź do katalogu tłumaczenia dokumentów.
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)
Za pomocą preferowanego edytora lub środowiska IDE utwórz nowy katalog dla aplikacji o nazwie
document-translation
.Utwórz nowy plik JSON o nazwie document-translation.json w katalogu tłumaczenia dokumentów.
Skopiuj i wklej przykładowe żądanie tłumaczenia dokumentów do pliku
document-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.