You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为Firestore读写请求添加自定义元数据并在Logs Explorer中查看?

Firestore读写请求添加自定义元数据并在Logs Explorer查看方案

可以实现,主要有两种可行方式:

1. 客户端SDK注入自定义元数据

通过拦截Firestore请求的方式,在请求头中添加自定义元数据,这些元数据会被记录到Firestore的请求日志中:

  • Web SDK示例:
    const db = firebase.firestore();
    // 拦截请求并添加自定义标头
    db._firestoreRequestInterceptor = (request) => {
      request.headers['X-Custom-Tags'] = 'user:alice,operation:document-write';
      return request;
    };
    
  • 在Logs Explorer中,可通过httpRequest.requestHeaders."X-Custom-Tags"字段筛选包含该元数据的日志。

2. Cloud Functions中转时附加元数据

如果请求通过Cloud Functions中转,可直接在函数日志中添加自定义元数据字段:

  • Node.js Cloud Functions示例:
    exports.writeToFirestore = functions.https.onRequest(async (req, res) => {
      const meta = { userId: req.body.userId, action: 'create-order' };
      // 将元数据写入日志
      functions.logger.info('Processing Firestore write', { customMetadata: meta });
      await db.collection('orders').add(req.body.orderData);
      res.status(200).send('Done');
    });
    
  • 在Logs Explorer中,通过jsonPayload.customMetadata.userId这类条件即可检索到对应日志。

日志筛选示例

针对客户端注入的元数据,过滤条件可写为:

resource.type="firestore_database"
AND httpRequest.requestHeaders."X-Custom-Tags"="user:alice,operation:document-write"

针对Cloud Functions的元数据,过滤条件:

resource.type="cloud_function"
AND jsonPayload.customMetadata.action="create-order"

内容的提问来源于stack exchange,提问作者Roman Dronov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 23:59:59