Introduzione alla traduzione asincrona dei documenti

Traduzione di documenti è una funzionalità basata sul cloud del servizio Traduttore per Azure AI che traduce in modo asincrono interi documenti nelle lingue supportate e li converte in vari formati di file. In questa guida introduttiva si apprenderà come usare Traduzione di documenti con un linguaggio di programmazione preferito per tradurre un documento di origine in una lingua di destinazione mantenendo al tempo stesso la struttura e la formattazione del testo.

Prerequisiti

Importante

  • Gli SDK per Traduzione di documenti Java e JavaScript sono attualmente disponibili in anteprima pubblica. Le funzionalità, gli approcci e i processi possono cambiare prima del rilascio della versione disponibile a livello generale, a seconda del feedback degli utenti.

  • Gli SDK di C# e Python sono versioni disponibili a livello generale pronte per l'uso nelle applicazioni di produzione

  • Traduzione di documenti è attualmente supportata solo nella risorsa Traduttore (a servizio singolo) e non è inclusa nella risorsa Servizi di Azure AI (multiservizio).

  • Traduzione di documenti è supportata solo nel piano di servizio Standard S1 (con pagamento in base al consumo) o nel piano Sconto per volume D3. VederePrezzi dei Servizi di Azure AI - Traduttore.

Per iniziare, è necessario:

  • Un account Azure attivo. Se non si ha un account, è possibile crearne uno gratuito

  • Un account di Archiviazione BLOB di Azure. È anche necessario creare i contenitori nell'account di Archiviazione BLOB di Azure per i file di origine e di destinazione:

    • Contenitore di origine. Questo contenitore consente di caricare i file per la traduzione (obbligatorio).
    • Contenitore di destinazione. Questo contenitore è il percorso in cui vengono archiviati i file tradotti (obbligatorio).
  • Una risorsa Traduttore a servizio singolo (non una risorsa Servizi di Azure AI multiservizio):

    Completare i campi dei dettagli del progetto Traduttore e dell'istanza come indicato di seguito:

    1. Sottoscrizione. Selezionare una delle sottoscrizioni di Azure disponibili.

    2. Gruppo di risorse. È possibile creare un nuovo gruppo di risorse o aggiungere la risorsa a un gruppo di risorse preesistente che condivide ciclo di vita, autorizzazioni e criteri identici.

    3. Area della risorsa. Scegliere Globale a meno che l'azienda o l'applicazione non richieda un'area specifica. Se si prevede di usare un'identità gestita assegnata dal sistema per l'autenticazione, scegliere un'area geografica come Stati Uniti occidentali.

    4. Nome. Immettere il nome scelto per la risorsa. Il nome scelto deve essere univoco in Azure.

      Nota

      Traduzione di documenti richiede un endpoint di dominio personalizzato. Il valore immesso nel campo Nome sarà il parametro del nome di dominio personalizzato per l'endpoint.

    5. Piano tariffario. Traduzione di documenti non è supportata nel livello gratuito. Per provare il servizio, selezionare Standard S1.

    6. Selezionare Rivedi e crea.

    7. Esaminare le condizioni del servizio e selezionare Crea per distribuire la risorsa.

    8. Dopo aver distribuito correttamente la risorsa, selezionare Vai alla risorsa.

Recuperare la chiave e l'endpoint di traduzione di documenti

Le richieste al servizio Traduttore richiedono una chiave di sola lettura e un endpoint personalizzato per autenticare l'accesso. L'endpoint di dominio personalizzato è un URL formattato con il nome della risorsa, il nome host e le sottodirectory di Traduttore ed è disponibile nel portale di Azure.

  1. Se è stata creata una nuova risorsa, dopo la distribuzione selezionare Vai alla risorsa. Se si dispone di una risorsa di Traduzione di documenti esistente, passare direttamente alla pagina della risorsa.

  2. Nella barra di scorrimento a sinistra, in Gestione risorse, selezionare Chiavi ed endpoint.

  3. È possibile copiare e incollare key e document translation endpoint negli esempi di codice per eseguire l'autenticazione della richiesta al servizio Traduzione di documenti. Per effettuare una chiamata API è necessaria una sola chiave.

    Screenshot showing the get your key field in Azure portal.

