问题标签 [google-cloud-scheduler]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
6562 浏览

python - 如何通过身份验证从 Cloud Scheduler 调用 Cloud Function

我到处看了看,似乎人们要么使用 pubsub、应用程序引擎 http 或没有身份验证的 http。没有太多人展示他们通过带有 oidc 令牌的身份验证访问功能以访问谷歌功能的工作。

我检查了:无法从 GCP 调度程序调用 Google Cloud Function,但似乎没有任何效果。

我遵循的文档: https ://cloud.google.com/scheduler/docs/http-target-auth#using-gcloud_1

  1. 创建了一个新的服务帐户
  2. 设置角色(云调度服务代理/云功能服务代理/云调度管理员/云功能调用者......甚至尝试过所有者!)
  3. 部署了不允许公共(未经身份验证)访问的谷歌函数(一个简单的 helloworld 函数)
  4. 在云调度程序上设置 cron 作业,以使用此配置针对新部署的功能每分钟运行一次:
    • url = helloworld 函数
    • oidc 令牌
    • 新创建的服务帐户
    • 观众设置为 hello world 功能 url

云调度程序日志的结果:

我看到一个解决方案显示有人创建了一个新项目来实现它,还有其他的吗?

感谢提供的任何帮助。

更新

新的 Google 功能 - 在中央运行(与我的应用引擎应用相同)

新服务帐户 - 具有所有者角色

新计划任务 - 信息

新计划任务 - 状态

新计划任务 - 日志

实际修复

如果您缺少 cloudscheduler 服务帐户(例如:service-1231231231412@gcp-sa-cloudscheduler.iam.gserviceaccount.com),Http 身份验证任务将无法工作。为了解决这个问题,我必须禁用 api 并重新启用它,它给了我服务帐户,我没有使用这个服务帐户,但是,这是我这样做后唯一改变的因素。

0 投票
4 回答
11870 浏览

typescript - 如何使用 firebase 模拟器 pubsub 在本地测试定时功能?

我正在为一个项目使用 firebase,并且正在使用以下代码创建一个计划函数。我想每运行一分钟记录一条消息。

我有在 http 函数下工作的代码的主要逻辑,并且想在部署到生产之前看看它是否在本地工作。浏览 firebase 文档,我已经下载了所有的 firebase 模拟器,并使用“firebase emulators:start”让它们运行。从日志来看,我的 pubsub 模拟器似乎在 localhost:8085 成功启动,并且 pubsub 函数已初始化,但是即使等待 2-3 分钟后也没有打印出来。是否可以在本地测试预定功能?

此外,我在没有使用谷歌云调度程序的情况下创建了这个,因为我只在 firebase 上。

0 投票
1 回答
30 浏览

google-cloud-platform - 谷歌云功能与谷歌不同的端点Shedule

我在快递中创建了一个项目

部署在名为my-transaction的云函数上

我正在安排 google clound 给 url 之类的

http://url/my-transaction/po

当我在没有身份验证的情况下部署时调度程序运行作业成功,但是当我进行身份验证时它失败。

如果我创建如下示例项目,则类似

并部署与上面相同的配置,并使用它工作的身份验证。

唯一的区别是最后一个函数名称类似于入口点的意思,而上面的入口点是具有不同端点的应用程序。

任何帮助,不胜感激谢谢

0 投票
1 回答
581 浏览

python-3.x - 使用 Google Cloud Scheduler 的延迟或随机任务

我目前在树莓派上每周运行 2 个脚本,配置如下:

Cron 每周在固定时间执行一个 python 脚本。此 python 脚本等待 0 到 50 小时,然后运行 ​​python 脚本 A。它等待大约 16 小时,然后每 8 小时再运行脚本 A 3 次(该脚本第一次运行需要大约 4 倍的时间)。第 4 次运行 8 小时后,它运行脚本 B。

我想将我的脚本移动到 Google Cloud VM 以提高可靠性,但运行 VM 24/7 只是为了在 100 小时内运行 30 小时的计算是低效且昂贵的。

