在存储中查找 HTTP 批处理的使用 api
Find usage of HTTP Batch in storage api
我收到 Google JSON-RPC and Global HTTP Batch Endpoints are deprecated 的通知。在我的例子中,受影响的 api 是 "storage@v1" 和 "Global Batch Endpoints"。
我试图找到 depricated api 调用的来源。但我正在使用 24 个存储桶和多个访问它的工具。那么有没有办法记录 depricated 调用?我启用了 logging for buckets。在进行批量请求和进行单个请求时,我在访问日志中找不到任何差异。
是 "Batching across multiple APIs in a single request" 正在停产 Discontinuing support for JSON-RPC and Global HTTP Batch Endpoints
但令人难以理解的是,究竟是什么被停产了。
有两个批处理端点。全球一 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 这可能会对你产生影响。您还在使用 Googles SDK,他们会保持更新。
注
博客 post 非常令人困惑,现在有一些内部电子邮件在 Google 周围传播,试图弄清楚这对开发人员意味着什么。
您必须找到直接或通过代码中的库执行异构批处理请求的位置。在任何情况下,批处理请求都不会反映在您的存储桶日志中,因为没有 API 或 API 方法本身被弃用,只是一种调用发送它们的方式。
详细
您可以将针对不同 API 的多个请求捆绑到一个批处理请求中。该批次将被发送到一个 magical Google 服务器,该服务器将批次拆分并将其中的所有 API 请求路由到各自的服务中。
此 Google 服务器将被删除,因此所有内容都必须直接发送到该服务。
你该怎么办?
我看起来像是在进行 异构 批处理请求,因为只提到了一项服务,即存储。也许你应该做这些选择之一。
如果您正在使用云库 -> 更新它们。
查找是否访问URL下方
www.googleapis.com/batch
并将其替换为适当的 homogeneous batch API,在您的情况下是
www.googleapis.com/batch/storage/v1
- 如果您使用 batchPath,这似乎是一篇 relevant 文章
否则,如果您使用 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);
官方文档
Here描述了如何使用 Storage 进行批量请求 API。
我收到 Google JSON-RPC and Global HTTP Batch Endpoints are deprecated 的通知。在我的例子中,受影响的 api 是 "storage@v1" 和 "Global Batch Endpoints"。
我试图找到 depricated api 调用的来源。但我正在使用 24 个存储桶和多个访问它的工具。那么有没有办法记录 depricated 调用?我启用了 logging for buckets。在进行批量请求和进行单个请求时,我在访问日志中找不到任何差异。
是 "Batching across multiple APIs in a single request" 正在停产 Discontinuing support for JSON-RPC and Global HTTP Batch Endpoints
但令人难以理解的是,究竟是什么被停产了。
有两个批处理端点。全球一 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 这可能会对你产生影响。您还在使用 Googles SDK,他们会保持更新。
注
博客 post 非常令人困惑,现在有一些内部电子邮件在 Google 周围传播,试图弄清楚这对开发人员意味着什么。
您必须找到直接或通过代码中的库执行异构批处理请求的位置。在任何情况下,批处理请求都不会反映在您的存储桶日志中,因为没有 API 或 API 方法本身被弃用,只是一种调用发送它们的方式。
详细
您可以将针对不同 API 的多个请求捆绑到一个批处理请求中。该批次将被发送到一个 magical Google 服务器,该服务器将批次拆分并将其中的所有 API 请求路由到各自的服务中。
此 Google 服务器将被删除,因此所有内容都必须直接发送到该服务。
你该怎么办?
我看起来像是在进行 异构 批处理请求,因为只提到了一项服务,即存储。也许你应该做这些选择之一。
如果您正在使用云库 -> 更新它们。
查找是否访问URL下方
www.googleapis.com/batch
并将其替换为适当的 homogeneous batch API,在您的情况下是
www.googleapis.com/batch/storage/v1
- 如果您使用 batchPath,这似乎是一篇 relevant 文章
否则,如果您使用 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);
官方文档
Here描述了如何使用 Storage 进行批量请求 API。