Spring Cloud GCP Google云存储

2024-01-09 17:46 更新

Google云存储的Spring资源抽象允许使用@Value批注通过其GCS URL访问GCS对象:

@Value("gs://[YOUR_GCS_BUCKET]/[GCS_FILE_NAME]")
private Resource gcsResource;

…或Spring应用程序上下文

SpringApplication.run(...).getResource("gs://[YOUR_GCS_BUCKET]/[GCS_FILE_NAME]");

这将创建一个Resource对象,该对象可用于读取该对象以及其他可能的操作

尽管需要WriteableResource,但也可以写入Resource

@Value("gs://[YOUR_GCS_BUCKET]/[GCS_FILE_NAME]")
private Resource gcsResource;
...
try (OutputStream os = ((WritableResource) gcsResource).getOutputStream()) {
  os.write("foo".getBytes());
}

要将Resource作为Google云存储资源使用,请将其强制转换为GoogleStorageResource

如果资源路径指向Google Cloud Storage上的对象(而不是存储桶),则可以调用getBlob方法来获取Blob此类型表示GCS文件,该文件具有可以设置的关联元数据,例如content-type。createSignedUrl方法还可用于获取GCS对象的签名URL但是,创建签名的URL要求使用服务帐户凭据创建资源。

Google Cloud Storage的Spring Boot入门程序根据Spring Boot GCP入门程序提供的CredentialsProvider自动配置spring-cloud-gcp-storage模块所需的Storage bean。

以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号