如何以编程方式从GAE Java8访问GCS托管文件

时间:2017-08-13 08:22:30

标签: java google-app-engine google-cloud-storage

我有一个带有GAE配置GCS存储桶的Java8 GAE项目。我有一组文件存储在GCS的“子目录”中。我可以使用gsutil访问这些文件,如下所示:

gsutil cp gs://gae-java8-project.appspot.com/files/109.avro .

但是,我无法使用com.google.appengine.tools.cloudstorage.GcsService获取这些文件。我在StackDriver日志中看到的错误是:

java.io.FileNotFoundException: 
Could not find: GcsFilename(gae-java8-project.appspot.com, /files/109.avro)

以下是我的相关代码:

int x = ...
GcsFilename fileName =
        new GcsFilename(
            "gae-java8-project.appspot.com", 
            String.format("/files/%d.avro", x));
GcsInputChannel readChannel = gcsService.openPrefetchingReadChannel(fileName, 0, BUFFER_SIZE);
InputStream is = Channels.newInputStream(readChannel);
byte[] bytes = IOUtils.toByteArray(is);

HALP?

0 个答案:

没有答案