在cloudflare worker中对外部服务的批处理外部调用



我正在研究一个小的worker,它记录到外部服务(Kinesis消防软管),然后做一个重定向

我正试图将外部调用批处理在一起,以避免达到摄入限制。这是正确的方法还是有更好的方法?(注:我考虑过使用队列,但对于我们需要的东西来说,成本会很高)

它似乎在本地工作,但在部署时不起作用

谢谢Josh

import { createUrl, getFinalUrl, getUserId, isValidUrl } from "./lib/url";
import { sendToFirehose } from "./lib/sendToFirehose";
export interface Env {
AWS_ACCESS_KEY_ID: string;
AWS_SECRET_ACCESS_KEY: string;
}
let batch: Record<any, any>[] = [];
export default {
async fetch(request: Request, env: Env): Promise<Response> {
const { pathname, searchParams } = new URL(request.url);
////

const data = {
date: new Date(),
url: request.url,  
};
batch.push(data);
if (batch.length === 100) {
console.log("Batch size reached, sending to firehose");
await sendToFirehose(batch);
batch = [];
}
return Response.redirect("http://newurl.com", 302);
},
};

似乎最好的方法是使用cloudflare队列功能

相关内容

最新更新