Aan de slag met asynchrone documentomzetting

Documentomzetting is een cloudfunctie van de Azure AI Vertalen-service waarmee asynchroon hele documenten in ondersteunde talen en verschillende bestandsindelingen worden vertaald. In deze snelstartgids leert u hoe u documentomzetting kunt gebruiken met een programmeertaal van uw keuze om een brondocument te vertalen in een doeltaal en tegelijkertijd structuur en tekstopmaak te behouden.

Vereisten

Belangrijk

  • Java- en JavaScript Document Translation SDK's zijn momenteel beschikbaar in openbare preview. Functies, benaderingen en processen kunnen veranderen, vóór de algemene beschikbaarheidsrelease (GA), op basis van feedback van gebruikers.

  • C# en Python SDK's zijn algemene beschikbaarheidsreleases die gereed zijn voor gebruik in uw productietoepassingen

  • Documentomzetting wordt momenteel alleen ondersteund in de resource Vertalen (één service) en is niet opgenomen in de Azure AI-servicesresource (multiservice).

  • Documentomzetting wordt alleen ondersteund in het S1 Standard-serviceplan (betalen per gebruik) of in het D3-volumekortingsplan. Zieprijzen voor Azure AI-services: Vertalen.

Om aan de slag te gaan, hebt u het volgende nodig:

  • Een actief Azure-account. Als u nog geen account hebt, kunt u een gratis account maken

  • Een Azure Blob Storage-account. U moet ook containers maken in uw Azure Blob Storage-account voor uw bron- en doelbestanden:

    • Broncontainer. In deze container uploadt u uw bestanden voor vertaling (vereist).
    • Doelcontainer. In deze container worden uw vertaalde bestanden opgeslagen (vereist).
  • Een resource met één service Vertalen (geen Azure AI-servicesresource met meerdere services):

    Voltooi de velden Vertalen project- en exemplaardetails als volgt:

    1. Abonnement. Selecteer een van uw beschikbare Azure-abonnementen.

    2. Resourcegroep. U kunt een nieuwe resourcegroep maken of uw resource toevoegen aan een bestaande resourcegroep die dezelfde levenscyclus, machtigingen en beleidsregels deelt.

    3. Resourceregio. Kies Globaal , tenzij uw bedrijf of toepassing een specifieke regio vereist. Als u van plan bent om een door het systeem toegewezen beheerde identiteit te gebruiken voor verificatie, kiest u een geografische regio, zoals VS - west.

    4. Name. Voer de naam in die u voor uw resource hebt gekozen. De naam die u kiest, moet uniek zijn binnen Azure.

      Notitie

      Documentomzetting vereist een aangepast domeineindpunt. De waarde die u invoert in het veld Naam, is de parameter voor de aangepaste domeinnaam voor uw eindpunt.

    5. Prijscategorie. Documentomzetting wordt niet ondersteund in de gratis laag. Selecteer Standard S1 om de service uit te proberen.

    6. Selecteer Controleren + maken.

    7. Controleer de servicevoorwaarden en selecteer Maken om uw resource te implementeren.

    8. Nadat de resource is geïmplementeerd, selecteert u Ga naar de resource.

Uw sleutel- en documentomzettingseindpunt ophalen

Aanvragen voor de Vertalen-service vereisen een alleen-lezen sleutel en aangepast eindpunt om toegang te verifiëren. Het eindpunt van het aangepaste domein is een URL die is opgemaakt met uw resourcenaam, hostnaam en Vertalen submappen en is beschikbaar in Azure Portal.

  1. Als u een nieuwe resource hebt gemaakt nadat deze is geïmplementeerd, selecteert u Ga naar de resource. Als u een bestaande documentomzettingsresource hebt, gaat u rechtstreeks naar de resourcepagina.

  2. Selecteer sleutels en eindpunt in de linkerrail onder Resourcebeheer.

  3. U kunt uw key en document translation endpoint in de codevoorbeelden kopiëren en plakken om uw aanvraag te verifiëren bij de documentomzettingsservice. Er is slechts één sleutel nodig om een API-aanroep te maken.

    Screenshot showing the get your key field in Azure portal.

