Ich verwende derzeit JSON API Java-Bibliothek, um Objekte in Google Cloud Storage hochzuladen und versucht, die Berechtigung des Objekts, das hochgeladen wird, zu ändern. Wenn ich zum ersten Mal die Datei laden, gibt es drei Standard-Dateiberechtigungen, die ist:Google Cloud-Objekt-Berechtigung verschwinden
Projektinhaber-projectId BESITZER
Projektredakteuren projectId BESITZER
Projekt Zuschauer-projectId BESITZER
Nach dem Hochladen habe ich versucht, meinen Code zu verwenden, um eine neue Datei hinzuzufügen, damit alle Benutzer als Leser darauf zugreifen können. Mein Code lautet:
StorageObject objectMetadata = new StorageObject();
// set access control
List<ObjectAccessControl> acl = Lists.newArrayList();
acl.add(new ObjectAccessControl().setEntity("allUsers").setRole("READER"));
objectMetadata.setAcl(acl);
Storage.Objects.Update req = client.objects().update(Bucket, file, objectMetadata);
req.execute();
jedoch nach dem Code erfolgreich ausgeführt, die drei Standard-Dateiberechtigungen ist weg und stattdessen ist es ersetzen mit:
Benutzer allusers Reader
Obwohl dies die ich Datei Erlaubnis wollte einstellen, die ursprüngliche 3-Datei-Berechtigung ist weg. Gibt es eine Möglichkeit, es so zu machen, dass meine 3 Standard-Dateiberechtigung beibehalten wird und diese neue Dateiberechtigung hat? Jede Hilfe wird geschätzt.