LiveChatMessages.list 方法会产生多少配额成本?

时间:2021-04-23 14:56:41

标签: youtube youtube-api youtube-data-api youtube-livestreaming-api

我现在正在编写这个应用程序,它的一个组件是使用 LiveChatMessages 资源的列表方法来检索流中的所有实时聊天。我的问题不在于功能本身,youtube 文档对此非常清楚(如果您正在阅读本文,请向 youtube 工程师致敬)。

我的问题是关于配额系统。在我解决这个问题的过程中,我首先进入了 youtube 数据 API 配额的圣杯,也就是文档。它把我带到了这个页面:

https://developers.google.com/youtube/v3/determine_quota_cost

现在,这包含除 LiveChatMessages 资源之外的各种 Youtube Data API 资源的所有配额信息。具有讽刺意味的是,顶部的文字说:

<块引用>

YouTube Live Streaming API 方法从技术上讲是 YouTube Data API 的一部分,调用这些方法也会产生配额费用。因此,表中还列出了用于直播的 API 方法。

然而,该表甚至没有提及有关 LiveStreaming API 的任何内容。现在,我只是略过了这一点,并从所有其他方法的上下文中略过这一点,并假设它只产生一个配额。

当时我在大约 500 名观众的中等规模流上运行我的应用,但配额用完的时间比我预期的要短。现在,我不确定我是否正确理解了配额成本,或者 LiveChatMessages.list 方法具有完全不同的配额系统。

但我的应用程序每 5 秒查询一次 LiveChatMessages.list 方法。这意味着每分钟会产生 12 个配额成本,每小时会产生 720 个配额成本。由于我的配额限制为 10,000。我认为它能够处理超过 13 小时的直播,而不会超出配额上限。但相反,配额上限只需要几个小时。

无论如何,希望 youtube 工程师看到这一点,并且可以告诉我 LiveChatMessages.list 方法的配额机制是什么样的,因为文档并没有真正提到它。

1 个答案:

答案 0 :(得分:2)

简答

根据我的计算,LiveChatMessages.list 请求消耗的配额点数为 5 点。

说明

5 点请求成本基于 API 访问一天内的总查询成本的反向计算。一个示例 YouTube 应用程序查找最新的实时广播并定期从聊天中检索所有实时消息。运行一天后,访问 google cloud platform quotas section 并确定 YouTube Data API v3 服务的每日查询次数配额。此屏幕截图显示当前每日配额的使用量为 8,180:

2

现在,访问 YouTube API metrics,我们可以按类型获取 API 调用的细分:

<头>
调用次数 服务调用类型
45 youtube.api.v3.V3DataLiveBroadcastService.List
1,627 youtube.api.v3.V3DataLiveChatMessageService.List

45 + 1,627 = 8,180 怎么算?聊天消息列表请求的 5 点因素:

8,180 个配额点 = 5x(1627 个消息列表请求)+ 1x(45 个广播请求)


Youtube API 10,000 点配额的实际限制

正如我在问题跟踪器中指出的那样,这个限制似乎很糟糕。对于通过每 1 秒发出一次请求与实时聊天进行交互的应用程序:

<块引用>

(10,000 分)/(5 分/请求)/(1 请求/秒)/(60 分钟/小时)= 33 分钟

考虑极端边界情况:如果直播流每天 24 小时运行,配额可以支持多少实时聊天请求?

<块引用>

(5 点/请求)/(10,000 点/天)*(24 小时/天)*(3600 秒/小时)= 43.2 秒/请求

相关问题