5

我正在编写一个脚本来自动下载和更新已安装的 Google App Engine SDK 版本。我可以确定安装的版本。

我目前需要发出 wget 请求并检查它是否返回 404 错误;实际上这至少有 2 个请求,一个是检查错误修复更新,另一个是检查次要版本更新。

我想避免发出这些 wget 请求。为此,我需要确定 SDK 的最新(稳定而非预发布)版本。此信息是否可通过 API 或其他可查询来源获得?

4

2 回答 2

5

python SDK 在运行开发服务器时检查当前的 SDK。发射器也有这个设施。

这将是我将使用的方法。

对于命令行 sdk,实现检查的 python 代码是https://code.google.com/p/googleappengine/source/browse/trunk/python/google/appengine/tools/sdk_update_checker.py ,正如你所指出的启动器的代码是https://code.google.com/p/google-appengine-wx-launcher/source/browse/trunk/launcher/app.py

该代码对http://appengine.google.com/api/updatecheck执行 api RPC 并获取 yaml 响应。因此,您可以使用该代码,甚至只是从 sdk_checker 导入和 SDKUpdateChecker。

于 2013-06-20T07:41:30.103 回答
1

接受的答案最近被打破了。http://appengine.google.com/api/updatecheck现在返回这样的响应,最新发布版本设置为 0.0.0:

$ curl -LSfs https://appengine.google.com/api/updatecheck
    release: "0.0.0"
    timestamp: 1586242881
    api_versions: ['1']
    supported_api_versions:
      python:
        api_versions: ['1']
      python27:
        api_versions: ['1']
      go:
        api_versions: ['go1', 'go1.9']
      java7:
        api_versions: ['1.0']
      go111:
        api_versions: [null]

最新可用版本1.9.90位于 https://storage.googleapis.com/appengine-sdks/featured/google_appengine_1.9.90.zip

未来的版本(1.9.91 等)可能会在类似的 URL 上提供,但这还有待观察。它看起来像gcloud components install并且gcloud components update可用于安装 SDK,尽管编写脚本可能更困难。

更新: https ://cloud.google.com/appengine/docs/standard/python/sdk-gcloud-migration

自 2019 年 7 月 30 日起,独立的 App Engine SDK 已弃用。它将于 2020 年 7 月 30 日无法下载。

gcloud是前进的方向,尽管我不确定自动化 gcloud 更新的好方法。如果我找到一个好的建议或提出一个好的建议,我会在这里更新。

于 2020-04-09T18:23:23.193 回答