使用文档翻译 API 可以大规模或按需翻译文档。 在配置环境之前,请选择适合工作负荷的翻译过程。 每个进程都有不同的基础结构要求,并且针对不同的方案进行了优化。
API 支持两个翻译过程:
- 异步批处理翻译 - 使用此过程并行翻译多个文档或大型文件。 需要一个Azure Blob 存储帐户,其中包含源和已翻译文档的单独容器。
- 同步单个文件 — 使用此过程可在不使用 Azure Blob 存储的情况下翻译单个文档。 API 直接在响应中返回已翻译的文档。
Azure资源
在开始之前,请确保满足以下条件:
需要有效的 Azure 订阅。 如果没有,可以创建一个试用帐户。
对于基于 NMT 的翻译,需要具有自定义域终结点的 Azure 翻译器 资源:
- 在 Azure 门户中创建 Azure 翻译器 资源。
- 部署资源后,选择“转到资源”并检索密钥和终结点。 使用这些值将应用程序连接到 Translator 服务。
具有以下容器的 Azure Blob 存储帐户(异步批量翻译所必需):
- 用于存放输入文档的 源 容器。
- 用于存放您已翻译文档的 目标 容器。
Authentication
文档翻译 API 对翻译器资源使用基于密钥的身份验证,并使用单独的授权进行Azure Blob 存储访问。 在发出 API 请求之前配置这两者。
翻译 API 身份验证
若要对翻译器 API 的请求进行身份验证,请在请求标头中包含资源密钥。 可以在 Azure 门户中翻译资源的 Keys 和 Endpoint 页上找到密钥。
包括以下标头:
Ocp-Apim-Subscription-Key: <your-key>
如果使用区域资源,请包括:
Ocp-Apim-Subscription-Region: <your-subscription-region>
存储授权(选择一种)
若要访问源容器和目标Blob 存储容器,API 需要授权。 根据安全要求选择以下方法之一。
选项 1:托管标识
使用托管标识,Azure授予翻译器资源对Blob 存储的访问权限,而无需在代码中嵌入凭据。 这是建议的方法,因为它无需为源和目标 URL 生成和管理共享访问签名 (SAS) 令牌。
有关设置说明,请参阅 用于文档翻译的托管标识。
选项 2:共享访问签名(SAS)
SAS 令牌是一种 URL 查询字符串,用于授予对 Blob 存储容器或 Blob 的有时限且有范围限制的访问权限。 在请求中,为每个 sourceUrl 和 targetUrl 附加一个 SAS 令牌。 可以将令牌的作用范围限定为整个容器或特定 Blob 对象。
SAS 令牌必须包含以下权限:
- 源容器或Blob:读取和列出
- 目标容器或 Blob 对象:写入和列出
有关生成令牌的说明,请参阅 “创建 SAS 令牌”。