首页 >web前端 >js教程 >Supabase 边缘函数

Supabase 边缘函数

Patricia Arquette
Patricia Arquette原创
2024-12-03 04:31:21432浏览

Supabase Edge Functions

在 Supabase 中使用边缘函数并通过 Cron 作业调度它们的分步指南
Supabase 中的边缘功能允许您部署在边缘运行的服务器端逻辑,从而实现快速且可扩展的操作。以下是创建和部署边缘功能并使用 cron 作业安排它们的方法:

1- 安装 Supabase CLI:

下载并安装 Supabase CLI。这将用于管理您的项目和部署边缘功能。
通过 npm 安装:
npm install -g supabase

使用 Supabase 进行身份验证:
登录Supabase

本地初始化 Supabase 项目:

导航到终端中的项目目录。
运行:
SUPABASE 初始化

2。创建边函数
生成一个新函数:

使用 CLI 生成新的边函数:

supabase 函数新的 my-function
my-function 替换为您的函数名称。
写下你的函数逻辑:

导航到functions/my-function/index.ts 文件。
添加您的逻辑,例如:
javascript
`从'https://deno.land/std@0.168.0/http/server.ts'导入{服务};

服务(异步(请求)=> {
返回新的响应('你好,世界!',{
headers: { 'Content-Type': 'text/plain' },
});
});`
本地测试:

本地启动该功能:
SUPABASE 函数服务于我的函数
通过 http://localhost:54321/functions/v1/my-function 访问该函数。
部署功能:

将您的函数部署到 Supabase:
supabase 函数部署 my-function
为此,您必须安装Docker,并且它必须打开!

  1. 测试部署的功能 获取函数 URL:

在 Supabase 仪表板中,导航至“功能”>“我的函数。
复制已部署函数的 URL。
调用函数:

使用curl、Postman或JavaScript fetch等工具来测试已部署的函数:
卷曲 https://your-project-id.supabase.co/functions/v1/my-function

4。使用 Cron 作业安排函数
在 Supabase 中安装并启用 pg_cron
访问您的 Supabase 项目:

登录您的 Supabase 仪表板并打开您的项目。
启用 pg_cron 扩展:

转到数据库>扩展。
搜索 pg_cron 并通过单击切换按钮启用它。
验证安装:

打开 SQL 编辑器并运行:
SELECT * FROM pg_available_extensions WHERE name = 'pg_cron';

添加Postgres函数来调用Edge函数
您需要创建一个使用 HTTP 调用 Supabase Edge 函数的 PostgreSQL 函数。

创建 Postgres 函数:

在 SQL 编辑器中,编写并执行:

`创建或替换函数call_edge_function()
退货无效 $$
声明
响应 jsonb;
开始
-- 向 Edge Function 发出 HTTP 请求
选择响应
http_post(
'https://your-project-id.supabase.co/functions/v1/my-function', -- 替换为您的 Edge Function URL
'{}', -- 可选 JSON 负载(根据需要调整)
'授权=持有者你的匿名密钥; Content-Type=application/json' -- 替换为您的 Supabase 匿名密钥
);

-- 可以选择记录响应(用于调试)
发出通知“回复:%”,回复;
结束;
$$ 语言 plpgsql;`
替换:

your-project-id 与您的 Supabase 项目 ID。
your-anon-key 与您的 Supabase 匿名密钥(可在仪表板的“设置 > API”下找到)。
测试 Postgres 功能:

手动调用该函数以确保其正常工作:

选择 call_edge_function();
检查输出是否有任何错误。

  1. 使用 pg_cron 安排函数 创建一个 Cron 作业:

在 SQL 编辑器中,编写并执行:

选择 cron.schedule(
'call_edge_function_job', -- 作业的唯一名称
'0 * * * *', -- Cron 表达式(例如每小时)
$$ 选择 call_edge_function(); $$
);
将 cron 表达式替换为您想要的计划。例如:

每分钟: * * * * *
每小时:0 * * * *
每天午夜:0 0 * * *
列出预定的工作:

验证作业已创建:
从 cron.job 中选择 *;
删除或更新 Cron 作业:

要删除作业:

SELECT cron.unschedule('call_edge_function_job');

通过执行这些步骤,您将在 Supabase 上部署功能齐全的边缘函数,并安排 cron 作业按您所需的时间间隔运行。

以上是Supabase 边缘函数的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn