Пакетный запрос с Google Storage Json Api (JAVA)
Я пытаюсь установить несколько ACL в одном пакетном запросе от appengine (JAVA). Я не уверен, какой должен быть URL для отправки запроса. В документации говорится "/ партия". Есть ли еще примеры? AFAIK, это невозможно проверить из проводника API.
1 ответ
Используя библиотеку https://code.google.com/p/google-api-java-client/ и API хранилища JSON, пакетный запрос будет выглядеть следующим образом:
// Create the Storage service object
Storage storage = new Storage(httpTransport, jsonFactory, credential);
// Create a new batch request
BatchRequest batch = storage.batch();
// Add some requests to the batch request
storage.objectAccessControls().insert("bucket-name", "object-key1",
new ObjectAccessControl().setEntity("user-123423423").setRole("READER"))
.queue(batch, callback);
storage.objectAccessControls().insert("bucket-name", "object-key2",
new ObjectAccessControl().setEntity("user-guy@example.com").setRole("READER"))
.queue(batch, callback);
storage.objectAccessControls().insert("bucket-name", "object-key3",
new ObjectAccessControl().setEntity("group-foo@googlegroups.com").setRole("OWNER"))
.queue(batch, callback);
// Execute the batch request. The individual callbacks will be called when requests finish.
batch.execute();
Обратите внимание, что на данный момент вам потребуется запросить доступ к API хранилища JSON, поскольку он находится в ограниченной бета-версии.
Соответствующая документация по API находится здесь: https://developers.google.com/storage/docs/json_api/v1/objectAccessControls
Документация о пакетных запросах в клиентской библиотеке Java: https://code.google.com/p/google-api-java-client/wiki/Batch
JavaDoc для клиентской библиотеки Java Storage: https://google-api-client-libraries.appspot.com/documentation/storage/v1beta1/java/latest/index.html