Javascript 如何在Firebase云函数中确认PubSub消息?

Javascript 如何在Firebase云函数中确认PubSub消息?,javascript,firebase,google-cloud-functions,google-cloud-pubsub,Javascript,Firebase,Google Cloud Functions,Google Cloud Pubsub,我想知道确认PubSub消息(来自推送订户)的正确方式是什么,这是Firebase云功能。这是通过回复承诺来实现的吗 import * as functions from 'firebase-functions' import * as admin from 'firebase-admin' export const listener = functions.pubsub.topic('new_members').onPublish(async (message:any) => { l

我想知道确认PubSub消息(来自推送订户)的正确方式是什么,这是Firebase云功能。这是通过回复承诺来实现的吗

import * as functions from 'firebase-functions'
import * as admin from 'firebase-admin'

export const listener = functions.pubsub.topic('new_members').onPublish(async (message:any) => {

let data = {
  name: 'Los Angeles',
  state: 'CA',
  country: 'USA'
};

// Will a PubSub message be acknowledged just by retuning a promise?
return await db.collection('cities').doc('LA').set(data);
}

感谢您的帮助。

如果您的函数通过返回已解决的承诺成功完成,则消息将被确认。如果函数抛出异常或返回拒绝的承诺,则pubsub将重试该消息。

注意:成功调用函数后,云函数将在内部确认Pub/Sub消息。启用重试后,云函数可以使用相同的发布/订阅消息重新调用在执行过程中失败的函数


为什么要问,它有效吗?下面是相应的文档:@doug stevenson,它对firebase函数仍然有效吗?当
functions.pubsub.topic..onPublish
返回拒绝的承诺时,我没有看到重新传递消息的尝试。您可以共享指向某些文档的链接或引用外部来源吗?因为它似乎不是真的。更具体地说,重试部分似乎是incorrect@seza443状态“注意:成功调用函数后,云函数会在内部确认消息。有关如何使用重试处理失败的信息,请参阅重试后台函数。”