Google 分析报告 API v4 returns 503 次数过多,原因不明
Google Analytics Report API v4 returns 503 too many times without obvious reasons
每天早上我们都会从 Google Analytics Reporting API v4 中获取前一天/前一周的电子商务产品数据。三年来我们一直在做同样的事情,报告格式没有改变。我们想要获取的时间范围可以有多个。
这是一个示例请求。我们使用“pageToken”参数分页的总行数最多可达 500k。我们按顺序执行此操作。
{
"reportRequests":[
{
"metrics":[
{
"expression":"ga:productListViews"
},
{
"expression":"ga:productListClicks"
},
{
"expression":"ga:productDetailViews"
},
{
"expression":"ga:productAddsToCart"
},
{
"expression":"ga:quantityAddedToCart"
},
{
"expression":"ga:productRemovesFromCart"
},
{
"expression":"ga:quantityRemovedFromCart"
},
{
"expression":"ga:productCheckouts"
},
{
"expression":"ga:quantityCheckedOut"
},
{
"expression":"ga:uniquePurchases"
}
],
"hideTotals":true,
"dimensions":[
{
"name":"ga:productSku"
},
{
"name":"ga:productBrand"
},
{
"name":"ga:dimension1"
}
],
"pageSize":3000,
"includeEmptyRows":true,
"viewId":"169501676",
"dateRanges":[
{
"startDate":"2020-08-17",
"endDate":"2020-08-17"
}
],
"pageToken":"210000",
"hideValueRanges":true
},
{
"metrics":[
{
"expression":"ga:itemQuantity"
},
{
"expression":"ga:itemRevenue"
}
],
"hideTotals":true,
"dimensions":[
{
"name":"ga:productSku"
},
{
"name":"ga:productBrand"
},
{
"name":"ga:dimension1"
}
],
"pageSize":3000,
"includeEmptyRows":true,
"viewId":"169501676",
"dateRanges":[
{
"startDate":"2020-08-17",
"endDate":"2020-08-17"
}
],
"pageToken":"210000",
"hideValueRanges":true
}
]
}
最近API随机returns了很多503错误。我们检查了此页面,它建议我们为 1s、2s、4s、8s、16s 实施指数退避。我们正在执行 2h、2h、2h、2h、2h,而不是建议的间隔,但错误仍然存在。
https://developers.google.com/analytics/devguides/reporting/core/v3/errors#handling_500_or_503_responses
我们已经检查了配额和限制,很确定我们没有超过它们。
https://developers.google.com/analytics/devguides/reporting/core/v4/limits-quotas
(不能 post 图片没有 10 个信誉)
https://i.stack.imgur.com/jlZzV.png
https://i.stack.imgur.com/4q605.png
https://i.stack.imgur.com/2qTBI.png
如果重要,所有请求 运行 Google App Engine python2 标准环境。
尝试减少或拆分报告请求,这种错误可能会在重负载或更大更复杂的请求时出现。
由于即使在拆分请求和增加请求之间的延迟之后错误率仍在上升,我们最终放弃了 Google 分析并自行收集数据
每天早上我们都会从 Google Analytics Reporting API v4 中获取前一天/前一周的电子商务产品数据。三年来我们一直在做同样的事情,报告格式没有改变。我们想要获取的时间范围可以有多个。
这是一个示例请求。我们使用“pageToken”参数分页的总行数最多可达 500k。我们按顺序执行此操作。
{
"reportRequests":[
{
"metrics":[
{
"expression":"ga:productListViews"
},
{
"expression":"ga:productListClicks"
},
{
"expression":"ga:productDetailViews"
},
{
"expression":"ga:productAddsToCart"
},
{
"expression":"ga:quantityAddedToCart"
},
{
"expression":"ga:productRemovesFromCart"
},
{
"expression":"ga:quantityRemovedFromCart"
},
{
"expression":"ga:productCheckouts"
},
{
"expression":"ga:quantityCheckedOut"
},
{
"expression":"ga:uniquePurchases"
}
],
"hideTotals":true,
"dimensions":[
{
"name":"ga:productSku"
},
{
"name":"ga:productBrand"
},
{
"name":"ga:dimension1"
}
],
"pageSize":3000,
"includeEmptyRows":true,
"viewId":"169501676",
"dateRanges":[
{
"startDate":"2020-08-17",
"endDate":"2020-08-17"
}
],
"pageToken":"210000",
"hideValueRanges":true
},
{
"metrics":[
{
"expression":"ga:itemQuantity"
},
{
"expression":"ga:itemRevenue"
}
],
"hideTotals":true,
"dimensions":[
{
"name":"ga:productSku"
},
{
"name":"ga:productBrand"
},
{
"name":"ga:dimension1"
}
],
"pageSize":3000,
"includeEmptyRows":true,
"viewId":"169501676",
"dateRanges":[
{
"startDate":"2020-08-17",
"endDate":"2020-08-17"
}
],
"pageToken":"210000",
"hideValueRanges":true
}
]
}
最近API随机returns了很多503错误。我们检查了此页面,它建议我们为 1s、2s、4s、8s、16s 实施指数退避。我们正在执行 2h、2h、2h、2h、2h,而不是建议的间隔,但错误仍然存在。 https://developers.google.com/analytics/devguides/reporting/core/v3/errors#handling_500_or_503_responses
我们已经检查了配额和限制,很确定我们没有超过它们。 https://developers.google.com/analytics/devguides/reporting/core/v4/limits-quotas (不能 post 图片没有 10 个信誉)
https://i.stack.imgur.com/jlZzV.png
https://i.stack.imgur.com/4q605.png
https://i.stack.imgur.com/2qTBI.png
如果重要,所有请求 运行 Google App Engine python2 标准环境。
尝试减少或拆分报告请求,这种错误可能会在重负载或更大更复杂的请求时出现。
由于即使在拆分请求和增加请求之间的延迟之后错误率仍在上升,我们最终放弃了 Google 分析并自行收集数据