我知道我可以使用 Google Scheduler 作为我的 cron 每周启动 VM,但我仍然冒着让它运行长达 50 小时等待脚本 A 运行的风险。我了解 cron 支持添加此处示例中列出的随机睡眠间隔:

但是,据我发现,Google Cloud Scheduler 被限制为 60 分钟,这是理所当然的。在这种情况下,我有什么选择?Google Cloud Task 是否支持延迟触发 VM(最长 50 小时)?这是 Pub Sub 会支持的东西吗?

我的脚本使用了一个我认为与 Google App Engine 不兼容的 python 库,因此我还需要弄清楚如何在触发时触发 VM 中的特定脚本。

0 投票
1 回答
331 浏览

graphql - 如何使用 Google Cloud Scheduler 安排对 GraphQL 端点的调用

我有一个在 Google Cloud Run 实例中运行的 GraphQL 应用程序。

我想保持运行实例温暖。因此,我正在尝试配置 Google Cloud Scheduler 调用ping端点。

在调用端点的 curl 命令下方:

如何创建一个新的计划来对端点进行类似的调用?

0 投票
1 回答
398 浏览

google-cloud-platform - 如何从 Google 云调度程序定期触发 Google Cloud Build 作业

我在此处输入链接描述后配置了一个云计划作业

但发现错误status: "INVALID_ARGUMENT"。不明白它是从哪里来的。任何解决此问题的建议,将不胜感激。

0 投票
1 回答
65 浏览

google-cloud-platform - 如何以编程方式删除 GCP 资源文件夹?

我正在尝试创建一个 cron 服务,用于为开发团队清理(删除计费和删除)GCP 上的一堆项目和资源文件夹。理想情况下,我想使用云功能来做到这一点,因为它是轻量级的,但是,我似乎找不到任何允许删除 FOLDER 的客户端库有没有人能够找到任何客户端库来做到这一点?

我正在考虑的其他选择是:

0 投票
1 回答
1221 浏览

firebase - 无法在 Firebase 云功能中部署 PubSub 功能

我试图部署一个 PubSub 功能:

  1. 在我第一次尝试部署该功能之前,云计划 API 被禁用。
  2. 它自动启用。
  3. PubSub 也已启用。

预期行为

由于 Cloud Scheduler API 和 PubSub 已为该项目启用。理想情况下,部署函数时不应出现任何错误。该错误确实提到了几分钟后尝试。但是自从我启用 PubSub 和 Cloud Scheduler API 以来已经 24 小时了。

实际行为

版本信息

节点:v12.10.0

firebase 功能:8.2.0

firebase 工具:8.2.0

火力基地管理员:8.2.0

0 投票
1 回答
178 浏览

mongodb - 来自 mlab 的 GCP Cron Job MongoDB 备份

我想建立一种方法(使用 GCP)来自动和频繁地下载托管在 mlab 上的一个 MongoDB 实例的副本/备份,并使用它来恢复/填充另一个也在 mlab 上的 MongoDB 实例。我的思考过程如下:

  1. 使用 Cloud Scheduler 在 GCP 上创建一个 cron 作业。这个 cron 作业每周都会触发关于 pub/sub 主题的消息。
  2. 接下来,我将设置一个云函数来监听这个发布/订阅主题,所以云函数每周都会被调用
  3. 最后,在云函数(用 Python 编写)中,我会以某种方式调用mongodump我的 mlab mongodb 实例。然后我会mongorestore用下载的备份打电话

我的问题是它mongodumpmongorestore通用的命令行实用程序,与 Python 并没有真正的关联。在本地,我可以只安装它们,但是,我认为我不能使用云功能来做到这一点。我的问题是这样的,

  1. 有没有办法让我使用mongodumpPython 中的云函数或从云函数下载备份?
  2. 有没有更简单的方法来完成整个过程?(即每周从 GCP 下载一次备份)
0 投票
1 回答
552 浏览

google-cloud-platform - 如何从我的 Cloud Storage 存储分区自动创建 BigQuery 表?

我想创建一个每天凌晨 2 点运行的工作。此作业必须通过从 Cloud Storage 存储分区读取我的文件来创建 BigQuery 表。我怎样才能做到这一点?