Creare contenitori di Archiviazione BLOB di Azure

Sarà necessario creare contenitori nell'account di Archiviazione BLOB di Azure per i file di origine e di destinazione.

  • Contenitore di origine. Questo contenitore consente di caricare i file per la traduzione (obbligatorio).
  • Contenitore di destinazione. Questo contenitore è il percorso in cui vengono archiviati i file tradotti (obbligatorio).

Autenticazione obbligatoria

sourceUrl, targetUrl e facoltativamente glossaryUrl devono includere un token di firma di accesso condiviso, accodato come stringa di query. Il token può essere assegnato al contenitore o a BLOB specifici. VedereCreare token di firma di accesso condiviso per il processo di Traduzione di documenti.

  • Il contenitore o il BLOB di origine deve designare l'accesso in lettura e per elenchi.
  • Il contenitore o il BLOB di destinazione deve designare l'accesso di scrittura e per elenchi.
  • Il BLOB del glossario deve designare l'accesso in lettura e per elenchi.

Suggerimento

  • Se si stanno traducendo più file (BLOB) in un'operazione, delegare l'accesso di firma di accesso condiviso a livello di contenitore.
  • Se si sta traducendo un file singolo (BLOB) in un'operazione, delegare l'accesso di firma di accesso condiviso a livello di BLOB.
  • In alternativa ai token di firma di accesso condiviso, è possibile usare un'identità gestita assegnata dal sistema per l'autenticazione.

Documento di esempio

Per questo progetto è necessario caricare un documento di origine nel contenitore di origine. Per questo avvio rapido, è possibile scaricare il documento di esempio di traduzione dei documenti. La lingua di origine è l'inglese.

Configurare l'ambiente C#/.NET

In questo avvio rapido si usa la versione più recente dell'IDE di Visual Studio per creare ed eseguire l'applicazione.

  1. Avviare Visual Studio.

  2. Nella pagina Attività iniziali scegliere Crea un nuovo progetto.

    Screenshot of Visual Studio 2022 get started window.

  3. Nella pagina Crea un nuovo progetto immettere console nella casella di ricerca. Scegliere il modello Applicazione console, quindi selezionare Avanti.

    Screenshot of Visual Studio 2022 create new project page.

  4. Nella finestra di dialogo Configura il nuovo progetto immettere document-translation-qs nella casella Nome progetto. Scegliere quindi Avanti.

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

  5. Nella finestra di dialogo Altre informazioni selezionare l'opzione .NET 6.0 (supporto a lungo termine) e quindi Crea.

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

Installare Newtonsoft.Json

  1. Fare clic con il pulsante destro del mouse sul progetto document-translation-qs e selezionare Gestisci pacchetti NuGet....

    Screenshot of select NuGet package window in Visual Studio.

  2. Selezionare la scheda Esplorare e digitare NewtonsoftJson.

    Screenshot of select prerelease NuGet package in Visual Studio.

  3. Selezionare la versione stabile più recente dal menu a discesa e installare il pacchetto nel progetto.

    Screenshot of install selected NuGet package window.

Tradurre tutti i documenti in un contenitore di archiviazione

Nota

  • A partire da .NET 6, i nuovi progetti che usano il modello console generano un nuovo stile di programma, diverso dalle versioni precedenti.
  • Il nuovo output usa le funzionalità di C# recenti che semplificano il codice da scrivere.
  • Quando si utilizza la versione più recente, è sufficiente scrivere il corpo del metodo Main. Non è necessario includere istruzioni di primo livello, direttive d'uso globali o implicite.
  • Per altre informazioni, vedereI nuovi modelli di C# generano istruzioni di primo livello.
  1. Aprire il file Program.cs.

  2. Eliminare il codice preesistente, inclusa la riga Console.WriteLine("Hello World!").

  3. Copiare e incollare il codice di esempio della traduzione del documento nel file Program.cs.

    • Aggiornare {your-document-translation-endpoint} e {your-key} con i valori dell'istanza di Traduttore del portale di Azure.

    • Aggiornare {your-source-container-SAS-URL} e {your-target-container-SAS-URL} con i valori dell'istanza di contenitori dell'account di archiviazione nel portale di Azure.

