Class GcsArtifactService
java.lang.Object
com.google.adk.artifacts.GcsArtifactService
- All Implemented Interfaces:
BaseArtifactService
An artifact service implementation using Google Cloud Storage (GCS).
-
Constructor Summary
ConstructorsConstructorDescriptionGcsArtifactService(String bucketName, com.google.cloud.storage.Storage storageClient) Initializes the GcsArtifactService. -
Method Summary
Modifier and TypeMethodDescriptionio.reactivex.rxjava3.core.CompletabledeleteArtifact(String appName, String userId, String sessionId, String filename) Deletes an artifact.io.reactivex.rxjava3.core.Single<ListArtifactsResponse> listArtifactKeys(String appName, String userId, String sessionId) Lists all the artifact filenames within a session.io.reactivex.rxjava3.core.Single<com.google.common.collect.ImmutableList<Integer>> listVersions(String appName, String userId, String sessionId, String filename) Lists all the versions (as revision IDs) of an artifact.io.reactivex.rxjava3.core.Maybe<com.google.genai.types.Part> loadArtifact(String appName, String userId, String sessionId, String filename, Optional<Integer> version) Gets an artifact.io.reactivex.rxjava3.core.Single<Integer> saveArtifact(String appName, String userId, String sessionId, String filename, com.google.genai.types.Part artifact) Saves an artifact.
-
Constructor Details
-
GcsArtifactService
Initializes the GcsArtifactService.- Parameters:
bucketName- The name of the GCS bucket to use.storageClient- The GCS storage client instance.
-
-
Method Details
-
saveArtifact
public io.reactivex.rxjava3.core.Single<Integer> saveArtifact(String appName, String userId, String sessionId, String filename, com.google.genai.types.Part artifact) Description copied from interface:BaseArtifactServiceSaves an artifact.- Specified by:
saveArtifactin interfaceBaseArtifactService- Parameters:
appName- the app nameuserId- the user IDsessionId- the session IDfilename- the filenameartifact- the artifact- Returns:
- the revision ID (version) of the saved artifact.
-
loadArtifact
public io.reactivex.rxjava3.core.Maybe<com.google.genai.types.Part> loadArtifact(String appName, String userId, String sessionId, String filename, Optional<Integer> version) Description copied from interface:BaseArtifactServiceGets an artifact.- Specified by:
loadArtifactin interfaceBaseArtifactService- Parameters:
appName- the app nameuserId- the user IDsessionId- the session IDfilename- the filenameversion- Optional version number. If null, loads the latest version.- Returns:
- the artifact or empty if not found
-
listArtifactKeys
public io.reactivex.rxjava3.core.Single<ListArtifactsResponse> listArtifactKeys(String appName, String userId, String sessionId) Description copied from interface:BaseArtifactServiceLists all the artifact filenames within a session.- Specified by:
listArtifactKeysin interfaceBaseArtifactService- Parameters:
appName- the app nameuserId- the user IDsessionId- the session ID- Returns:
- the list artifact response containing filenames
-
deleteArtifact
public io.reactivex.rxjava3.core.Completable deleteArtifact(String appName, String userId, String sessionId, String filename) Description copied from interface:BaseArtifactServiceDeletes an artifact.- Specified by:
deleteArtifactin interfaceBaseArtifactService- Parameters:
appName- the app nameuserId- the user IDsessionId- the session IDfilename- the filename
-
listVersions
public io.reactivex.rxjava3.core.Single<com.google.common.collect.ImmutableList<Integer>> listVersions(String appName, String userId, String sessionId, String filename) Description copied from interface:BaseArtifactServiceLists all the versions (as revision IDs) of an artifact.- Specified by:
listVersionsin interfaceBaseArtifactService- Parameters:
appName- the app nameuserId- the user IDsessionId- the session IDfilename- the artifact filename- Returns:
- A list of integer version numbers.
-