Azure Blob Storage-containers maken

U moet containers maken in uw Azure Blob Storage-account voor bron- en doelbestanden.

  • Broncontainer. In deze container uploadt u uw bestanden voor vertaling (vereist).
  • Doelcontainer. In deze container worden uw vertaalde bestanden opgeslagen (vereist).

Vereiste verificatie

Het sourceUrl , targetUrl en optioneel glossaryUrl moet een SAS-token (Shared Access Signature) bevatten, toegevoegd als een querytekenreeks. Het token kan worden toegewezen aan uw container of specifieke blobs. ZieSAS-tokens maken voor documentomzettingsproces.

  • Uw broncontainer of -blob moet lees- en lijsttoegang aanwijzen.
  • Uw doelcontainer of blob moet schrijf- en lijsttoegang aanwijzen.
  • De woordenlijst-blob moet lees- en lijsttoegang aanwijzen.

Tip

  • Als u meerdere bestanden (blobs) in een bewerking vertaalt, delegeert u SAS-toegang op containerniveau.
  • Als u één bestand (blob) in een bewerking vertaalt, delegeert u SAS-toegang op blobniveau.
  • Als alternatief voor SAS-tokens kunt u een door het systeem toegewezen beheerde identiteit gebruiken voor verificatie.

Voorbeelddocument

Voor dit project hebt u een brondocument nodig dat is geüpload naar uw broncontainer. U kunt ons voorbeelddocument voor documentomzetting downloaden voor deze quickstart. De brontaal is Engels.

Uw C#/.NET-omgeving instellen

Voor deze quickstart gebruiken we de nieuwste versie van Visual Studio IDE om de toepassing te bouwen en uit te voeren.

  1. Start Visual Studio.

  2. Kies Een nieuw project maken op de pagina Aan de slag .

    Screenshot of Visual Studio 2022 get started window.

  3. Voer op de pagina Een nieuw project maken de console in het zoekvak in. Kies de consoletoepassingssjabloon en kies vervolgens Volgende.

    Screenshot of Visual Studio 2022 create new project page.

  4. Voer document-translation-qs in het dialoogvenster Uw nieuwe project configureren het vak Projectnaam in. Kies vervolgens Volgende.

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

  5. Selecteer in het dialoogvenster Aanvullende informatie .NET 6.0 (langetermijnondersteuning) en selecteer vervolgens Maken.

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

Newtonsoft.Json installeren

  1. Klik met de rechtermuisknop op uw documentvertaling-qs-project en selecteer NuGet-pakketten beheren... .

    Screenshot of select NuGet package window in Visual Studio.

  2. Selecteer het tabblad Bladeren en typ NewtonsoftJson.

    Screenshot of select prerelease NuGet package in Visual Studio.

  3. Selecteer de meest recente stabiele versie in de vervolgkeuzelijst en installeer het pakket in uw project.

    Screenshot of install selected NuGet package window.

Alle documenten in een opslagcontainer vertalen

Notitie

  • Vanaf .NET 6 genereren nieuwe projecten met behulp van de console sjabloon een nieuwe programmastijl die verschilt van eerdere versies.
  • De nieuwe uitvoer maakt gebruik van recente C#-functies die de code vereenvoudigen die u moet schrijven.
  • Wanneer u de nieuwere versie gebruikt, hoeft u alleen de hoofdtekst van de Main methode te schrijven. U hoeft geen instructies op het hoogste niveau, globaal gebruik van instructies of impliciet gebruik van instructies op te nemen.
  • Zie Nieuwe C#-sjablonen voor meer informatie over het genereren van instructies op het hoogste niveau.
  1. Open het Program.cs-bestand .

  2. Verwijder de bestaande code, inclusief de regel Console.WriteLine("Hello World!").

  3. Kopieer en plak het voorbeeld van de documentomzettingscode in het Program.cs-bestand.

    • Werk {your-document-translation-endpoint} en {your-key} met waarden uit uw Azure-portal Vertalen exemplaar bij.

    • Werk {your-source-container-SAS-URL} waarden bij en {your-target-container-SAS-URL} met waarden uit uw exemplaar van azure Portal Storage-accountcontainers.

