我正在致力于集成 LiveKit 的 API 来管理应用程序中的流,并且在尝试创建新入口时遇到了问题。每次我尝试使用 IngressClient.createIngress() 创建入口时,都会收到以下错误:
Error: Request failed with status 429: Too Many Requests
at TwirpRpc.request (file://E%3A/codingfolder/pulseStream/pulsestream/node_modules/livekit-server-sdk/src/TwirpRPC.ts:51:12)
提前!
以下是问题的细分:
我正在使用 livekit-server-sdk 中的 IngressClient.createIngress() 方法。 即使在尝试以越来越多的延迟重试后,我仍然收到错误。 限速消息不断重复,但没有成功创建入口。
import { IngressClient, IngressInput } from "livekit-server-sdk";
const IgClient = new IngressClient(
process.env.LIVEKIT_API_URL,
process.env.LIVEKIT_API_KEY,
process.env.LIVEKIT_SECRET_KEY
);
async function createIngress(Ingresstype, id) {
try {
const options = {
name: id,
roomName: id,
participantName: id,
participantIdentity: id,
};
const ingress = await IgClient.createIngress(Ingresstype, options);
return ingress;
} catch (error) {
console.error("Error creating ingress:", error);
}
}
我尝试过的: 我已确认 API 密钥正确。 我尝试添加重试逻辑并增加延迟(1 秒、2 秒、4 秒等),但错误仍然存在。 我查看了 LiveKit 文档,但找不到有关速率限制的解决方案。 我的问题: 为什么我收到错误,即使我在构建它时没有发出很多请求,只是一个请求
谢谢
429 错误的标准做法是检查标头以获取有关已超出的特定限制的其他信息,并且还应包含 retry-after 标头,以便您不必猜测要等待的时间范围。
如果您达到基于订阅级别的连接限制,LiveKit 也会返回 429
LiveKit 的配额记录如下:https://docs.livekit.io/home/cloud/quotas-and-limits/
您可以随时在 LiveKit Cloud 仪表板中查看项目的当前连接限制,方法是导航到“设置”并选择“项目”选项卡。