Esempio di codice

Importante

Al termine, ricordarsi di rimuovere la chiave dal codice e non renderlo mai pubblico. Per la produzione, utilizzare un modo sicuro per archiviare e accedere alle credenziali, ad esempio Azure Key Vault. Per altre informazioni, vederel'articolo sulla sicurezza di Servizi di 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");

        }

    }

}

Eseguire l'applicazione

Dopo aver aggiunto un esempio di codice all'applicazione, scegliere il pulsante verde di avvio accanto a document-translation-qs per creare ed eseguire il programma oppure premere F5.

Screenshot: run your Visual Studio program.

Al termine dell'operazione:

  • I documenti tradotti sono disponibili nel contenitore di destinazione.
  • La corretta esecuzione del metodo POST restituisce un codice di risposta 202 Accepted che indica che il servizio ha creato la richiesta batch.
  • Anche la richiesta POST restituisce intestazioni della risposta, tra cui Operation-Location che fornisce un valore usato nelle richieste GET successive.

Configurare l'ambiente Go

Per scrivere applicazioni Go è possibile usare qualsiasi editor di testo. È consigliabile usare la versione più recente di Visual Studio Code e l'estensione Go.

Suggerimento

Se non si ha familiarità con Go, provare il modulo di Learn Introduzione a Go.

Se non è già stato fatto, scaricare e installare Go.

  1. Scaricare la versione di Go per il sistema operativo in uso.

  2. Al termine del download, eseguire il programma di installazione.

  3. Aprire un prompt dei comandi e immettere quanto segue per confermare che Go è stato installato:

    go version
    

Tradurre tutti i documenti in un contenitore di archiviazione

  1. In una finestra della console, ad esempio cmd, PowerShell o Bash, creare e passare a una nuova directory per l'app denominata document-translation-qs.

  2. Creare un nuovo file Go denominato document-translation.go nella directory document-translation-qs.

  3. Copiare e incollare l'esempio di codice di traduzione del documento nel file document-translation.go.

    • Aggiornare {your-document-translation-endpoint} e {your-key} con i valori dell'istanza di Traduttore del portale di Azure.

    • Aggiornare {your-source-container-SAS-URL} e {your-target-container-SAS-URL} con i valori dell'istanza di contenitori dell'account di archiviazione nel portale di Azure.

Esempio di codice

Importante

Al termine, ricordarsi di rimuovere la chiave dal codice e non renderlo mai pubblico. Per la produzione, utilizzare un modo sicuro per archiviare e accedere alle credenziali, ad esempio Azure Key Vault. Per altre informazioni, vedere l'articolo sulla sicurezza di Servizi di 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)
}

Eseguire l'applicazione Go

Dopo aver aggiunto un esempio di codice all'applicazione, il programma Go può essere eseguito in un prompt dei comandi o del terminale. Assicurarsi che il percorso del prompt sia impostato sulla cartella document-translation-qs e usare il comando seguente:

go run document-translation.go

Al termine dell'operazione:

  • I documenti tradotti sono disponibili nel contenitore di destinazione.
  • La corretta esecuzione del metodo POST restituisce un codice di risposta 202 Accepted che indica che il servizio ha creato la richiesta batch.
  • Anche la richiesta POST restituisce intestazioni della risposta, tra cui Operation-Location che fornisce un valore usato nelle richieste GET successive.

Configurare l'ambiente Java

