如何将属性从 Cloud Scheduler 传递到 Pub/Sub?
How to pass attributes from Cloud Scheduler to Pub/Sub?
我正在尝试触发按计划运行的云功能:
Cloud Scheduler -> Cloud Pub/Sub -> Cloud Functions
我的 Cloud Function 使用 Pub/Sub 消息中的属性:
let messageTitle = null;
try {
messageTitle = message.attributes.messageTitle;
} catch (e) {
console.error('no title in pub/sub message', e);
}
如何创建具有属性的调度程序?
我试过在调度程序 'Payload' 字段中输入:
{
"data": "string",
"attributes": {
messageTitle: "TEST 3 title",
messageBody: "TEST 3 body"
},
"messageId": "string",
"publishTime": "string"
}
但它不会在 Pub/Sub 中创建属性。
今天(2020 年 7 月),关于 Cloud Scheduler 需要了解的一件重要事情:很少有参数可通过控制台访问。
如果要访问高级参数,请使用 gcloud command or the 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
注意,在控制台中,只能定义payload,我指的是PubSub消息中的data
字段,相当于命令行中的--message-body=
我正在尝试触发按计划运行的云功能:
Cloud Scheduler -> Cloud Pub/Sub -> Cloud Functions
我的 Cloud Function 使用 Pub/Sub 消息中的属性:
let messageTitle = null;
try {
messageTitle = message.attributes.messageTitle;
} catch (e) {
console.error('no title in pub/sub message', e);
}
如何创建具有属性的调度程序?
我试过在调度程序 'Payload' 字段中输入:
{
"data": "string",
"attributes": {
messageTitle: "TEST 3 title",
messageBody: "TEST 3 body"
},
"messageId": "string",
"publishTime": "string"
}
但它不会在 Pub/Sub 中创建属性。
今天(2020 年 7 月),关于 Cloud Scheduler 需要了解的一件重要事情:很少有参数可通过控制台访问。
如果要访问高级参数,请使用 gcloud command or the 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
注意,在控制台中,只能定义payload,我指的是PubSub消息中的data
字段,相当于命令行中的--message-body=