如何在第二代Cloud Firestore触发器中使用Secret Manager?
第二代Cloud Firestore触发器访问Secret Manager的解决方案
在第二代Cloud Firestore触发器中,无需通过依赖数组传入密钥,直接在触发器的处理函数内部调用SecretParam的value()异步方法即可获取密钥值,示例代码如下:
import { onDocumentCreated } from 'firebase-functions/v2/firestore'; import { defineSecret } from 'firebase-functions/params'; const apiKey = defineSecret('API_KEY'); const onUserCreated = onDocumentCreated( 'users/{userId}', async (event) => { // 异步获取密钥值 const key = await apiKey.value(); // 在这里使用密钥进行后续业务操作 console.log('已获取API密钥'); } ); export { onUserCreated };
关键注意点:
- 确保云函数对应的服务账号拥有
secretmanager.secrets.access权限,否则会触发权限不足的错误。 value()方法是异步操作,必须搭配await关键字使用,不能直接同步读取密钥值。
内容的提问来源于stack exchange,提问作者cheshireoctopus
相关产品推荐
相关产品推荐

