我开始学习云。我正在尝试使用Azure翻译服务翻译文档。BLOB的层次结构如下所示。
|- 存储帐户
|--容器1
|---翻译输入
|----sampleTranslation。docx
|---翻译输出
我想翻译 sampleTranslation.docx 并将其存储在 translation-output 文件夹下的单独文件中。
我在做POSTMAN的API调用。响应状态为202(表示成功),但没有响应体。翻译也没有发生。
当从Python发送相同的JSON时,它会给出以下错误:
JSON值无法转换为Microsoft。MT.Batch.Contracts.Api.V1.StartTranslationDetails.路径:$|行号:0|BytePositionInLine:590.
你能告诉我哪里做错了吗?
POSTMAN截图附后。
Postman API Screenshot
Python代码:
subscription_key = CONSTANTS["TRANSLATOR_TEXT_SUBSCRIPTION_KEY"]
region = CONSTANTS["TRANSLATOR_TEXT_REGION"]
endpoint = CONSTANTS["TRANSLATOR_DOC_ENDPOINT"]
constructed_url = endpoint + "/translator//text//batch//v1.0//batches"
headers = {
"Ocp-Apim-Subscription-Key": subscription_key,
"Ocp-Apim-Subscription-Region": region,
"Content-type": "application/json",
"X-ClientTraceId": str(uuid.uuid4()),
}
body = json.dumps(
{
"inputs": [
{
"source": {
"sourceUrl": sourceUrl,
},
"targets": [
{
"targetUrl": targetUrl,
"language": "fr"
}
]
}
]
}
)
request = requests.post(
constructed_url, headers=headers, json=body, verify=False
)
response = request.json()
print("Request URL:\t", constructed_url)
print("Response:\t")
print(
json.dumps(
response,
sort_keys=True,
indent=4,
ensure_ascii=False,
separators=(",", ": "),
)
)
1条答案
按热度按时间nsc4cvqm1#
HTTP状态码202表示请求已被接受处理,这是批量翻译作业等长时间运行操作的正常响应。
我已尽力重复上述要求。我使用了下面的代码。感谢@Shweta Lodha
**输出:**如预期。
但是当我签入目标容器时,我可以看到按照要求翻译的文件。
你可以看到Docx文件从英文翻译成法文。