Voorbeeld van code

Belangrijk

Vergeet niet de sleutel uit uw code te verwijderen wanneer u klaar bent, en maak deze sleutel nooit openbaar. Gebruik voor productie een veilige manier om uw referenties op te slaan en te openen, zoals Azure Key Vault. Zie Beveiliging van Azure AI-services voor meer informatie.

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

        }

    }

}

Uw toepassing uitvoeren

Zodra u een codevoorbeeld aan uw toepassing hebt toegevoegd, kiest u de groene startknop naast documentvertaling-qs om uw programma te bouwen en uit te voeren, of drukt u op F5.

Screenshot: run your Visual Studio program.

Na een geslaagde voltooiing:

  • De vertaalde documenten vindt u in uw doelcontainer.
  • De geslaagde POST-methode retourneert een 202 Accepted antwoordcode die aangeeft dat de service de batchaanvraag heeft gemaakt.
  • De POST-aanvraag retourneert ook antwoordheaders, inclusief Operation-Location die een waarde biedt die wordt gebruikt in volgende GET-aanvragen.

Uw Go-omgeving instellen

U kunt elke teksteditor gebruiken om Go-toepassingen te schrijven. U wordt aangeraden de nieuwste versie van Visual Studio Code en de Go-extensie te gebruiken.

Tip

Als u niet eerder met Go werkt, probeert u de Module Aan de slag met Go Learn.

Als u dit nog niet hebt gedaan, downloadt en installeert u Go.

  1. Download de Go-versie voor uw besturingssysteem.

  2. Zodra het downloaden is voltooid, voert u het installatieprogramma uit.

  3. Open een opdrachtprompt en voer het volgende in om te bevestigen dat Go is geïnstalleerd:

    go version
    

Alle documenten in een opslagcontainer vertalen

  1. Maak in een consolevenster (zoals cmd, PowerShell of Bash) een nieuwe map voor uw app met de naam document-translation-qs en navigeer ernaartoe.

  2. Maak een nieuw Go-bestand met de naam document-translation.go in de map document-translation-qs .

  3. Kopieer en plak het voorbeeld van de documentvertalingscode in het bestand document-translation.go.

    • Werk {your-document-translation-endpoint} en {your-key} met waarden uit uw Azure-portal Vertalen exemplaar bij.

    • Werk de en {your-target-container-SAS-URL} met waarden van uw {your-source-container-SAS-URL} azure Portal Storage-accountcontainerexemplaren bij.

Voorbeeld van code

Belangrijk

Vergeet niet de sleutel uit uw code te verwijderen wanneer u klaar bent, en maak deze sleutel nooit openbaar. Gebruik voor productie een veilige manier om uw referenties op te slaan en te openen, zoals Azure Key Vault. Zie Beveiliging van Azure AI-services voor meer informatie.

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

Uw Go-toepassing uitvoeren

Nadat u een codevoorbeeld aan uw toepassing hebt toegevoegd, kan uw Go-programma worden uitgevoerd in een opdracht- of terminalprompt. Zorg ervoor dat het pad van de prompt is ingesteld op de map documentvertaling-qs en gebruik de volgende opdracht:

go run document-translation.go

Na een geslaagde voltooiing:

  • De vertaalde documenten vindt u in uw doelcontainer.
  • De geslaagde POST-methode retourneert een 202 Accepted antwoordcode die aangeeft dat de service de batchaanvraag heeft gemaakt.
  • De POST-aanvraag retourneert ook antwoordheaders, inclusief Operation-Location die een waarde biedt die wordt gebruikt in volgende GET-aanvragen.

Uw Java-omgeving instellen

