在 Google Cloud API(YouTube 数据 API)中获取 Google 服务的实际配额使用情况

问题描述 投票:0回答:1

我想知道是否有一种方法可以通过 Google API 获取 Google Cloud Service 的实际配额使用情况,就像 Cloud Console 中提供的信息一样。

Google Cloud Console dashboard showing quota usages for the YouTube Data API service

据我研究,有多个与此主题相关的 API:

服务使用API

此 API 仅列出服务并允许启用/禁用服务。

云配额API

这些端点仅允许查看(和修改)配额限制。从上面的屏幕截图来看,值为 50k、1.8m、180k。

云指标API

将是最接近的候选者,但尚未弄清楚如何配置权限(

Permission monitoring.monitoredResourceDescriptors.list denied
),并且看起来这些端点只会从其基础设施产品(如计算、存储、数据分析等)传递数据。

是否有人设法获取 Google Cloud 服务的实际使用指标/剩余配额计数 - 这里特别是 YouTube Data API? 不幸的是,Google 也不会随其 API 响应发送任何速率限制标头。

谢谢!!

google-cloud-platform youtube-api quota
1个回答
0
投票

我刚刚通过了你上面描述的一切,终于成功了:

  1. 您需要将
    Cloud Monitoring API
    添加到您的应用程序才能访问
    monitoring.googleapis.com
    域(在 API 列表中列为
    Stackdriver Monitoring API
    )。
  2. 您需要通过输入信用卡来在应用程序 https://console.developers.google.com/billing/enable 上启用计费功能,因为
    Cloud Monitoring API
    Entreprise
    产品,并且在使用后不再免费。一定数量的请求(> 100 万个请求,所以你可能会没事)。
  3. 然后,您需要使用您的应用程序使用
    https://monitoring.googleapis.com/v3/projects/{YourProjectId}/timeSeries
    interval.startTime
    间隔参数查询
    interval.endTime
    路线(我个人根据我当前的 GMT+ 差异使用一天的开始和结束,因为配额每天都会重置)。当您进入 Google Cloud Console 并在左上角的下拉框中选择您的项目时,会显示
    {YourProjectId}
    。其中最困难的部分是最后一个名为
    filter
    的参数,我花了很长时间才弄清楚:
    'metric.type="serviceruntime.googleapis.com/quota/rate/net_usage" AND resource.labels.service="youtube.googleapis.com"',
  4. 此查询的响应将包含您可以在仪表板“配额使用图”上看到的所有点,您只需将它们的值相加即可获得当前的
    YoutubeApi
    配额。

Google console + App console comparaison

注意: 请记住,您从他们的 API 获得的值是您进行查询时的值,如果您有并行调用,您可能会得到错误的值。我个人使用此电话只是为了帮助同步当天开始时重置的配额。

来源:

  1. https://cloud.google.com/monitoring/api/v3/filters#metric-descriptor-filter
  2. https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list
© www.soinside.com 2019 - 2024. All rights reserved.