// 以下示例为便于阅读而简化
import { DB } from "https://deno.land/x/sqlite@v3.9.1/mod.ts";
import { supabase } from '../shared/client.ts'
const today = new Date().toISOString().split('T')[0]
const backupDBPath = `backups/backup-${today}.db`
// 使用S3 FS读取SQLite数据库
const data = Deno.readFileSync(`/s3/${backupDBPath}`);
// 从S3下载的数据创建内存中的SQLite
// 这比直接从S3读取更快
const db = new DB();
db.deserialize(data);
function calculateStats(rows: IoTData[], date: string): StatsSummary {
// ....
}
Deno.serve(async (req)=>{
// 假设IoT数据存储在名为'sensor_data'的表中
const rows = db.queryEntries(`
SELECT * FROM sensor_data
WHERE date(timestamp) = date('now', 'localtime')
`)
// 计算统计信息
const stats = calculateStats(rows, today)
// 将统计信息插入Supabase
const { data, error } = await supabase
.from('iot_daily_stats')
.insert([stats])
return new Response("OK");
});