Voor deze quickstart gebruiken we het hulpprogramma Gradle-buildautomatisering om de toepassing te maken en uit te voeren.

  • U moet beschikken over de nieuwste versie van Visual Studio Code of uw favoriete IDE. ZieJava in Visual Studio Code.

    Tip

    • Visual Studio Code biedt een Coderingspakket voor Java voor Windows en macOS. Het coderingspakket is een bundel VS Code, de Java Development Kit (JDK) en een verzameling voorgestelde extensies van Microsoft. Het coderingspakket kan ook worden gebruikt om een bestaande ontwikkelomgeving op te lossen.
    • Als u VS Code en het Coderingspakket voor Java gebruikt, installeert u de Gradle voor Java-extensie.
  • Als u Visual Studio Code niet gebruikt, controleert u of het volgende is geïnstalleerd in uw ontwikkelomgeving:

Een nieuw Gradle-project maken

  1. Maak in het consolevenster (zoals cmd, PowerShell of Bash) een nieuwe map voor uw app met de naam documentvertaling en navigeer ernaartoe.

    mkdir document-translation && document-translation
    
    mkdir document-translation; cd document-translation
    
  2. Voer de gradle init opdracht uit vanuit de map documentvertaling. Met deze opdracht maakt u essentiële buildbestanden voor Gradle, waaronder build.gradle.kts, die tijdens runtime wordt gebruikt om uw toepassing te maken en te configureren.

    gradle init --type basic
    
  3. Wanneer u wordt gevraagd om een DSL te kiezen, selecteert u Kotlin.

  4. Accepteer de standaardprojectnaam (documentomzetting) door Return of Enter te selecteren.

    Notitie

    Het kan enkele minuten duren voordat de hele toepassing is gemaakt, maar binnenkort ziet u verschillende mappen en bestanden, waaronder build-gradle.kts.

  5. Werk build.gradle.kts bij met de volgende code:

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

Alle documenten in een opslagcontainer vertalen

  1. Voer in de map documentomzetting de volgende opdracht uit:

    mkdir -p src/main/java
    

    Met de opdracht maakt u de volgende mapstructuur:

    Screenshot: Java directory structure.

  2. Navigeer naar de map en maak een bestand met de java naam DocumentTranslation.java.

    Tip

    • U kunt een nieuw bestand maken met behulp van PowerShell.

    • Open een PowerShell-venster in uw projectmap door Shift ingedrukt te houden en met de rechtermuisknop op de map te klikken.

    • Voer de volgende opdracht DocumentTranslation.java nieuw item in.

    • U kunt ook een nieuw bestand maken in uw IDE met de naam DocumentTranslation.java en opslaan in de java map.

  3. Kopieer en plak het voorbeeld van de documentomzettingscode in uw DocumentTranslation.java-bestand.

    • Werk {your-document-translation-endpoint} en {your-key} met waarden uit uw Azure-portal Vertalen exemplaar bij.

    • Werk de en {your-target-container-SAS-URL} met waarden van uw {your-source-container-SAS-URL} azure Portal Storage-accountcontainerexemplaren bij.

Voorbeeld van code

Belangrijk

Vergeet niet de sleutel uit uw code te verwijderen wanneer u klaar bent, en maak deze sleutel nooit openbaar. Gebruik voor productie een veilige manier om uw referenties op te slaan en te openen, zoals Azure Key Vault. Zie Beveiliging van Azure AI-services voor meer informatie.

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

Uw Java-toepassing bouwen en uitvoeren

  • Zodra u een codevoorbeeld aan uw toepassing hebt toegevoegd, gaat u terug naar de hoofdmap van het project, opent u een consolevenster en voert u de volgende opdrachten in:

    1. Bouw uw toepassing met de build opdracht:

      gradle build
      
    2. Voer uw toepassing uit met de run opdracht:

      gradle run
      

Na een geslaagde voltooiing:

  • De vertaalde documenten vindt u in uw doelcontainer.
  • De geslaagde POST-methode retourneert een 202 Accepted antwoordcode die aangeeft dat de service de batchaanvraag heeft gemaakt.
  • De POST-aanvraag retourneert ook antwoordheaders, inclusief Operation-Location die een waarde biedt die wordt gebruikt in volgende GET-aanvragen.

Uw Node.js-omgeving instellen

