如果您在使用Batch Translation时遇到了"PermissionDenied: 403 Cloud IAM权限'cloudtranslate.generalModels.batchPredict'被拒绝"错误,这意味着您的IAM用户或服务账号没有足够的权限来执行批量翻译操作。
解决此问题的方法是为您的IAM用户或服务账号添加适当的权限。以下是一种可能的解决方法,具体步骤可能会因为您的账号设置而有所不同:
完成上述步骤后,您的用户或服务账号应该具有足够的权限来执行批量翻译操作。请注意,具体的角色和权限名称可能因为您的账号设置而有所不同,这里提供的是一种常见的情况。确保根据您的具体情况进行相应的设置。
以下是一个示例代码片段,展示如何使用Google Cloud Translation API进行批量翻译:
from google.cloud import translate_v2 as translate
def batch_translate(input_uri, output_uri, target_language):
translate_client = translate.Client()
location = "us-central1" # 翻译任务的位置,根据您的实际情况进行更改
# 创建翻译任务请求
response = translate_client.batch_translate_text(
input_uri,
output_uri,
target_language,
location=location
)
print("翻译任务创建成功!")
# 调用批量翻译函数
batch_translate(
"gs://your-bucket/input.txt", # 输入文件的URI
"gs://your-bucket/output/", # 输出文件的URI(文件夹)
"fr" # 目标语言
)
确保您已经为上述示例中使用的服务账号或IAM用户添加了适当的权限,以避免出现权限拒绝错误。