# General Translation Integrations: 部署到 Databricks
URL: https://generaltranslation.com/zh/docs/integrations/databricks/guides/deploying.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: 如何部署已翻译的 Databricks App，同时附带其译文，并将 General Translation API 密钥存储为 Databricks 密钥。

已部署的应用需要从 General Translation 获取两样东西：一是界面译文，它会随源代码一同发布；二是用于在运行时翻译数据的 API 密钥，由 Databricks 通过密钥 (secret) 提供。

## 开始之前 [#before-start]

请先完成[快速入门](/docs/integrations/databricks/quickstart)，然后安装 [Databricks CLI](https://docs.databricks.com/aws/en/dev-tools/cli/) 并登录你的工作区。

## 发布界面译文 [#translations]

每次部署前运行 [`npx gt translate`](/docs/cli/reference/commands/translate)，并提交它写入 `client/src/_gt/` 的文件。Databricks 会从源码构建你的应用，因此源码树中没有的译文，应用中也不会有。

如需改为在 CI 中翻译，请在部署前于 CI 中运行 [`npx gt translate`](/docs/cli/reference/commands/translate)，并使用 CI 密钥存储中的 `GT_API_KEY` (参见 [CLI 凭据](/docs/cli/guides/configuring#credentials)) 。

## 将 API 密钥存储为密钥 [#api-key]

服务器会读取 `GT_PROJECT_ID` 和 `GT_API_KEY`。项目 ID 无需保密，但 API 密钥需要保密，因此请将其保存在 Databricks 密钥中：

1. 创建 API 密钥，并通过管道直接写入密钥。该值不会在终端中显示：

   ```bash
   npx gt api-key create --project-id <project-id> --name 'Databricks app' --permission project:translations:generate \
     | databricks secrets put-secret gt api-key
   ```

   如果 `gt` scope 尚不存在，请先运行 `databricks secrets create-scope gt` 创建。

2. 在 `databricks.yml` 中将该密钥绑定到你的应用：

   ```yaml title="databricks.yml"
   resources:
     apps:
       app:
         resources:
           - name: gt-api-key
             secret:
               scope: gt
               key: api-key
               permission: READ
   ```

3. 在 `app.yaml` 中设置这两个变量。`valueFrom` 引用上一步中定义的资源名称：

   ```yaml title="app.yaml"
   env:
     - name: GT_PROJECT_ID
       value: <project-id>
     - name: GT_API_KEY
       valueFrom: gt-api-key
   ```

4. 部署应用。应用启动时，Databricks 会将该密钥的值解析并注入 `GT_API_KEY`。

<Callout type="warn">
  **警告：** 切勿将 API 密钥本身写入 `app.yaml`、`databricks.yml` 或客户端代码。`client/` 下的所有内容都会发送到浏览器。
</Callout>

## 检查已部署的应用 [#check]

打开应用，选择一种语言，确认界面和数据都已切换。如果界面切换了，但数据仍是源语言，说明服务器缺少 `GT_PROJECT_ID` 或 `GT_API_KEY`：在生产环境中，[`tx`](/docs/node/reference/functions/tx) 会记录错误并返回源文本，因此应用仍可正常运行。

## Next steps

- /docs/integrations/databricks/guides/translating-data

## Sitemap

See the full [sitemap](https://generaltranslation.com/sitemap.md) for all pages.