Voor deze quickstart gebruiken we de Node.js JavaScript-runtimeomgeving om de toepassing te maken en uit te voeren.

  1. Als u dit nog niet hebt gedaan, installeert u de nieuwste versie van Node.js. Node Pakketbeheer (npm) is opgenomen in de Node.js-installatie.

    Tip

    Als u geen kennis hebt van Node.js, kunt u de module Inleiding tot Node.js Learn proberen.

  2. Maak en navigeer in een consolevenster (zoals cmd, PowerShell of Bash) naar een nieuwe map voor uw app met de naam document-translation.

    mkdir document-translation && cd document-translation
    
    mkdir document-translation; cd document-translation
    
  3. Voer de npm init-opdracht uit om de toepassing te initialiseren en uw project te initialiseren.

    npm init
    
  4. Geef de kenmerken van uw project op door de prompts te accepteren die worden weergegeven in de terminal.

    • De belangrijkste kenmerken zijn naam, versienummer en toegangspunt.
    • U wordt aangeraden de naam van het toegangspunt op te geven index.js . De beschrijving, testopdracht, GitHub-opslagplaats, trefwoorden, auteurs en licentiegegevens zijn optionele kenmerken. Ze kunnen voor dit project worden overgeslagen.
    • Accepteer de suggesties tussen haakjes door Return of Enter te selecteren.
    • Nadat u de prompts hebt voltooid, wordt er een package.json bestand gemaakt in de map voor documentomzetting.
  5. Gebruik npm om de HTTP-bibliotheek en uuid het axios pakket te installeren in de map met de documentomzettings-app:

    npm install axios uuid
    

Alle documenten in een opslagcontainer vertalen

  1. Maak het index.js bestand in de app-map.

    Tip

    • U kunt een nieuw bestand maken met behulp van PowerShell.

    • Open een PowerShell-venster in uw projectmap door Shift ingedrukt te houden en met de rechtermuisknop op de map te klikken.

    • Voer de volgende opdracht new-item index.js in.

    • U kunt ook een nieuw bestand maken met de naam index.js in uw IDE en opslaan in de document-translation map.

  2. Kopieer en plak het voorbeeld van de documentomzettingscode in uw index.js bestand.

    • Werk {your-document-translation-endpoint} en {your-key} met waarden uit uw Azure-portal Vertalen exemplaar bij.

    • Werk de en {your-target-container-SAS-URL} met waarden van uw {your-source-container-SAS-URL} azure Portal Storage-accountcontainerexemplaren bij.

Voorbeeld van code

Belangrijk

Vergeet niet de sleutel uit uw code te verwijderen wanneer u klaar bent, en maak deze sleutel nooit openbaar. Gebruik voor productie een veilige manier om uw referenties op te slaan en te openen, zoals Azure Key Vault. Zie Beveiliging van Azure AI-services voor meer informatie.

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

Uw JavaScript-toepassing uitvoeren

Nadat u het codevoorbeeld aan uw toepassing hebt toegevoegd, voert u het volgende uit:

  1. Navigeer naar de toepassingsmap (documentomzetting).

  2. Voer de volgende opdracht in uw terminal in en voer deze uit:

    node index.js
    

Na een geslaagde voltooiing:

  • De vertaalde documenten vindt u in uw doelcontainer.
  • De geslaagde POST-methode retourneert een 202 Accepted antwoordcode die aangeeft dat de service de batchaanvraag heeft gemaakt.
  • De POST-aanvraag retourneert ook antwoordheaders, inclusief Operation-Location die een waarde biedt die wordt gebruikt in volgende GET-aanvragen.

Uw Python-project instellen

  1. Als u dit nog niet hebt gedaan, installeert u de nieuwste versie van Python 3.x. Het Python-installatiepakket (pip) is opgenomen in de Python-installatie.

    Tip

    Als u nog niet eerder met Python werkt, probeert u de module Inleiding tot Python Learn.

  2. Open een terminalvenster en gebruik pip om de aanvraagbibliotheek en het uuid0-pakket te installeren:

    pip install requests uuid
    

