使用服务帐户从Python部署App Engine版本

时间:2018-10-04 13:18:08

标签: python google-app-engine google-cloud-platform

尝试通过使用服务帐户从Python部署App Engine实例。目标是启动许多实例,执行一些繁重的网络任务(下载和上传文件)并关闭后遗症。 我正在尝试使用Python运行时中的服务帐户执行此操作,但是出现以下错误

TypeError: Missing required parameter "servicesId"

这可能是什么问题,或者对于这种任务有更好的解决方案?谢谢,代码如下:

SCOPES = ['https://www.googleapis.com/auth/cloud-platform']
SERVICE_ACCOUNT_FILE = 'service.json'
credentials = service_account.Credentials.from_service_account_file(
    SERVICE_ACCOUNT_FILE, scopes=SCOPES)

gcp = build('appengine', 'v1', credentials=credentials)
res = gcp.apps().create(body={"id":"251499913983"})

app_json = {
  "deployment": {
    "files": {
        "my-resource-file1": {
          "sourceUrl": "https://storage.googleapis.com/downloader_sources/hello-world/main.py"
        }
      }
  },
  "handlers": [
    {
      "script": {
        "scriptPath": "main.app"
      },
      "urlRegex": "/.*"
    }
  ],
  "runtime": "python27",
  "threadsafe": True
}
res2 = gcp.apps().services().versions().create(body=app_json)

1 个答案:

答案 0 :(得分:1)

我想您需要指定要部署到的服务。您可以使用默认值:

gcp.apps().services().versions().create(serviceID=default, body=app_json)

有关更多详细信息,请参见doc