In questo avvio rapido si usa lo strumento di automazione della compilazione Gradle per creare ed eseguire l'applicazione.

  • È necessario avere la versione più recente di Visual Studio Code o dell'IDE preferito. VedereJava in Visual Studio Code.

    Suggerimento

    • Visual Studio Code offre un pacchetto di codifica per Java per Windows e macOS. Il pacchetto di codifica è un pacchetto di VS Code, Java Development Kit (JDK) e una raccolta di estensioni suggerite da Microsoft. Il pacchetto di codifica può essere usato anche per correggere un ambiente di sviluppo esistente.
    • Se si utilizzano VS Code e il pacchetto di codifica per Java, installare l'estensione Gradle per Java.
  • Se non si usa Visual Studio Code, assicurarsi di avere installato quanto segue nell'ambiente di sviluppo:

Creare un nuovo progetto Gradle

  1. Nella finestra della console, ad esempio cmd, PowerShell o Bash, creare e passare a una nuova directory per l'app denominata tdocument-translation.

    mkdir document-translation && document-translation
    
    mkdir document-translation; cd document-translation
    
  2. Eseguire il comando gradle init dalla directory document-translation. Questo comando crea i file di compilazione essenziali per Gradle, tra cui build.gradle.kts, che viene usato in fase di esecuzione per creare e configurare l'applicazione.

    gradle init --type basic
    
  3. Quando viene chiesto di scegliere un linguaggio DSL, selezionare Kotlin.

  4. Accettare il nome del progetto predefinito (document-translation) selezionando Ritorna o Invio.

    Nota

    La creazione dell'intera applicazione potrebbe richiedere alcuni minuti, ma presto verranno visualizzati diversi file e cartelle, tra cui build-gradle.kts.

  5. Aggiornare build.gradle.kts con il codice seguente:

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

Tradurre tutti i documenti in un contenitore di archiviazione

  1. Dalla directory document-translation eseguire il comando seguente:

    mkdir -p src/main/java
    

    Il comando crea la struttura di directory seguente:

    Screenshot: Java directory structure.

  2. Passare alla directory java e creare un file denominato DocumentTranslation.java.

    Suggerimento

    • È possibile creare un nuovo file usando PowerShell.

    • Tenendo premuto il tasto MAIUSC e facendo clic con il pulsante destro del mouse sulla cartella, aprire una finestra di PowerShell nella directory del progetto.

    • Immettere il comando seguente New-Item DocumentTranslation.java.

    • È anche possibile creare un nuovo file nell'IDE denominato DocumentTranslation.java e salvarlo nella directory java.

  3. Copiare e incollare l'esempio di codice di traduzione del documento nel file DocumentTranslation.java.

    • Aggiornare {your-document-translation-endpoint} e {your-key} con i valori dell'istanza di Traduttore del portale di Azure.

    • Aggiornare {your-source-container-SAS-URL} e {your-target-container-SAS-URL} con i valori dell'istanza di contenitori dell'account di archiviazione nel portale di Azure.

Esempio di codice

Importante

Al termine, ricordarsi di rimuovere la chiave dal codice e non renderlo mai pubblico. Per la produzione, utilizzare un modo sicuro per archiviare e accedere alle credenziali, ad esempio Azure Key Vault. Per altre informazioni, vederel'articolo sulla sicurezza di Servizi di 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);
        }
    }
}

Compilare ed eseguire l'applicazione Java

  • Dopo aver aggiunto un esempio di codice all'applicazione, tornare alla directory principale del progetto, document-translation, aprire una finestra della console e immettere i comandi seguenti:

    1. Compilare l'applicazione con il comando build:

      gradle build
      
    2. Eseguire l'applicazione con il comando run:

      gradle run
      

Al termine dell'operazione:

  • I documenti tradotti sono disponibili nel contenitore di destinazione.
  • La corretta esecuzione del metodo POST restituisce un codice di risposta 202 Accepted che indica che il servizio ha creato la richiesta batch.
  • Anche la richiesta POST restituisce intestazioni della risposta, tra cui Operation-Location che fornisce un valore usato nelle richieste GET successive.

