问题标签 [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 投票
2 回答
2164 浏览

google-cloud-platform - 限制对 Google Cloud Function 的访问

我已经成功部署了一个云函数,它对一些数据进行一些基本的预处理并将其上传到 gSheet。
现在,触发 url 接受外部未经身份验证的调用,如果 url 落入坏人之手,就会导致账单过多的风险。

我想知道是否有任何方法可以限制 IAM 中对 Cloud Scheduler 的调用,从而完全阻止对服务的外部调用。
阅读它似乎在请求中包含一些标头并在函数中检查它可能是强制执行真正基本身份验证的基本方法。

0 投票
2 回答
6193 浏览

google-cloud-platform - Cloud Composer 与 Cloud Scheduler

我目前正在学习 GCP 数据工程师考试,并且一直在努力理解何时使用 Cloud Scheduler 以及何时使用 Cloud Composer。

通过阅读文档,我的印象是当作业之间存在相互依赖关系时应该使用 Cloud Composer,例如,我们需要一个作业的输出在第一次完成时启动另一个作业,并使用来自第一个作业的依赖关系。然后,您可以根据需要灵活地链接任意数量的这些“工作流程”,并提供在失败时重新启动作业、运行批处理作业、shell 脚本、链接查询等的机会。

对于 Cloud Scheduler,它在可以执行的任务方面具有非常相似的功能,但是,它更多地用于常规作业,您可以定期执行,而不一定在作业之间存在相互依赖关系或何时使用在开始另一个工作之前,您需要等待其他工作。因此,似乎更适合用于“更简单”的任务。

这些想法是在尝试回答我发现的一些考试问题后产生的。但是,我对找到的“正确答案”感到惊讶,并希望有人能澄清这些答案是否正确,以及我是否了解何时使用一个而不是另一个。

以下是让我对此主题感到困惑的示例问题:

问题 1

您正在实施几个必须按计划执行的批处理作业。这些作业有许多相互依赖的步骤,必须按特定顺序执行。部分作业涉及执行 shell 脚本、运行 Hadoop 作业以及在 BigQuery 中运行查询。这些作业预计将运行几分钟到几个小时。如果这些步骤失败,则必须重试固定次数。您应该使用哪个服务来管理这些作业的执行?

A. 云调度器

B. 云数据流

C. 云功能

D. 云作曲家

正确答案:A

问题2

您希望自动执行在 Google Cloud 上运行的多步骤数据管道。该管道包括相互依赖的 Cloud Dataproc 和 Cloud Dataflow 作业。您希望尽可能使用托管服务,并且管道将每天运行。你应该使用哪个工具?

A.cron

B. 云作曲家

C. 云调度器

D. Cloud Dataproc 上的工作流模板

正确答案:D

问题 3

贵公司有一个混合云计划。您有一个复杂的数据管道,可以在云提供商服务之间移动数据并利用每个云提供商的服务。您应该使用哪种云原生服务来编排整个管道?

A. 云数据流

B. 云作曲家

C. 云数据准备

D. 云数据处理

正确答案:D

对此的任何见解将不胜感激。谢谢 !

0 投票
1 回答
376 浏览

amazon-web-services - 如何在aws EC2服务器中将GCP云调度程序ip列入白名单

我在AWS EC2上运行一个服务器,它只为一些列入白名单的 ips运行。我想使用GCP 云调度程序来运行我的 cron 作业。所以我想在 EC2 服务器中将 GCP 云调度程序请求列入白名单。

我尝试了谷歌和云调度程序文档,但没有找到关于 ip 白名单的信息。

请让我知道我可以实现这一目标的任何方式。

0 投票
0 回答
249 浏览

firebase - Cloud Scheduler 未使用 firebase deploy 命令自动创建

当我使用firebase deploycron 函数部署 firebase 函数时,表示它已成功部署并且相关的 Cloud Scheduler 已创建。它会在 firebase 函数控制台中创建 firebase cron 条目,但会自动创建 Cloud Scheduler。此外,当我尝试手动创建这些调度程序时,它会给出错误:

此外,我在此列表中看不到任何调度程序:https ://console.cloud.google.com/cloudscheduler

这是我的代码:

我正在关注此文档https://firebase.google.com/docs/functions/schedule-functions

0 投票
3 回答
3832 浏览

google-cloud-scheduler - 谷歌云调度访问

我需要使用 Cloud Scheduler 安排两个云功能在预定义的时间运行。但是,当我单击 Cloud Scheduler 选项卡时,它会显示以下错误消息。

您无权启用 Cloud Scheduler(appengine.applications.create、serviceusage.services.enable)

因此,我要求项目所有者授予我对以下角色的访问权限:

  1. 云调度器管理员
  2. AppEngine 管理员
  3. 服务使用管理员

但是,即使在此之后,我仍然收到与以前相同的消息。

以下是我可以访问的当前角色:

  1. App 引擎管理员
  2. BigQuery 数据查看器
  3. BigQuery 用户
  4. 云调度器管理员
  5. 云 SQL 管理员
  6. 编辑
  7. 服务使用管理员
  8. 存储管理员

如果我在这里遗漏了什么,请告诉我。

0 投票
1 回答
525 浏览

google-cloud-platform - Google Cloud Scheduler 触发器数据流模板批处理作业因“INVALID ARGUMENT”而失败

我有一个使用 Google Cloud Scheduler 安排或触发的数据流模板。我们在开发过程中经常更换工作,这也涉及到参数的变化。我们经常发现触发器失败,状态为 400 和INVALID_ARGUMENT. 由于有多个参数,因此很难确定传递的哪个参数是无效的。

有没有更好的方法来确定哪个参数导致触发器失败而不是手动?

0 投票
2 回答
1520 浏览

google-cloud-platform - Google Cloud Scheduler 在 Function 成功时调用 Google Cloud Function(返回 200 状态)仍然获得 500 状态

我有一个调度程序工作每小时调用一次我的函数。该功能正常工作,并且每次都返回 HTTP 200 状态。但是,每 3-5 次调用,调度程序作业就会返回 HTTP 500 状态。这个问题的原因/解决方法是什么?

示例:以下是功能日志显示的内容:

这些是调度程序日志中的示例

0 投票
5 回答
8899 浏览

node.js - 无法从 GCP 调度程序调用 Google Cloud Function

我一直在尝试--runtime nodejs8 --trigger-http从 GCP 调度程序调用 GCP 函数 (),它们都位于同一个项目中。allUsers如果我通过将成员添加到函数权限并Cloud Functions-Invoker应用角色来授予未经身份验证的访问权限,我只能使其工作。但是,当我只使用调度程序的服务帐户作为时Cloud Functions-Invoker,我得到一个 PERMISSION DENIED 错误。

我创建了一个 hello world 示例,以详细展示我的设置的外观。

  1. 我设置了一个服务帐户:

gcloud iam service-accounts create scheduler --display-name="Task Schedule Runner"

  1. 设置角色:
  1. 部署云功能:

gcloud functions deploy helloworld --runtime nodejs8 --trigger-http --entry-point=helloWorld

  1. 将服务帐户作为成员添加到函数中:

gcloud functions add-iam-policy-binding helloworld --member serviceAccount:scheduler@mwsdata-1544225920485.iam.gserviceaccount.com --role roles/cloudfunctions.invoker

  1. 创建调度程序作业:

gcloud beta scheduler jobs create http test-job --schedule "5 * * * *" --http-method=GET --uri=https://us-central1-mwsdata-1544225920485.cloudfunctions.net/helloworld --oidc-service-account-email=scheduler@mwsdata-1544225920485.iam.gserviceaccount.com --oidc-token-audience=https://us-central1-mwsdata-1544225920485.cloudfunctions.net/helloworld

日志:权限被拒绝

更新

以下是相应的设置。

调度程序服务帐户

IAM 功能的政策:

功能说明

调度员职位描述

0 投票
3 回答
1235 浏览

google-cloud-platform - Cloud Scheduler 结果失败,尽管 Http 请求仍在运行

我使用 Cloud Scheduler 触发 HTTP 端点,http 请求仍在处理中,但云调度程序已经显示结果显示“失败”。该请求将花费一个多小时。请注意我使用了手动缩放(可以处理 24 小时的请求)。我哪里做错了?

0 投票
1 回答
97 浏览

python - 由 Google Cloud Scheduler 触发的 Python 函数无法在预定时间运行,但在我手动运行时执行得非常好

我在 Google Cloud App Engine 上有项目。我已经设置了一个云调度程序,每 24 小时向应用程序引擎上的某个端点发出一个 GET 请求,该端点调用一个简单的 Python 脚本。该脚本只是读取 Google 表格并使用表格中的数据更新 Cloud Firestore。它运行良好,但在过去的几天里,它未能按计划时间更新数据库并给出错误。但是当我从控制台手动触发它时,它工作得很好。所以这意味着问题不在于我的脚本。任何人都可以知道可能导致问题的原因吗?