如何使用 .NET 云客户端库重新制作 `gcloud 运行 deploy`?

How to remake `gcloud run deploy` with .NET Cloud Client Libraries?

我正在尝试使用 .NET 云客户端库将已构建的映像部署到云 运行。

我需要与 gcloud run deploy hello --image=us-docker.pkg.dev/cloudrun/container/hello 完全相同的行为,但使用 .NET 云客户端库。

不幸的是,我在 https://cloud.google.com/dotnet/docs/reference 中找不到能做到这一点的 API。

我还尝试从 https://cloud.google.com/sdk/docs/install 下载 Cloud SDK 并使用 PyCharm 检查代码。

API 被称为 Cloud 运行 Admin API.

Cloud Run Admin API

有 .NET 的 SDK。

Cloud Run Admin API Client Library for .NET

Namespace Google.Apis.CloudRun.v1

创建云 运行 服务相当复杂。我建议您先研究 REST API 以便了解请求体。 .NET 库对 REST API.

建模

Method: namespaces.services.create

关键是服务资源:

Resource: Service

有一种快速学习 API 请求正文的方法。创建一个简单的 Cloud 运行 示例,然后添加命令行选项 --log-http。将输出保存到一个文件,然后研究 HTTP 请求参数和请求正文以破译创建服务所需的非常大的数据结构。

gcloud run deploy --log-http

我在云端写了两篇文章运行管理员API:

  1. Google Cloud Run Deep Dive – Understanding the APIs – Part 1
  2. Google Cloud Run Deep Dive – Understanding the APIs – Part 2

注:那些文章是我两年前写的。 Cloud 运行 从那时起进步了很多。但是,这些文章将帮助您了解当时其他地方未发布的服务的底层细节。