簡體   English   中英

Firebase PubSub 模擬器未收到消息

[英]Firebase PubSub Emulator not recieving messages

我正在嘗試獲取 firebase 模擬器,以使用 pubsub 發布來觸發雲功能。 基本設置在雲功能之外工作。 當嘗試連接雲 function 時,沒有任何消息出現。

我有一種感覺,我做的事情從根本上是錯誤的。

發布代碼:

import { PubSub, Topic } from '@google-cloud/pubsub'; 
const topicName = 'MyTopic';
const [taskTopic] = await pubsub.createTopic(topicName);
await this.taskTopic.publish(Buffer.from(msg));

《手冊》訂閱:作品

 [subscription] = await this.renderTaskTopic.createSubscription(subscriptionName);
 subscription.on('message', (message) => {
    console.log('Received message:', message.data.toString());
    process.exit(0);
 });

使用雲 function 訂閱:永遠不會在模擬器中調用


export const subscribeToRenderTask = functions.pubsub.topic(topicName)
    .onPublish(async (message: functions.pubsub.Message) => {
        console.log('subscribeToRenderTask', message.data);
     }

emulator 設置看起來不錯

 functions: The Firebase Authentication emulator is not running, so calls to Firebase Authentication will affect production.
✔  functions[convert]: http function initialized (http://0.0.0.0:5001/puredio-development/europe-west3/convert).
✔  functions[subscribeToRenderTask]: pubsub function initialized.

┌─────────────────────────────────────────────────────────────┐
│ ✔  All emulators ready! It is now safe to connect your app. │
│ i  View Emulator UI at http://0.0.0.0:8081                  │
└─────────────────────────────────────────────────────────────┘

┌───────────┬────────────────┬───────────────────────────────┐
│ Emulator  │ Host:Port      │ View in Emulator UI           │
├───────────┼────────────────┼───────────────────────────────┤
│ Functions │ 0.0.0.0:5001   │ http://0.0.0.0:8081/functions │
├───────────┼────────────────┼───────────────────────────────┤
│ Firestore │ 0.0.0.0:8080   │ http://0.0.0.0:8081/firestore │
├───────────┼────────────────┼───────────────────────────────┤
│ Pub/Sub   │ 127.0.0.1:8085 │ n/a                           │
└───────────┴────────────────┴───────────────────────────────┘
  Emulator Hub running at 127.0.0.1:4400
  Other reserved ports: 4500

RTFM:我需要設置以下環境變量,這樣我的測試才能真正找到 pub sub 模擬器

export PUBSUB_EMULATOR_HOST = 'localhost:8085'
export PUBSUB_PROJECT_ID = 'my-project'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM