【问题标题】:How to pass attributes from Cloud Scheduler to Pub/Sub?如何将属性从 Cloud Scheduler 传递到 Pub/Sub?
【发布时间】:2020-10-25 03:17:08
【问题描述】:

我正在尝试触发按计划运行的云函数:

Cloud Scheduler -> Cloud Pub/Sub -> Cloud Functions

My Cloud Function 使用 Pub/Sub 消息中的属性:

    let messageTitle = null;
        try {
            messageTitle = message.attributes.messageTitle;
        } catch (e) {
            console.error('no title in pub/sub message', e);
        }

如何创建具有属性的调度程序?

我已尝试在调度程序“有效负载”字段中输入此内容:

{
  "data": "string",
  "attributes": {
    messageTitle: "TEST 3 title",
    messageBody: "TEST 3 body"
  },
  "messageId": "string",
  "publishTime": "string"
}

但它不会在 Pub/Sub 中创建属性。

【问题讨论】:

    标签: google-cloud-functions google-cloud-pubsub google-cloud-scheduler


    【解决方案1】:

    今天(2020 年 7 月),关于 Cloud Scheduler 的重要信息:很少有参数可以通过控制台访问

    如果要访问高级参数,请使用gcloud commandrest API

    现在您可以访问重试策略和 PubSub 消息的属性。

    gcloud scheduler jobs create pubsub --message-body=my_body \
       --attributes=att1=val1,att2=val2 --topic=topicName \
       --schedule="0 0 * * *" --time-zone=UTC mySchedulerName
    

    注意,在控制台中,你只能定义payload,我是指PubSub消息中的data字段,等于命令行中的--message-body=

    【讨论】:

    • 太棒了!没有意识到调度程序控制台没有所有功能,谢谢。
    猜你喜欢
    • 2020-04-03
    • 1970-01-01
    • 2022-01-01
    • 2020-02-26
    • 1970-01-01
    • 2022-01-13
    • 2019-07-26
    • 2022-01-09
    • 2018-08-09
    相关资源
    最近更新 更多