Обновление FireBase sendMessage для версии v1 Google Cloud Endpoint - PullRequest
3 голосов
/ 08 ноября 2019

Итак ... сегодня утром ... Мне пришло электронное сообщение:

Наши записи показывают, что у вас есть проекты с приложениями App Engine или облачными функциями, которые все еще вызывают pre-GA v0.1 и v1beta1 конечные точки сервера метаданных App Engine и сервера облачных функций.

Мы пишем, чтобы вы знали, что эти устаревшие конечные точки планируется отключить 30 апреля 2020 года. После 30 апреля 2020 годазапросы к конечным точкам 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

... но каждый раз, когда я пробую один из нихЯ получаю:

curl: (6) Не удалось разрешить хост 'metadata.google.internal'

Итак ... на данный момент ... У меня естьПонятия не имею, что это я должен изменить или где я должен смотреть. Любая помощь будет оценена.

Ответы [ 2 ]

1 голос
/ 08 ноября 2019

Я искал последнюю версию репо https://github.com/firebase/firebase-functions (3.3.0) и нашел файл: spec / fixtures / https.ts. Внутри этого файла есть несколько фиктивных функций, которые используют старую конечную точку: / computeMetadata / v1beta1.

Это может означать, что пакет модулей firebase-functions должен быть обновлен для использования конечной точки / computeMetadata / v1.

0 голосов
/ 09 ноября 2019

Между прочим, я нашел эту старую зависимость в package.json, которая перетаскивалась в другие очень старые пакеты:

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

В частности, она привела к gcs-resumable-upload v 0.10.2, что ниже v 0.13. 0 рекомендовано Google (см. https://cloud.google.com/compute/docs/migrating-to-v1-metadata-server#apps-to-update). Возможно, другие тоже.

Исправление было либо:

  • удалить @google-cloud/functions-emulator, либо
  • switchк его современной замене, @google-cloud/functions-framework
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...