簡體   English   中英

如何將 Firestore 偵聽器功能部署到 GCP Cloud?

[英]How to deploy Firestore listener functions to GCP Cloud?

我正在使用以下方法 ( s ource ) 構建處理 Firestore 事件的GCP Cloud Function

const functions = require('firebase-functions');
exports.myFunction = functions.firestore
 .document('my-collection/{docId}')
 .onWrite((change, context) => { /* ... */ });

雖然沒有關於如何將其正確部署到 GCP 功能的示例,但只有 Firebase 個。 使用像這樣的常規gcloud deploy命令是行不通的。

gcloud functions deploy FUNCTION_NAME \
--entry-point ENTRY_POINT \
--runtime RUNTIME \
--trigger-event "providers/cloud.firestore/eventTypes/document.write" \
--trigger-resource "projects/YOUR_PROJECT_ID/databases/(default)/documents/messages/{pushId}"

關於如何做到這一點的任何想法?

您可以通過創建您選擇的 Cloud Firestore 觸發器來達到所需的效果

  • 對於 Cloud Functions(第一代):
  1. 在觸發器類型字段中,select Cloud Firestore。
  2. Select 事件類型:寫入
  3. 提及要觸發此 function 的文檔,例如 users/{doc_id}
  4. 勾選 Retry on failure 如果沒有觸發則要重試復選框
  5. 點擊保存
  6. 根據您的要求修改您的 Function
  7. 點擊部署
  8. 對提供的記錄路徑進行修改,在我們的例子中是 users/{doc_id}
  9. 檢查雲功能的日志。 您將看到 function 被觸發。
  • 對於 Cloud Functions(第二代):
  1. 在 HTTPS 下,在身份驗證字段中,select 是一個選項,取決於您是否要允許對 function 進行未經身份驗證的調用。默認情況下,需要身份驗證。

  2. 單擊添加 Eventarc 觸發器(將出現一個模式)

  3. 選擇觸發類型:第一方

  4. 選擇事件提供者:Cloud Firestore

  5. 事件:google.firestore.v1.Firestore.Write

  6. 資源:如果您有文檔的確切路徑,請選擇“特定資源”,否則您想要使用通配符模式定位多個文檔,請選擇“路徑模式”

  7. 勾選 Retry on failure 如果沒有觸發則要重試復選框

  8. 點擊保存觸發器

  9. 點擊下一步

  10. 根據您的要求修改您的 Function

  11. 點擊部署

  12. 對目標文檔進行修改

  13. 檢查雲功能的日志。 您將看到 function 被觸發。

暫無
暫無

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

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