Starta batchöversättning
Referensfunktion
: Azure AI Translator → API-version för dokumentöversättning
: HTTP-metod 2024-05-01
: POST
Start Translation
Använd metoden för att köra en asynkron batchöversättningsbegäran.- Metoden kräver ett Azure Blob Storage-konto med lagringscontainrar för källan och översatta dokument.
Begärans-URL
Viktigt!
Alla API-begäranden till funktionen Dokumentöversättning kräver en anpassad domänslutpunkt som finns på resursöversiktssidan i Azure Portal.
curl -i -X POST "{document-translation-endpoint}/translator/document/batches?api-version={date}"
Begärandehuvuden
Begärandehuvuden är:
Sidhuvuden | beskrivning | Villkor |
---|---|---|
Ocp-Apim-Subscription-Key | Din TRANSLATOR-tjänst-API-nyckel från Azure Portal. | Krävs |
Ocp-Apim-Subscription-Region | Den region där resursen skapades. | Krävs när du använder en regional (geografisk) resurs som USA, västra. &punkt. |
Innehållstyp | Nyttolastens innehållstyp. Det godkända värdet är application/json eller charset=UTF-8. | Krävs |
BatchRequest (brödtext)
Varje begäran kan innehålla flera dokument och måste innehålla en käll- och målcontainer för varje dokument. Källmedietyper:
application/json
,text/json
,application/*+json
.Prefixet och suffixfiltret (om det tillhandahålls) används för att filtrera mappar. Prefixet tillämpas på undersökvägen efter containernamnet.
Ordlistor kan ingå i begäran. Om ordlistan är ogiltig eller inte kan nås under översättningen visas ett fel i dokumentstatusen.
Om det redan finns en fil med samma namn i målmålet misslyckas jobbet.
TargetUrl för varje målspråk måste vara unikt.
{
"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.xlf",
"format": "XLIFF",
"version": "2.0",
"storageSource": "AzureBlob"
}
],
"storageSource": "AzureBlob"
}
],
"storageType": "Folder"
}
],
}
Indata
Definition för begäran om indatabatchöversättning.
Nyckelparameter | Typ | Obligatoriskt | Parametrar för begäran | beskrivning |
---|---|---|---|---|
Ingångar | array |
Sant | • källa (objekt) • mål (matris) • storageType (sträng) |
Indata för källdata. |
inputs.source
Definition för källdata.
Nyckelparameter | Typ | Obligatoriskt | Parametrar för begäran | beskrivning |
---|---|---|---|---|
inputs.source | object |
Sant | • sourceUrl (sträng) • filter (objekt) • språk (sträng) • storageSource (sträng) |
Källdata för indatadokument. |
inputs.source.sourceUrl | string |
Sant | •sträng | Containerplats för källfilen eller mappen. |
inputs.source.filter | object |
Falsk | • prefix (sträng) • suffix (sträng) |
Skiftlägeskänsliga strängar för att filtrera dokument i källsökvägen. |
inputs.source.filter.prefix | string |
Falsk | •sträng | Skiftlägeskänslig prefixsträng för att filtrera dokument i källsökvägen för översättning. Används ofta för att utse undermappar för översättning. Exempel: "FolderA". |
inputs.source.filter.suffix | string |
Falsk | •sträng | Skiftlägeskänslig suffixsträng för att filtrera dokument i källsökvägen för översättning. Används oftast för filnamnstillägg. Exempel: ".txt" |
inputs.source.language | string |
Falsk | •sträng | Språkkoden för källdokumenten. Om det inte anges implementeras autodetect. |
inputs.source.storageSource | string |
Falsk | •sträng | Lagringskälla för indata. Standardvärdet är AzureBlob . |
inputs.targets
Definition för mål- och ordlistedata.
Nyckelparameter | Typ | Obligatoriskt | Parametrar för begäran | beskrivning |
---|---|---|---|---|
inputs.targets | array |
Sant | • targetUrl (sträng) • kategori (sträng) • språk (sträng) • ordlistor (matris) • storageSource (sträng) |
Mål och ordlistor för översatta dokument. |
inputs.targets.targetUrl | string |
Sant | •sträng | Plats för containerplatsen för översatta dokument. |
inputs.targets.category | string |
Falsk | •sträng | Klassificering eller kategori för översättningsbegäran. Exempel: allmänt. |
inputs.targets.language | string |
Sant | •sträng | Målspråkkod. Exempel: "fr". |
inputs.targets.glossaries | array |
Falsk | • ordlistaUrl (sträng) • format (sträng) • version (sträng) • storageSource (sträng) |
Se Skapa och använda ordlistor |
inputs.targets.glossaries.glossaryUrl | string |
Sant (om du använder ordlistor) | •sträng | Ordlistans plats. Filtillägget används för att extrahera formateringen om formatparametern inte har angetts. Om översättningsspråkparet inte finns i ordlistan tillämpas det inte. |
inputs.targets.glossaries.format | string |
Falsk | •sträng | Angivet filformat för ordlistan. Information om hur du kontrollerar om filformatet stöds finns i Hämta ordlisteformat som stöds. |
inputs.targets.glossaries.version | string |
Falsk | •sträng | Versionsindikator. Exempel: "2.0". |
inputs.targets.glossaries.storageSource | string |
Falsk | •sträng | Lagringskälla för ordlistor. Standardvärdet är _AzureBlob_ . |
inputs.targets.storageSource | string |
Falsk | •sträng | Lagringskälla för targets.defaults till _AzureBlob_ . |
inputs.storageType
Definition av lagringsentiteten för indatadokument.
Nyckelparameter | Typ | Obligatoriskt | Parametrar för begäran | beskrivning |
---|---|---|---|---|
inputs.storageType | string |
Falsk | •Folder • File |
Lagringstyp för källsträngen för indatadokument. Endast "Mapp" eller "Fil" är giltiga värden. |
Alternativ
Definition för begäran om indatabatchöversättning.
Nyckelparameter | Typ | Obligatoriskt | Parametrar för begäran | beskrivning |
---|---|---|---|---|
Alternativ | object |
Falsk | Källinformation för indatadokument. | |
options.experimental | boolean |
Falsk | •true • false |
Anger om begäran innehåller en experimentell funktion (om tillämpligt). Endast booleska true värden eller false är giltiga värden. |
Exempelbegäranden
Följande är exempel på batchbegäranden.
Kommentar
I följande exempel har begränsad åtkomst beviljats till innehållet i en Azure Storage-container med hjälp av en SAS-token (signatur för delad åtkomst).
Översätta alla dokument i en container
{
"inputs": [
{
"source": {
"sourceUrl": "https://my.blob.core.windows.net/source-en?{SAS-token-query-string}"
},
"targets": [
{
"targetUrl": "https://my.blob.core.windows.net/target-fr?{SAS-token-query-string}",
"language": "fr"
}
]
}
]
}
Översätta alla dokument i en container med ordlistor
{
"inputs": [
{
"source": {
"sourceUrl": "https://my.blob.core.windows.net/source-en?{SAS-token-query-string}"
},
"targets": [
{
"targetUrl": "https://my.blob.core.windows.net/target-fr?{SAS-token-query-string}",
"language": "fr",
"glossaries": [
{
"glossaryUrl": "https://my.blob.core.windows.net/glossaries/en-fr.xlf?{SAS-token-query-string}",
"format": "xliff",
"version": "1.2"
}
]
}
]
}
]
}
Översätta en specifik mapp i en container
Kontrollera att du anger mappnamnet (skiftlägeskänsligt) som prefix i filtret.
{
"inputs": [
{
"source": {
"sourceUrl": "https://my.blob.core.windows.net/source-en?{SAS-token-query-string}",
"filter": {
"prefix": "MyFolder/"
}
},
"targets": [
{
"targetUrl": "https://my.blob.core.windows.net/target-fr?{SAS-token-query-string}",
"language": "fr"
}
]
}
]
}
Översätta ett specifikt dokument i en container
- Ange "storageType":
File
. - Skapa käll-URL och SAS-token för den specifika bloben/dokumentet.
- Ange målfilnamnet som en del av mål-URL:en , även om SAS-token fortfarande är för containern.
Den här exempelbegäran visar ett enda dokument som översätts till två målspråk.
{
"inputs": [
{
"storageType": "File",
"source": {
"sourceUrl": "https://my.blob.core.windows.net/source-en/source-english.docx?{SAS-token-query-string}"
},
"targets": [
{
"targetUrl": "https://my.blob.core.windows.net/target/try/Target-Spanish.docx?{SAS-token-query-string}",
"language": "es"
},
{
"targetUrl": "https://my.blob.core.windows.net/target/try/Target-German.docx?{SAS-token-query-string}",
"language": "de"
}
]
}
]
}
Dricks
Den här metoden returnerar jobbparametern id
för frågesträngarna get-translation-status, get-documents-status, get-document-status och cancel-translation request.
Du hittar jobbet
id
i POST-metodensstart-batch-translation
svarshuvud-URL-värdeOperation-Location
. Den alfanumeriska strängen som följer parametern/document/
är åtgärdens jobbid
:Svarsrubrik Svars-URL Åtgärdsplats {document-translation-endpoint}/translator/document/ 9dce0aa9-78dc-41ba-8cae-2e2f3c2ff8ec
?api-version=2024-05-01Du kan också använda en begäran om get-translations-status för att hämta en lista över översättningsjobb och deras
id
.
Svarsstatuskoder
Följande är de möjliga HTTP-statuskoder som en begäran returnerar.
Statuskod | beskrivning |
---|---|
202 | Accepterad. Lyckad begäran och batchbegäran har skapats. Rubriken Operation-Location anger en status-URL med åtgärds-ID.HeadersOperation-Location: sträng |
400 | Felaktig begäran. Ogiltig begäran Kontrollera indataparametrar. |
401 | Behörighet saknas. Kontrollera dina autentiseringsuppgifter. |
429 | Begärandefrekvensen är för hög. |
500 | Internt serverfel. |
503 | Tjänsten är för närvarande inte tillgänglig. Försök igen senare. |
Andra statuskoder | • För många förfrågningar. Servern är tillfälligt otillgänglig |
Felsvar
Nyckelparameter | Typ | Beskrivning |
---|---|---|
kod | string |
Uppräkningar som innehåller felkoder på hög nivå. Möjliga värden:</br/>• InternalServerError • InvalidArgument • InvalidRequest • RequestRateTooHigh • ResourceNotFound • ServiceUnavailable • Obehörig |
meddelande | string |
Hämtar felmeddelande på hög nivå. |
innerError | InnerTranslationError | Nytt format för inre fel som överensstämmer med API-riktlinjerna för Azure AI-tjänster. Det här felmeddelandet innehåller nödvändiga egenskaper: ErrorCode, meddelande och valfria egenskaper, information (nyckelvärdepar) och inre fel (det kan kapslas). |
inre. Felkod | string |
Hämtar kodfelsträngen. |
innerError.message | string |
Hämtar felmeddelande på hög nivå. |
innerError.target | string |
Hämtar källan till felet. Det skulle till exempel vara documents eller document id om dokumentet är ogiltigt. |
Exempel på felsvar
{
"error": {
"code": "ServiceUnavailable",
"message": "Service is temporary unavailable",
"innerError": {
"code": "ServiceTemporaryUnavailable",
"message": "Service is currently unavailable. Please try again later"
}
}
}
Nästa steg
Följ vår snabbstart om du vill veta mer om hur du använder dokumentöversättning och klientbiblioteket.