Файл чтения NullPointerException из GCS с использованием библиотек в Java - PullRequest
0 голосов
/ 25 июня 2019

Следуя официальной документации, я пытался прочитать пример файла, который я сохранил в GCS, но пока единственное, что у меня есть, это NullPointerException

InputStream sampleStream() {
    String bucketName = "sample";
    String fileName = "sample";

    log.info("Loading file from GCS [bucket: {}, key: {}]", bucketName, fileName);
    try {
        GcsInputChannel readChannel = gcsService().openReadChannel(new GcsFilename(bucketName, fileName), 0);
        return Channels.newInputStream(readChannel);
    } catch(Exception ex) {
        log.error("Error loading file...", ex);
    }
}

private GcsService gcsService() {
    return GcsServiceFactory
        .createGcsService(new RetryParams.Builder()
            .initialRetryDelayMillis(10).retryMaxAttempts(10)
            .totalRetryPeriodMillis(15000)
            .build()
        );
}

Но все же повторяю попыткувремя ...

RetryHelper(14.16 ms, 1 attempts, com.google.appengine.tools.cloudstorage.SimpleGcsInputChannelImpl$1@278ef74): Attempt #1 failed [java.io.IOException: java.lang.NullPointerException], sleeping for 9 ms

NullPointerException генерируется всякий раз, когда .read() вызывается в результирующем InputStream.

Я пропускаю учетные данные (или путь к моему локальному файлу аутентификации .json) где-то или я должен учитывать больше вещей?

1 Ответ

0 голосов
/ 25 июня 2019

Видимо неправильное предположение в коде, возвращает нулевой объект, что вызывает NPE.Этот код проще и понятнее. Я добавляю ссылку:

Как читать файл из Google Cloud Storage в Java

...