假设我有一个名为“hello-world”的边缘函数。
问题1
如何重写supabase文档中的SQL示例以触发sql中的边缘函数“hello-world”(例如,没有supabase GUI)?
create trigger "my_webhook" after insert
on "public"."my_table" for each row
execute function "supabase_functions"."http_request"(
'http://localhost:3000',
'POST',
'{"Content-Type":"application/json"}',
'{}',
'1000'
);
问题2
如果边缘函数必须读取另一个 rls 安全数据库表,我是否必须使用 postgres 角色调用边缘函数?我如何使用 SQL webhook 来实现它?
只需将边缘函数 url 添加为 https 参数并在第一个括号中添加授权标头即可:
create or replace trigger "send-push-hook" after insert
on authenticated_access.notifications_by_user for each row
execute function supabase_functions.http_request(
'https://<project-url>.supabase.co/functions/v1/<function-name>',
'POST',
'{
"Content-Type":"application/json",
"Authorization": "Bearer <your authorization for example service role key>"
}',
'{}',
'1000'
);