Configurare l'ambiente Node.js

Per questo avvio rapido si usa l'ambiente di runtime JavaScript di Node.js per creare ed eseguire l'applicazione.

  1. Se non è già stato fatto, installare la versione più recente di Node.js. Node Package Manager (npm) è incluso nell'installazione di Node.js.

    Suggerimento

    Se non si ha familiarità con Node.js, provare il modulo di Learn Introduzione a Node.js.

  2. In una finestra della console, ad esempio cmd, PowerShell o Bash, creare e passare a una nuova directory per l'app denominata document-translation.

    mkdir document-translation && cd document-translation
    
    mkdir document-translation; cd document-translation
    
  3. Eseguire il comando npm init per inizializzare l'applicazione ed eseguire lo scaffolding del progetto.

    npm init
    
  4. Specificare gli attributi del progetto accettando le richieste presentate nel terminale.

    • Gli attributi più importanti sono nome, numero di versione e punto di ingresso.
    • È consigliabile mantenere index.js per il nome del punto di ingresso. La descrizione, il comando di test, il repository GitHub, le parole chiave, l'autore e le informazioni sulla licenza sono attributi facoltativi, ma possono essere ignorati per questo progetto.
    • Accettare i suggerimenti tra parentesi selezionando Ritorna o Invio.
    • Dopo aver completato le richieste, nella directory document-translation verrà creato un file package.json.
  5. Usare npm per installare la libreria HTTP axios e il pacchetto uuid nella directory dell'app di traduzione di documenti:

    npm install axios uuid
    

Tradurre tutti i documenti in un contenitore di archiviazione

  1. Creare il file index.js nella directory dell'app.

    Suggerimento

    • È possibile creare un nuovo file usando PowerShell.

    • Tenendo premuto il tasto MAIUSC e facendo clic con il pulsante destro del mouse sulla cartella, aprire una finestra di PowerShell nella directory del progetto.

    • Immettere il comando New-Item index.js.

    • È anche possibile creare un nuovo file denominato index.js nell'IDE e salvarlo nella directory document-translation.

  2. Copiare e incollare il codice di esempio della traduzione del documento nel file index.js.

    • Aggiornare {your-document-translation-endpoint} e {your-key} con i valori dell'istanza di Traduttore del portale di Azure.

    • Aggiornare {your-source-container-SAS-URL} e {your-target-container-SAS-URL} con i valori dell'istanza di contenitori dell'account di archiviazione nel portale di Azure.

Esempio di codice

Importante

Al termine, ricordarsi di rimuovere la chiave dal codice e non renderlo mai pubblico. Per la produzione, utilizzare un modo sicuro per archiviare e accedere alle credenziali, ad esempio Azure Key Vault. Per altre informazioni, vedere l'articolo sulla sicurezza di Servizi di 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);
});

Eseguire l'applicazione JavaScript

Dopo aver aggiunto l'esempio di codice all'applicazione, eseguire il programma:

  1. Passare alla directory dell'applicazione (document-translation).

  2. Immettere ed eseguire il comando seguente nel terminale:

    node index.js
    

Al termine dell'operazione:

  • I documenti tradotti sono disponibili nel contenitore di destinazione.
  • La corretta esecuzione del metodo POST restituisce un codice di risposta 202 Accepted che indica che il servizio ha creato la richiesta batch.
  • Anche la richiesta POST restituisce intestazioni della risposta, tra cui Operation-Location che fornisce un valore usato nelle richieste GET successive.

Configurare il progetto Python

  1. Se non è già stato fatto, installare la versione più recente di Python 3.x. Il pacchetto del programma di installazione Python (pip) è incluso nell'installazione di Python.

    Suggerimento

    Se non si ha familiarità con Python, provare il modulo di Learn Introduzione a Python.

  2. Aprire una finestra del terminale e usare pip per installare la libreria Richieste e il pacchetto uuid0:

    pip install requests uuid
    

