Interface StorageDriver


@Experimental public interface StorageDriver
Stores and retrieves payloads in an external storage system.
  • Method Details

    • getName

      @Nonnull String getName()
      Name of this driver instance, unique among the drivers registered in a single ExternalStorageOptions. Used as the routing key recorded in a stored payload's reference and resolved back to this driver on retrieval.
    • getType

      @Nonnull String getType()
      Stable, implementation-level identifier for this driver, the same across all instances of the driver class and ideally across SDKs (e.g. "aws.s3driver"). Used for metrics and worker heartbeat reporting, so it must not be derived from anything that changes between versions or refactors.
    • store

      @Nonnull CompletableFuture<List<StorageDriverClaim>> store(@Nonnull StorageDriverStoreContext context, @Nonnull List<io.temporal.api.common.v1.Payload> payloads)
      Stores payloads and returns one StorageDriverClaim per payload, in the same order. The returned list must be the same length as payloads.
    • retrieve

      @Nonnull CompletableFuture<List<io.temporal.api.common.v1.Payload>> retrieve(@Nonnull StorageDriverRetrieveContext context, @Nonnull List<StorageDriverClaim> claims)
      Retrieves the payloads identified by claims and returns one Payload per claim, in the same order. The returned list must be the same length as claims.