gpt4 book ai didi

java - 从其 BlobKey 获取 Google Cloud Storage 文件

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:06:11 27 4
gpt4 key购买 nike

我编写了一个 Google App Engine 应用程序,它使用 Blobstore 来保存以编程方式生成的数据。为此,我使用了 Files API ,不幸的是,它已被弃用,取而代之的是 Google Cloud Storage。所以我正在重写我的助手类以使用 GCS。

我希望界面尽可能与以前相似,这也是因为我将 BlobKeys 保留在数据存储中以保留对文件的引用(并且更改生产应用程序的模型总是很痛苦)。当我将一些东西保存到 GCS 时,我用

检索了一个 BlobKey
BlobKey blobKey = blobstoreService.createGsBlobKey("/gs/" + fileName.getBucketName() + "/" + fileName.getObjectName());

按照规定here ,我将其保存在数据存储区中。

所以问题来了:文档告诉我如何在 servlet 响应中使用 blobstoreService.serve(blobKey, resp); 提供 GCS 文件,但是我如何检索文件内容(如InputStream、字节数组或其他)在我的代码中使用它进行进一步处理?在我当前的实现中,我使用 FileReadChannelAppEngineFile 读取数据(均已弃用)。

最佳答案

下面是将 Google 存储对象作为输入流打开的代码。不幸的是,您必须使用存储桶名称和对象名称,而不是 blob 键

GcsFilename gcs_filename = new GcsFilename(bucket_name, object_name);
GcsService service = GcsServiceFactory.createGcsService();
ReadableByteChannel rbc = service.openReadChannel(gcs_filename, 0);
InputStream stream = Channels.newInputStream(rbc);

关于java - 从其 BlobKey 获取 Google Cloud Storage 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18339168/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com