我收到通知,Google的 JSON-RPC 和 Global HTTP Batch Endpoints 已弃用。在我的例子中,受影响的 api 是“storage@v1”和“Global Batch Endpoints”。
我试图找到被贬低的 api 调用来自哪里。但我正在使用 24 个存储桶和几个访问它的工具。那么有没有办法记录被贬低的电话?我为存储桶启用了日志记录。在执行批处理请求和执行单个请求时,我在访问日志中找不到任何区别。
我收到通知,Google的 JSON-RPC 和 Global HTTP Batch Endpoints 已弃用。在我的例子中,受影响的 api 是“storage@v1”和“Global Batch Endpoints”。
我试图找到被贬低的 api 调用来自哪里。但我正在使用 24 个存储桶和几个访问它的工具。那么有没有办法记录被贬低的电话?我为存储桶启用了日志记录。在执行批处理请求和执行单个请求时,我在访问日志中找不到任何区别。
是的“在单个请求中跨多个 API 进行批处理”已停止使用 停止支持 JSON-RPC 和全局 HTTP 批处理端点
但它难以理解的是正在停产的究竟是什么。
有两个批处理端点。全局www.googleapis.com/batch
的和 API 特定的www.googleapis.com/batch/<api>/<version>
。
那么有什么变化呢?
全局批处理端点正在下降。这意味着您将无法再拨打电话www.googleapis.com/batch
。如果您同时发出混合两个 api 的批处理请求,例如 Drive 和 Gmail,那么在更糟糕的情况下,这意味着什么,您将无法再这样做了。
将来您将不得不通过 API 拆分批处理请求。
这会影响你吗?
代码方面,这取决于您当前使用的客户端库。其中一些已经更新为使用单个 api 端点(JavaScript 和 .net),还有一些尚未更新(我上次检查的 php 和 java)
现在,至于您的存储桶,如果我正确理解它们,它们都将插入同一个地方,因此您使用相同的 api 这可能会影响您。您也在使用 Google 的 SDK,他们会不断更新。
笔记
这篇博文非常令人困惑,现在谷歌周围有一些内部电子邮件,试图弄清楚这对开发人员意味着什么。
您必须直接或通过代码中的库找到在哪里执行异构批处理请求。在任何情况下,批处理请求都不会反映在您的存储桶日志中,因为没有 API 或 API 方法本身被弃用,只是一种调用发送它们的方式。
您可以将多个对不同 API 的请求捆绑到一个批处理请求中。该批次将被发送到一个神奇的Google 服务器,该服务器将批次拆分并将其中的所有 API 请求路由到各自的服务中。
该 Google 服务器将被删除,因此所有内容都必须直接发送到该服务。
我看起来您正在发出异构批处理请求,因为只提到了一项服务,即存储。可能您应该执行这些选项之一。
如果您使用的是 Cloud Libraries -> 更新它们。
查找您是否正在访问以下 URL
www.googleapis.com/batch
并用适当的同质批处理 API替换它,在您的情况下是
www.googleapis.com/batch/storage/v1
否则,如果您使用 gapi 进行异构调用,这似乎不是您的情况,请拆分如下内容:
request1 = gapi.client.urlshortener(...)
request2 = gapi.client.storage.buckets.update(...)
request3 = gapi.client.storage.buckets.update(...)
heterogeneousBatchRequest = gapi.client.newBatch();
heterogeneousBatchRequest.add(request1);
heterogeneousBatchRequest.add(request2);
heterogeneousBatchRequest.add(request3);
变成这样的东西
request1 = gapi.client.urlshortener(...)
urlshortnerbatch = gapi.client.newBatch();
urlshortnerbatch.add(request1);
request2 = gapi.client.storage.buckets.update(...)
request3 = gapi.client.storage.buckets.update(...)
storagebatch.add(request2);
storagebatch.add(request3);
这里描述了如何使用 Storage API 进行批量请求。