ResourceExhausted:使用 Python SDK 通过数据流超出配额指标自然语言 API 的 429 配额

ResourceExhausted: 429 Quota exceeded for quota metric Natural Language API through Dataflow using Python SDK

我正在构建数据流管道以读取 CSV,通过 Google Cloud NLP API 执行情感分析并将结果发送到 BigQuery。

当执行情感分析的函数获取 pcollection 时,出现上述错误。

我正在考虑将 Pcollection 拆分成小的 Pcollection,以便处理 NLP 中的引用限制 API。

(p
       | 'ReadData' >> beam.io.textio.ReadFromText(src_path)
       | 'ParseCSV' >> beam.ParDo(Analysis())
       | 'WriteToBigQuery' >> ...
)

我假设您已默认启用自动缩放功能。尝试将其关闭,然后将工作计数限制设置为较小的值,例如 5。这将为处理捆绑包的底层工作线程的数量提供上限。从那里您可以尝试使用实例类型(核心数量)以最大化您的吞吐量。

默认限制是每分钟 600 个请求,这是非常低的。您还可以请求增加 NLP 的配额。我的建议是同时使用固定池来节流,然后增加配额以达到您的挂钟时间目标。