Хранение данных в облачном хранилище Google с использованием gae для Java - PullRequest
1 голос
/ 18 марта 2012

Я пытаюсь сохранить данные из приложения App Engine в облачном хранилище Google.

, если я делаю это локально, код работает нормально, но я не вижу сохраняемых данных.

, если язагрузить приложение в обработчик приложений, а затем я получаю исключение нулевого указателя при запуске кода по адресу: AppEngineFile writableFile = fileService.createNewGSFile (optionsBuilder.build ());

полный код, который я использую, равен

        // Get the file service
        FileService fileService = FileServiceFactory.getFileService();

        /**
         * Set up properties of your new object
         * After finalizing objects, they are accessible
         * through Cloud Storage with the URL:
         * http://commondatastorage.googleapis.com/my_bucket/my_object
         */
        GSFileOptionsBuilder optionsBuilder = new GSFileOptionsBuilder()
          .setBucket("blood")
          .setKey("1234567")
          .setAcl("public-read")
          .setMimeType("text/html");//.setUserMetadata("date-created", "092011", "owner", "Jon");


        // Create your object
        AppEngineFile writableFile = fileService.createNewGSFile(optionsBuilder.build());

        // Open a channel for writing
        boolean lockForWrite = true; // Do you want to exclusively lock this object?
        FileWriteChannel writeChannel = fileService.openWriteChannel(writableFile, lockForWrite);
        // For this example, we write to the object using the PrintWriter
        PrintWriter out = new PrintWriter(Channels.newWriter(writeChannel, "UTF8"));
        out.println("The woods are lovely and deep.");
        out.println("But I have promises too keep.");

        // Close the object without finalizing.
        out.close();

        // Finalize the object
        writeChannel.closeFinally();
        System.out.println("Completed writing to google storage");

Ответы [ 2 ]

1 голос
/ 18 марта 2012

При использовании службы разработки и файловой службы с Google Storage, она на самом деле записывает не в ваше хранилище Google Storage, а в локальную файловую систему - ожидаете ли вы, что она будет записывать в Google Storage?

Для исключения нулевого указателя нужно будет увидеть трассировку стека, чтобы попытаться сузить область поиска ошибок.

0 голосов
/ 21 марта 2012

Таким образом, проблема заключалась в том, что движок приложения не был авторизован для чтения / записи в корзину, созданную в облачном хранилище.

...