下载您的应用

如需下载应用的文件,请运行带有 download_app 操作的 appcfg.sh 命令。

appcfg.sh -A [YOUR_PROJECT_ID] -V [YOUR_VERSION_ID] download_app [OUTPUT_DIR]

其中:

  • [YOUR_PROJECT_ID] 是您的 Cloud 项目 ID。
  • [YOUR_VERSION_ID] 是您要下载的应用的版本 ID。
  • [OUTPUT_DIR] 是您要将文件下载到的完整目录路径。

如需详细了解此命令,请参阅 appcfg.sh download_app 参考文档。

如果成功运行该命令,您会获得如下所示的输出:

Getting file list...
Fetching files...
Getting files...

[1/5] request.class
[2/5] login.class
[3/5] static/screen.css
[4/5] static/print.css
[5/5] images/bird.png

问题排查

Command not found

如果您安装了 Google Cloud SDK 并使用 gcloud 工具,则可以在 [SDK_INSTALL_PATH]/google-cloud-sdk/platform/google_appengine/ 目录中找到 appcfg.sh 命令。

例如,如需使用 Google Cloud SDK,请通过指定以下目录路径来运行 appcfg.sh

[SDK_INSTALL_PATH]/google-cloud-sdk/platform/google_appengine/appcfg.sh -A [YOUR_PROJECT_ID] -V [YOUR_VERSION_ID] download_app [OUTPUT_DIR]
You do not have permission to download this app version

只有部署了该应用版本且经过身份验证的用户以及具有项目 Owner 角色的用户才有权限下载文件。其他用户若尝试下载该应用,将收到如下所示的错误消息:

Fetching file list...
Error 403: --- begin server output ---
You do not have permission to download this app version.
--- end server output ---

防止下载源代码

可以使用组织政策来限制对任何可用源代码的下载权限。

用于控制代码下载的限制条件是:

constraints/appengine.disableCodeDownload

限制条件的默认值为 false,表示已启用代码下载功能。您可以对组织、项目和文件夹启用此政策限制条件,并由子资源继承。例如,项目继承对其包含的文件夹设置的政策限制条件,而文件夹则继承对组织设置的限制条件。

权限

如果您在组织中被授予 orgpolicy.policyAdmin 角色,则可以设置 appengine.disableCodeDownload 限制条件。

在组织级层设置政策限制

要设置 constraints/appengine.disableCodeDownload 限制条件,您需要知道项目的组织 ID。

查找您的组织 ID

控制台

您可以在 Google Cloud Console 上找到该 ID:

  1. 登录 Google Cloud Console
  2. 点击项目选择器。

    组织和项目选择器的屏幕截图

  3. 选择组织,然后查找组织 ID。

    组织 ID 的屏幕截图

gcloud

运行以下 gcloud 命令并查找 ID:

gcloud organizations list

示例 gcloud 输出如下所示的内容,其中,ID 是项目 ID:

DISPLAY_NAME           ID
example-organization   29252605212

设置政策限制条件

Console

要设置组织政策,请配置限制条件以停用源代码下载:

  1. 转到 Google Cloud Console 中的组织政策页面。

    转到“组织政策”页面

  2. 在页面顶部,点击组织下拉列表,然后选择您的组织。
  3. 点击停用源代码下载
  4. 点击修改按钮。
  5. 应用对象下,选择自定义
  6. 实施下,选择开启
  7. 点击保存。此时将显示一条通知,确认政策已更新。

gcloud

可以使用 gcloud 命令行工具设置政策。

要停用源代码下载,请运行以下命令:

gcloud alpha resource-manager org-policies enable-enforce \
    --organization 'ORGANIZATION_ID' \
    appengine.disableCodeDownload

要停用政策,您可以发出相同命令,但需要搭配

disable-enforce
命令。

您可以在文件夹和项目级设置 appengine.disableCodeDownload 限制条件。如需详细了解如何在组织政策中使用限制条件,请参阅使用限制条件