Skip to content

Inspecting edge function environment variables

有时候记录你的 Edge Functions 的值是很有用的。本文会引导你记录环境变量以便检查,但这个方法可以推广到所有日志记录。

🌐 Sometimes it can be informative to log values from your Edge Functions. This walks you through the process of logging environment variables for inspection, but it can be generalized for all logging.

步骤:

  1. 启用 Docker
  2. 创建一个本地 Supabase 项目
1
npx supabase init
  1. supabase 文件夹中创建一个 .env 文件
1
echo "MY_NAME=Some_name" >> ./supabase/.env
  1. 部署新添加的密钥
1
npx supabase secrets set --env-file ./supabase/.env --project-ref <PROJECT REF>
  1. 运行以下命令行指令来检查密钥:
1
npx supabase secrets list

出于安全原因,不建议记录秘密,但你可以记录一个截断版本,以确保它们正在被更新:

🌐 For security reasons, it is not advised to log secrets, but you can log a truncated version for the reassurance that they're being updated:

1
//logs the function call and the secrets
2
console.log('Hello from Functions!')
3
4
//custom secret
5
console.log('logging custom secret', Deno.env.get('MY_NAME'))
6
7
// default secrets
8
console.log('logging SUPABASE_URL:', Deno.env.get('SUPABASE_URL').slice(0, 15))
9
10
Deno.serve(async (req) => {
11
const { name } = await req.json()
12
const data = {
13
message: `Hello ${name}!`,
14
}
15
16
return new Response(JSON.stringify(data), { headers: { 'Content-Type': 'application/json' } })
17
})

调用你的函数后,你可以查看你的 边缘函数日志 来观察记录的值。它应该看起来像这样:

🌐 After calling your function, you can check your edge function logs to observe the logged values. It should look something like this:

注意:搜索过滤器区分大小写,并且必须出现在事件消息中。

image

注意:过长的 JSON 日志可能会被截断。如果发生这种情况,可以使用 JSON.stringify() 函数将 JSON 对象转换为文本。然后你可以将日志复制并粘贴到 JSON 美化工具 中。