2017-05-04 16 views
4

私はサードパーティのプロジェクト、すなわちプロジェクト間で新しいPub/Subメッセージがトピック/サブスクリプションに送信されるたびに、functions.pubsub/onPublishを使用してPub/Sub関数をトリガーしたいと考えていました。Firebaseのクラウド機能をプロジェクト全体で使用できるか?

トピック名に/が含まれていて、 "projects /" + process.env.GCLOUD_PROJECT + "/ topics /" +トピック(https://github.com/firebase/firebase-functions/blob/master/src/providers/pubsub.ts)がデフォルトの場合、TopicBuilderはエラーをスローします。

は、私はまた、これはGoogleのクラウド機能を調べるために私を導い (What is the difference between Cloud Function and Firebase Functions?

「Firebaseは、Googleクラウド機能の周りの(比較的薄い)ラッパーを提供します」と述べているスタックオーバーフローでのポストを見つけました。 IAMの権限を変更した後に、サードパーティプロジェクトのトピックに所有権を持つプロジェクトでサブスクリプションを作成することはできましたが、トピックと機能を関連付ける方法を見つけることができませんでした。また、サードパーティのプロジェクトでトピックとサブスクリプションとの関連付けを成功させることもできませんでした。コンソールでは、私のプロジェクトのトピックしか表示されず、gcloudを使って成功しませんでした。

誰でもプロジェクト間で機能を使用することに成功しましたか?もしそうなら、これをどのように達成しましたか、提供できるドキュメントURLはありますか?サードパーティプロジェクトのトピックやサブスクリプションへのメッセージによって関数を起動できない場合は、サードパーティのPub/Subデータを取り込む方法を考えることができますか?

サブスクリプションが含まれているプロジェクトにサブスクリプション料金が請求されているため、そのサブスクリプションはトピック付きのサードパーティプロジェクトに常駐していることをお勧めします。

答えて

1

Googleクラウド機能は、現在の機能は、別のプロジェクト内のリソースを聞くことはできませていません、ありがとうございました。 Cloud Pub/Subトリガの場合、具体的にはHTTP機能をデプロイして、このプロジェクト間機能を起動するトピックにPub/Subプッシュサブスクリプションを追加することで、この問題を回避できます。

+0

トーマス –

+0

ありがとうございます@Thomas_Bouldin Firebase CF httpリスナーが公開されていない公開権を持っている必要はありませんか? –

+0

これはあなた自身の認証をロールバックする必要があります。これを行うための安価で簡単な方法は、パブリッシュURLにクエリーフラグメントとして秘密鍵を追加することです。クラウド機能は、秘密鍵と一致しない要求を拒否します。 –

関連する問題