我最近开始使用谷歌云平台,遇到了各种软件包,例如
Storage storage = storageBilder.build();
storage.get("bucketname", Storage.BucketGetOption.fields())
Storage.BucketGetOption.fields();
如果我使用上面的代码,我将面临The method get(String, Storage.BucketGetOption) is undefined for the type Storage
.
它实际上使用以下包中的存储
com.google.api.services.storage.Storage storage = storageBilder.build();
(i.still.do.not.know.this.)storage.get("bucketname", Storage.BucketGetOption.fields())
com.google.cloud.storage.Storage.BucketGetOption.fields();
为什么以各种方式实现此存储? com.google.api
和com.google.cloud
有什么区别或用途?
有人可以解释一下吗?
多年来,Google 发布了许多 Java API 客户端库。
目前最好的Java API客户端是google-cloud库。它使用 Java 包com.google.cloud
。对于云存储,如果类处于com.google.cloud.storage
下,则您正在使用此库。
在此库之前,还有另一组库称为 Google API 客户端库。这些库将其类放在com.google.api
包中。对于云存储,您会在com.google.api.services.storage
中找到类。使用此库的代码还将使用独特的存储-资源-谓词函数模式,如storage.buckets().objects().get()
模式。
Google API 客户端库仍然受支持,但我建议新代码首选 google-cloud 库。不幸的是,由于这种库切换,您在网上找到的一些代码示例将使用前者或后者,或者更糟的是,两者兼而有之。