我最近开始在我的.NET项目中使用Google云端存储。由于项目的目的,应用程序非常频繁地进行get / insert API调用,例如每秒20-100次......
目前,这是我从Google存储中查询对象的方式:
using (StorageService service = getGoogleStorageService())
{
return service.Objects.Get(bucketName, cloudKey).Execute();
}
我有两个问题,我在API示例中找不到任何明确的答案。
第一个;我在运行时为我在本地数据库中找到的每个域对象生成cloudKey
,然后我需要检查google存储上是否有任何带有此密钥的文件。由于我找不到像"Exists()"
这样的API方法,我必须使用与上面相同的"Get()"
方法。如果API不存在,则API会返回带有Exception
响应的404 (Not Found)
。所以,我必须解析这个404错误并假设该文件不存在。我想知道是否有更好的做法来检查存储上是否存在文件,因为对我来说这个解决方案似乎不是一个好的解决方案,并且可能会因为有这么多请求而导致应用程序变慢。
第二个;因为我主要关心的是带宽并从API获得快速响应,我想知道这个.Excute()
方法是否也在响应中下载文件内容。在这两种情况下,如果它下载或者如果它没有下载文件内容,当我的目标只是查询文件存在时,是否还有办法减少响应大小。
-