Alle documenten in een opslagcontainer vertalen

  1. Maak met behulp van uw favoriete editor of IDE een nieuwe map voor uw app met de naam document-translation.

  2. Maak een nieuw Python-bestand met de naam document-translation.py in de map voor documentvertaling .

  3. Kopieer en plak het voorbeeld van de documentomzettingscode in uw document-translation.py bestand.

    • Werk {your-document-translation-endpoint} en {your-key} met waarden uit uw Azure-portal Vertalen exemplaar bij.

    • Werk de en {your-target-container-SAS-URL} met waarden van uw {your-source-container-SAS-URL} azure Portal Storage-accountcontainerexemplaren bij.

Voorbeeld van code

Belangrijk

Vergeet niet de sleutel uit uw code te verwijderen wanneer u klaar bent, en maak deze sleutel nooit openbaar. Gebruik voor productie een veilige manier om uw referenties op te slaan en te openen, zoals Azure Key Vault. Zie Beveiliging van Azure AI-services voor meer informatie.

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)

Uw Python-toepassing uitvoeren

Zodra u een codevoorbeeld aan uw toepassing hebt toegevoegd, bouwt en voert u uw programma uit:

  1. Navigeer naar de map voor documentomzetting .

  2. Voer de volgende opdracht in uw console in en voer deze uit:

    python document-translation.py
    

Na een geslaagde voltooiing:

  • De vertaalde documenten vindt u in uw doelcontainer.
  • De geslaagde POST-methode retourneert een 202 Accepted antwoordcode die aangeeft dat de service de batchaanvraag heeft gemaakt.
  • De POST-aanvraag retourneert ook antwoordheaders, inclusief Operation-Location die een waarde biedt die wordt gebruikt in volgende GET-aanvragen.

Uw programmeeromgeving instellen

In deze quickstart gebruiken we het opdrachtregelprogramma cURL om REST API-aanroepen voor documentomzetting uit te voeren.

Notitie

Het cURL-pakket is vooraf geïnstalleerd op de meeste Windows 10- en Windows 11- en de meeste macOS- en Linux-distributies. U kunt de pakketversie controleren met de volgende opdrachten: Windows: curl.exe -V. macOS curl -V Linux: curl --version

Als cURL niet is geïnstalleerd, vindt u hier koppelingen voor uw platform:

Documenten vertalen (POST-aanvraag)

  1. Maak met behulp van uw favoriete editor of IDE een nieuwe map voor uw app met de naam document-translation.

  2. Maak een nieuw json-bestand met de naam document-translation.json in de map documentvertaling .

  3. Kopieer en plak het voorbeeld van de aanvraag voor documentomzetting in uw document-translation.json bestand. Vervang {your-source-container-SAS-URL} en {your-target-container-SAS-URL} door waarden uit uw azure Portal Storage-accountcontainerexemplaren.

    Aanvraagvoorbeeld:

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

De POST-aanvraag bouwen en uitvoeren

Voordat u de POST-aanvraag uitvoert, vervangt en {your-key} vervangt {your-document-translator-endpoint} u de waarden uit uw Azure-portal Vertalen exemplaar.

Belangrijk

Vergeet niet de sleutel uit uw code te verwijderen wanneer u klaar bent, en maak deze sleutel nooit openbaar. Gebruik voor productie een veilige manier om uw referenties op te slaan en te openen, zoals Azure Key Vault. Zie Beveiliging van Azure AI-services voor meer informatie.

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"

opdrachtprompt/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"

Na een geslaagde voltooiing:

  • De vertaalde documenten vindt u in uw doelcontainer.
  • De geslaagde POST-methode retourneert een 202 Accepted antwoordcode die aangeeft dat de service de batchaanvraag heeft gemaakt.
  • De POST-aanvraag retourneert ook antwoordheaders, inclusief Operation-Location die een waarde biedt die wordt gebruikt in volgende GET-aanvragen.

Dat is het, gefeliciteerd! In deze quickstart hebt u Documentvertaling gebruikt om een document te vertalen terwijl het document de oorspronkelijke structuur en gegevensindeling behoudt.

Volgende stappen