Rozpocznij tłumaczenie
Usługa referencyjna
: Wersja interfejsu API tłumaczenia
dokumentów sztucznej inteligencji platformy Azure: wersja 1.1
Użyj tego interfejsu API, aby uruchomić żądanie tłumaczenia z usługą tłumaczenia dokumentów. Każde żądanie może zawierać wiele dokumentów i musi zawierać kontener źródłowy i docelowy dla każdego dokumentu.
Filtr prefiksu i sufiksu (jeśli podano) są używane do filtrowania folderów. Prefiks jest stosowany do ścieżki podrzędnej po nazwie kontenera.
Słowniki/pamięć tłumaczenia można uwzględnić w żądaniu i zastosować przez usługę podczas tłumaczenia dokumentu.
Jeśli słownik jest nieprawidłowy lub nie jest osiągalny podczas tłumaczenia, w stanie dokumentu jest wyświetlany błąd. Jeśli plik o tej samej nazwie już istnieje w miejscu docelowym, zadanie zakończy się niepowodzeniem. Element targetUrl dla każdego języka docelowego musi być unikatowy.
Adres URL żądania
Wyślij żądanie POST
do:
POST https://<NAME-OF-YOUR-RESOURCE>.cognitiveservices.azure.com/translator/text/batch/v1.1/batches
Dowiedz się, jak znaleźć niestandardową nazwę domeny.
Ważne
- Wszystkie żądania interfejsu API do usługi tłumaczenia dokumentów wymagają niestandardowego punktu końcowego domeny.
- Nie można użyć punktu końcowego znajdującego się na stronie kluczy zasobów i punktu końcowego witryny Azure Portal, ani globalnego punktu końcowego translatora —
api.cognitive.microsofttranslator.com
w celu wysłania żądań HTTP do tłumaczenia dokumentów.
Nagłówki żądań
Nagłówki żądań to:
Nagłówki | opis |
---|---|
Ocp-Apim-Subscription-Key | Wymagany nagłówek żądania |
BatchRequest (treść)
Definicja dla wejściowego żądania tłumaczenia wsadowego. Każde żądanie może zawierać wiele dokumentów i musi zawierać kontener źródłowy i docelowy dla każdego dokumentu. Typy multimediów źródłowych: application/json
, text/json
, application/*+json
.
{
"inputs": [
{
"source": {
"sourceUrl": "https://myblob.blob.core.windows.net/Container/",
"filter": {
"prefix": "FolderA",
"suffix": ".txt"
},
"language": "en",
"storageSource": "AzureBlob"
},
"targets": [
{
"targetUrl": "https://myblob.blob.core.windows.net/TargetUrl/",
"category": "general",
"language": "fr",
"glossaries": [
{
"glossaryUrl": "https://myblob.blob.core.windows.net/Container/myglossary.tsv",
"format": "XLIFF",
"version": "2.0",
"storageSource": "AzureBlob"
}
],
"storageSource": "AzureBlob"
}
],
"storageType": "Folder"
}
],
"options": {
"experimental": true
}
}
Dane wejściowe
Definicja dla wejściowego żądania tłumaczenia wsadowego.
Parametr klucza | Typ | Wymagania | Parametry żądania | opis |
---|---|---|---|---|
Wejścia | array |
Prawda | • źródło (obiekt) • obiekty docelowe (tablica) • storageType (ciąg) |
Dane źródła danych wejściowych. |
inputs.source
Definicja danych źródłowych.
Parametr klucza | Typ | Wymagania | Parametry żądania | opis |
---|---|---|---|---|
inputs.source | object |
Prawda | • sourceUrl (ciąg) • filtr (obiekt)• język (ciąg) • storageSource (ciąg) |
Dane źródłowe dla dokumentów wejściowych. |
inputs.source.sourceUrl | string |
Prawda | •Ciąg | Lokalizacja kontenera dla pliku źródłowego lub folderu. |
inputs.source.filter | object |
Fałsz | • prefiks (ciąg) • sufiks (ciąg) |
Ciągi uwzględniające wielkość liter do filtrowania dokumentów w ścieżce źródłowej. |
inputs.source.filter.prefix | string |
Fałsz | •Ciąg | Ciąg prefiksu z uwzględnieniem wielkości liter w celu filtrowania dokumentów w ścieżce źródłowej na potrzeby tłumaczenia. Często używane do wyznaczania podfolderów na potrzeby tłumaczenia. Przykład: "FolderA". |
inputs.source.filter.sufiks | string |
Fałsz | •Ciąg | Ciąg sufiksu uwzględniający wielkość liter do filtrowania dokumentów w ścieżce źródłowej na potrzeby tłumaczenia. Najczęściej używane w przypadku rozszerzeń plików. Przykład: ".txt" |
inputs.source.language | string |
Fałsz | •Ciąg | Kod języka dokumentów źródłowych. Jeśli nie zostanie określony, funkcja autowykrywania jest implementowana. |
inputs.source.storageSource | string |
Fałsz | •Ciąg | Źródło magazynu dla danych wejściowych. Wartość domyślna to AzureBlob . |
inputs.targets
Definicja danych docelowych i słowników.
Parametr klucza | Typ | Wymagania | Parametry żądania | opis |
---|---|---|---|---|
inputs.targets | array |
Prawda | • targetUrl (ciąg) • kategoria (ciąg)• język (ciąg) • słowniki (tablica) • storageSource (ciąg) |
Obiekty docelowe i dane słowników dla przetłumaczonych dokumentów. |
inputs.targets.targetUrl | string |
Prawda | •Ciąg | Lokalizacja lokalizacji kontenera dla przetłumaczonych dokumentów. |
inputs.targets.category | string |
Fałsz | •Ciąg | Klasyfikacja lub kategoria żądania tłumaczenia. Przykład: ogólne. |
inputs.targets.language | string |
Prawda | •Ciąg | Kod języka docelowego. Przykład: "fr". |
inputs.targets.glossaries | array |
Fałsz | • słownikUrl (ciąg) • format (ciąg)• wersja (ciąg) • storageSource (ciąg) |
ZobaczTworzenie słowników i korzystanie z nich |
inputs.targets.glossaries.glossaryUrl | string |
True (jeśli używasz słowników) | •Ciąg | Lokalizacja słownika. Rozszerzenie pliku służy do wyodrębniania formatowania, jeśli parametr formatu nie został podany. Jeśli para języków tłumaczenia nie jest obecna w słowniku, nie jest stosowana. |
inputs.targets.glossaries.format | string |
Fałsz | •Ciąg | Określony format pliku słownika. Aby sprawdzić, czy format pliku jest obsługiwany, zobaczUzyskiwanie obsługiwanych formatów słownika. |
inputs.targets.glossaries.version | string |
Fałsz | •Ciąg | Wskaźnik wersji. Przykład: "2.0". |
inputs.targets.glossaries.storageSource | string |
Fałsz | •Ciąg | Źródło magazynu dla słowników. Wartość domyślna to _AzureBlob_ . |
inputs.targets.storageSource | string |
Fałsz | •Ciąg | Źródło magazynu dla obiektów docelowych. Wartość domyślna to _AzureBlob_ . |
inputs.storageType
Definicja jednostki magazynu dla dokumentów wejściowych.
Parametr klucza | Typ | Wymagania | Parametry żądania | opis |
---|---|---|---|---|
inputs.storageType | string |
Fałsz | •Folder • File |
Typ magazynu ciągu źródłowego dokumentów wejściowych. Prawidłowe wartości to tylko "Folder" lub "Plik". |
Opcje
Definicja dla wejściowego żądania tłumaczenia wsadowego.
Parametr klucza | Typ | Wymagania | Parametry żądania | opis |
---|---|---|---|---|
Opcje | object |
Fałsz | Informacje źródłowe dotyczące dokumentów wejściowych. | |
options.experimental | boolean |
Fałsz | •true • false |
Wskazuje, czy żądanie zawiera funkcję eksperymentalną (jeśli dotyczy). Tylko wartości logiczne true lub false są prawidłowe. |
Przykładowe żądanie
Poniżej przedstawiono przykłady żądań wsadowych.
Uwaga
W poniższych przykładach udzielono ograniczonego dostępu do zawartości kontenera usługi Azure Storage przy użyciu tokenu sygnatury dostępu współdzielonego (SAS).
Tłumaczenie wszystkich dokumentów w kontenerze
{
"inputs": [
{
"source": {
"sourceUrl": "https://my.blob.core.windows.net/source-en?sv=2019-12-12&st=2021-03-05T17%3A45%3A25Z&se=2021-03-13T17%3A45%3A00Z&sr=c&sp=rl&sig=SDRPMjE4nfrH3csmKLILkT%2Fv3e0Q6SWpssuuQl1NmfM%3D"
},
"targets": [
{
"targetUrl": "https://my.blob.core.windows.net/target-fr?sv=2019-12-12&st=2021-03-05T17%3A49%3A02Z&se=2021-03-13T17%3A49%3A00Z&sr=c&sp=wdl&sig=Sq%2BYdNbhgbq4hLT0o1UUOsTnQJFU590sWYo4BOhhQhs%3D",
"language": "fr"
}
]
}
]
}
Tłumaczenie wszystkich dokumentów w kontenerze stosujących słowniki
{
"inputs": [
{
"source": {
"sourceUrl": "https://my.blob.core.windows.net/source-en?sv=2019-12-12&st=2021-03-05T17%3A45%3A25Z&se=2021-03-13T17%3A45%3A00Z&sr=c&sp=rl&sig=SDRPMjE4nfrH3csmKLILkT%2Fv3e0Q6SWpssuuQl1NmfM%3D"
},
"targets": [
{
"targetUrl": "https://my.blob.core.windows.net/target-fr?sv=2019-12-12&st=2021-03-05T17%3A49%3A02Z&se=2021-03-13T17%3A49%3A00Z&sr=c&sp=wdl&sig=Sq%2BYdNbhgbq4hLT0o1UUOsTnQJFU590sWYo4BOhhQhs%3D",
"language": "fr",
"glossaries": [
{
"glossaryUrl": "https://my.blob.core.windows.net/glossaries/en-fr.xlf?sv=2019-12-12&st=2021-03-05T17%3A45%3A25Z&se=2021-03-13T17%3A45%3A00Z&sr=c&sp=rl&sig=BsciG3NWoOoRjOYesTaUmxlXzyjsX4AgVkt2AsxJ9to%3D",
"format": "xliff",
"version": "1.2"
}
]
}
]
}
]
}
Tłumaczenie określonego folderu w kontenerze
Upewnij się, że w filtrze określono nazwę folderu (uwzględniana wielkość liter) jako prefiks.
{
"inputs": [
{
"source": {
"sourceUrl": "https://my.blob.core.windows.net/source-en?sv=2019-12-12&st=2021-03-05T17%3A45%3A25Z&se=2021-03-13T17%3A45%3A00Z&sr=c&sp=rl&sig=SDRPMjE4nfrH3csmKLILkT%2Fv3e0Q6SWpssuuQl1NmfM%3D",
"filter": {
"prefix": "MyFolder/"
}
},
"targets": [
{
"targetUrl": "https://my.blob.core.windows.net/target-fr?sv=2019-12-12&st=2021-03-05T17%3A49%3A02Z&se=2021-03-13T17%3A49%3A00Z&sr=c&sp=wdl&sig=Sq%2BYdNbhgbq4hLT0o1UUOsTnQJFU590sWYo4BOhhQhs%3D",
"language": "fr"
}
]
}
]
}
Tłumaczenie określonego dokumentu w kontenerze
- Określ wartość "storageType":
File
. - Utwórz źródłowy adres URL i token sygnatury dostępu współdzielonego dla określonego obiektu blob/dokumentu.
- Określ docelową nazwę pliku jako część docelowego adresu URL — mimo że token SAS jest nadal przeznaczony dla kontenera.
To przykładowe żądanie przedstawia pojedynczy dokument przetłumaczony na dwa języki docelowe.
{
"inputs": [
{
"storageType": "File",
"source": {
"sourceUrl": "https://my.blob.core.windows.net/source-en/source-english.docx?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D"
},
"targets": [
{
"targetUrl": "https://my.blob.core.windows.net/target/try/Target-Spanish.docx?sv=2019-12-12&st=2021-01-26T18%3A31%3A11Z&se=2021-02-05T18%3A31%3A00Z&sr=c&sp=wl&sig=AgddSzXLXwHKpGHr7wALt2DGQJHCzNFF%2F3L94JHAWZM%3D",
"language": "es"
},
{
"targetUrl": "https://my.blob.core.windows.net/target/try/Target-German.docx?sv=2019-12-12&st=2021-01-26T18%3A31%3A11Z&se=2021-02-05T18%3A31%3A00Z&sr=c&sp=wl&sig=AgddSzXLXwHKpGHr7wALt2DGQJHCzNFF%2F3L94JHAWZM%3D",
"language": "de"
}
]
}
]
}
Kody stanu odpowiedzi
Poniżej przedstawiono możliwe kody stanu HTTP zwracane przez żądanie.
Kod stanu | opis |
---|---|
202 | Akceptowane. Pomyślne żądanie i utworzone żądanie wsadowe. Nagłówek Operation-Location wskazuje adres URL stanu z operacją ID.HeadersOperation-Location: ciąg |
400 | Nieprawidłowe żądanie. Nieprawidłowe żądanie. Sprawdź parametry wejściowe. |
401 | Brak autoryzacji. Sprawdź poświadczenia. |
429 | Szybkość żądań jest zbyt wysoka. |
500 | Wewnętrzny błąd serwera. |
503 | Usługa jest obecnie niedostępna. Spróbuj ponownie później. |
Inne kody stanu | • Zbyt wiele żądań • Serwer tymczasowy niedostępny |
Odpowiedź błędna
Parametr klucza | Type | Opis |
---|---|---|
code | string |
Wyliczenia zawierające kody błędów wysokiego poziomu. Możliwe wartości:
|
wiadomość | string |
Pobiera komunikat o błędzie wysokiego poziomu. |
innerError | InnerTranslationError | Nowy format błędu wewnętrznego zgodny z wytycznymi interfejsu API usług AI platformy Azure. Ten komunikat o błędzie zawiera wymagane właściwości: ErrorCode, message i optional properties target, details(key value pair) i wewnętrzny błąd (można go zagnieżdżać). |
Wewnętrzny. Errorcode | string |
Pobiera ciąg błędu kodu. |
innerError.message | string |
Pobiera komunikat o błędzie wysokiego poziomu. |
innerError.target | string |
Pobiera źródło błędu. Na przykład byłoby documents to lub document id jeśli dokument jest nieprawidłowy. |
Przykłady
Przykład pomyślnej odpowiedzi
Następujące informacje są zwracane w pomyślnej odpowiedzi.
Identyfikator zadania można znaleźć w wartości adres URL nagłówka operacji-lokalizacji odpowiedzi metody POST. Ostatnim parametrem adresu URL jest identyfikator zadania operacji (ciąg następujący: "/operation/").
Operation-Location: https://<NAME-OF-YOUR-RESOURCE>.cognitiveservices.azure.com/translator/text/batch/v1.1/operation/0FA2822F-4C2A-4317-9C20-658C801E0E55
Przykładowa odpowiedź na błąd
{
"error": {
"code": "ServiceUnavailable",
"message": "Service is temporary unavailable",
"innerError": {
"code": "ServiceTemporaryUnavailable",
"message": "Service is currently unavailable. Please try again later"
}
}
}
Następne kroki
Postępuj zgodnie z naszym przewodnikiem Szybki start, aby dowiedzieć się więcej na temat korzystania z tłumaczenia dokumentów i biblioteki klienta.