GcsArtifactService
An artifact service implementation using Google Cloud Storage (GCS).
The blob name format used depends on whether the filename has a user namespace:
For files with user namespace (starting with "user:"):
{appName}/{userId}/user/{filename}/{version}For regular session-scoped files:
{appName}/{userId}/{sessionId}/{filename}/{version}
A session whose id is literally user therefore shares the user-scope prefix, and listArtifactKeys reports its session-scoped filenames to that user's other sessions, which cannot load them.
Functions
Deletes an artifact.
Lists the filenames visible to a session: its own artifacts plus the user's user: ones.
Lists all the versions (as revision IDs) of an artifact.
Gets an artifact.
Saves an artifact and returns it with fileData if available.
Saves an artifact.