【发布时间】:2018-11-01 16:32:20
【问题描述】:
下面的代码直接来自google apis github,用于从 GCS 下载文件。我将其更改为能够将文件下载到本地计算机。
如果文件大于 33MB,应用将在 2 分钟或更短时间后停止尝试。我想我读到应用引擎的限制是 32 或 33。不过,我看不到任何配额增加。有人可以为我指出如何管理这个问题的正确方向吗?
if (blob.getSize() < 1_000_000) {
// Blob is small read all its content in one request
byte[] content = blob.getContent();
outStream.write(content);
outStream.close();
} else {
// When Blob size is big or unknown use the blob's channel reader.
try (ReadChannel reader = blob.reader()) {
WritableByteChannel channel = Channels.newChannel(outStream);
ByteBuffer bytes = ByteBuffer.allocate(64 * 1024);
while (reader.read(bytes) > 0) {
bytes.flip();
channel.write(bytes);
bytes.clear();
}
}
}
【问题讨论】:
-
更新了 try 块,尽管它必须下载到 GCS 而不是本地机器。 java.io.FileNotFoundException
标签: java google-app-engine download google-cloud-storage