我正在尝试触发按以下时间表运行的Cloud Function:
Cloud Scheduler-> Cloud Pub / Sub-> Cloud Functions
我的云功能使用发布/订阅消息中的属性:
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"
}
但是它不会在发布/订阅中创建属性。
答案 0 :(得分:5)
今天(2020年7月),在Cloud Scheduler上要了解的重要事项:很少有参数可以通过控制台访问。
如果要访问高级参数,请使用gcloud command或rest 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
注意,在控制台中,您只能定义有效负载,我的意思是PubSub消息中的data
字段,等于命令行中的--message-body=
< / p>