FireBase sendMessage函数更新到v1 Google Cloud Endpoint

问题描述 投票:3回答:2

所以...今天早上...我收到一封电子邮件,说:

我们的记录显示您拥有使用App Engine应用程序的项目,或者仍在调用GA前v0.1和v1beta1版本的云功能App Engine和Cloud Functions元数据服务器的端点。

我们谨在此通知您,这些旧式端点是计划于2020年4月30日关闭。2020年4月30日之后,对v0.1和v1beta1端点的请求将不再支持,并且可能返回HTTP 404 NOT FOUND响应。

我仅使用Firebase函数发送消息...,然后电子邮件继续将sendMessage函数标识为罪魁祸首。但是我不能...为了我的生命...弄清楚我需要在哪里更新端点。我的sendMessage函数如下:

exports.sendMessage = functions.database.ref('/messages/{receiverUid}/{senderUid}/{msgId}')
    .onWrite(async (change, context) => {
      const message = change.after.val().body;
      const receiverUid = change.after.val().receiverUid;
      const senderUid = change.after.val().senderUid;
      const msgId = change.after.val().msgId;
      if (!change.after.val()) {
        return console.log('Sender ', senderUid, 'receiver ', receiverUid, 'message ', message);
      }
      console.log('We have a new message: ', message, 'for: ', receiverUid);

我已经尝试遵循此链接中的一些Curl建议:https://cloud.google.com/compute/docs/migrating-to-v1-metadata-server

...但是每次我尝试其中之一时,都会得到:

卷曲:(6)无法解析主机'metadata.google.internal'

所以...在这一点上...我不知道我应该改变什么或者应该去哪里看。任何帮助,将不胜感激。

firebase google-cloud-functions google-cloud-endpoints
2个回答
1
投票

我在https://github.com/firebase/firebase-functions回购最新版本(3.3.0)中进行搜索,然后找到了文件:spec / fixtures / https.ts。在此文件中,有一些模拟函数,这些函数使用旧的:/ computeMetadata / v1beta1端点。

这可能意味着应该将firebase-functions模块软件包更新为使用/ computeMetadata / v1端点。


0
投票

以前,我发现package.json中的这个旧依赖性正在拖动其他非常旧的软件包:

"@google-cloud/functions-emulator": "^1.0.0-beta.6",

特别是它带来了gcs-resumable-upload v 0.10.2,低于Google建议的v 0.13.0(请参阅https://cloud.google.com/compute/docs/migrating-to-v1-metadata-server#apps-to-update)。可能还有其他人。

解决方法是:

  • 删除@google-cloud/functions-emulator,或
  • 切换到现代替换,@google-cloud/functions-framework
© www.soinside.com 2019 - 2024. All rights reserved.