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。
以上内容是否对您有帮助:
更多建议: