关于GCP GCS两种对象读取方式的请求次数及适用场景咨询
GCP GCS两种对象读取方式的请求次数及适用场景咨询
最近在处理GCP云存储(GCS)桶里的对象读取时,我发现了两种不同的实现方式,目前对它们的HTTP请求次数和适用场景有点拿不准,想请教下各位大佬的看法,先说说我目前的理解:
方式一:storage.readAllBytes
我看到有资料推荐使用这个方法,官方说明里提到它是将整个对象加载到内存的快速方式,我个人推测这种方式只需要向Google Cloud发起1次GET请求,就能一次性完成整个对象的下载。
方式二:storage.get(blobId) + blob.getContent()
另一种方式是先通过storage.get获取Blob对象,再调用getContent()读取实际内容,示例代码如下:
Blob blob = storage.get(blobId); String value = new String(blob.getContent());
我猜测这种方式会发起2次HTTP GET请求:第一次请求获取Blob的元数据信息,第二次才是下载对象的实际内容。
我的实际使用场景是要处理大小在5-1XX范围的XML文档(原文未补充完整),想确认下我的请求次数推测是否正确?另外这两种方法分别更适合什么场景呢?
备注:内容来源于stack exchange,提问作者Kul
相关产品推荐
相关产品推荐