Tradurre tutti i documenti in un contenitore di archiviazione

  1. Usando l'editor o l'IDE preferito, creare una nuova directory per l'app denominata document-translation.

  2. Creare un nuovo file di Python denominato document-translation.py nella directory document-translation.

  3. Copiare e incollare il codice di esempio della traduzione del documento nel file document-translation.py.

    • Aggiornare {your-document-translation-endpoint} e {your-key} con i valori dell'istanza di Traduttore del portale di Azure.

    • Aggiornare {your-source-container-SAS-URL} e {your-target-container-SAS-URL} con i valori dell'istanza di contenitori dell'account di archiviazione nel portale di Azure.

Esempio di codice

Importante

Al termine, ricordarsi di rimuovere la chiave dal codice e non renderlo mai pubblico. Per la produzione, utilizzare un modo sicuro per archiviare e accedere alle credenziali, ad esempio Azure Key Vault. Per altre informazioni, vederel'articolo sulla sicurezza di Servizi di 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)

Eseguire l'applicazione Python

Dopo aver aggiunto un esempio di codice all'applicazione, compilare ed eseguire il programma:

  1. Passare alla directory document-translation.

  2. Immettere ed eseguire il comando seguente nella console:

    python document-translation.py
    

Al termine dell'operazione:

  • I documenti tradotti sono disponibili nel contenitore di destinazione.
  • La corretta esecuzione del metodo POST restituisce un codice di risposta 202 Accepted che indica che il servizio ha creato la richiesta batch.
  • Anche la richiesta POST restituisce intestazioni della risposta, tra cui Operation-Location che fornisce un valore usato nelle richieste GET successive.

Configurare l'ambiente di programmazione

In questo avvio rapido si usa lo strumento da riga di comando cURL per effettuare chiamate all'API REST di Traduzione di documenti.

Nota

Il pacchetto cURL è preinstallato nella maggior parte delle distribuzioni di Windows 10, Windows 11, macOS e Linux. È possibile controllare la versione del pacchetto con i comandi seguenti: Windows: curl.exe -V; macOS: curl -V; Linux: curl --version.

Se cURL non è installato, ecco i collegamenti per la piattaforma:

Tradurre i documenti (richiesta POST)

  1. Usando l'editor o l'IDE preferito, creare una nuova directory per l'app denominata document-translation.

  2. Creare un nuovo file json denominato document-translation.json nella directory document-translation.

  3. Copiare e incollare l'esempio di richiesta della traduzione del documento nel file document-translation.json. Sostituire {your-source-container-SAS-URL} e {your-target-container-SAS-URL} con i valori dell'istanza di contenitori dell'account di archiviazione nel portale di Azure.

    Esempio di richiesta:

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

Compilare ed eseguire la richiesta POST

Prima di eseguire la richiesta POST, sostituire {your-document-translator-endpoint} e {your-key} con i valori dell'istanza di Traduttore nel portale di Azure.

Importante

Al termine, ricordarsi di rimuovere la chiave dal codice e non renderlo mai pubblico. Per la produzione, utilizzare un modo sicuro per archiviare e accedere alle credenziali, ad esempio Azure Key Vault. Per altre informazioni, vederel'articolo sulla sicurezza di Servizi di Azure AI.

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"

Prompt dei comandi/terminale

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"

Al termine dell'operazione:

  • I documenti tradotti sono disponibili nel contenitore di destinazione.
  • La corretta esecuzione del metodo POST restituisce un codice di risposta 202 Accepted che indica che il servizio ha creato la richiesta batch.
  • Anche la richiesta POST restituisce intestazioni della risposta, tra cui Operation-Location che fornisce un valore usato nelle richieste GET successive.

Sono state completate tutte le operazioni necessarie. In questo avvio rapido è stata usata Traduzione di documenti per tradurre un documento mantenendo al contempo la struttura originale e il formato dei dati.

Passaggi successivi