Interface DaprClient

All Superinterfaces:
AutoCloseable
All Known Implementing Classes:
DaprClientImpl, ObservationDaprClient

public interface DaprClient extends AutoCloseable
Generic Client Adapter to be used regardless of the GRPC or the HTTP Client implementation required.
See Also:
  • Method Details

    • waitForSidecar

      reactor.core.publisher.Mono<Void> waitForSidecar(int timeoutInMilliseconds)
      Waits for the sidecar, giving up after timeout.
      Parameters:
      timeoutInMilliseconds - Timeout in milliseconds to wait for sidecar.
      Returns:
      a Mono plan of type Void.
    • healthCheck

      reactor.core.publisher.Mono<Boolean> healthCheck()
      Checks the health of the sidecar by calling the /v1.0/healthz endpoint.

      Unlike waitForSidecar(int), which relies on /v1.0/healthz/outbound, this check only succeeds once all components are initialized, the Dapr HTTP port is available and the app channel is established. Calling it while the app is still starting up may therefore return false.

      Returns:
      a Mono emitting true if the sidecar is healthy, false otherwise.
    • publishEvent

      reactor.core.publisher.Mono<Void> publishEvent(String pubsubName, String topicName, Object data)
      Publish an event.
      Parameters:
      pubsubName - the pubsub name we will publish the event to
      topicName - the topicName where the event will be published.
      data - the event's data to be published, use byte[] for skipping serialization.
      Returns:
      a Mono plan of type Void.
    • publishEvent

      reactor.core.publisher.Mono<Void> publishEvent(String pubsubName, String topicName, Object data, Map<String,String> metadata)
      Publish an event.
      Parameters:
      pubsubName - the pubsub name we will publish the event to
      topicName - the topicName where the event will be published.
      data - the event's data to be published, use byte[] for skipping serialization.
      metadata - The metadata for the published event.
      Returns:
      a Mono plan of type Void.
    • publishEvent

      reactor.core.publisher.Mono<Void> publishEvent(PublishEventRequest request)
      Publish an event.
      Parameters:
      request - the request for the publish event.
      Returns:
      a Mono plan of a Dapr's void response.
    • publishEvents

      <T> reactor.core.publisher.Mono<BulkPublishResponse<T>> publishEvents(BulkPublishRequest<T> request)
      Publish multiple events to Dapr in a single request.
      Type Parameters:
      T - The type of events to publish in the call.
      Parameters:
      request - BulkPublishRequest object.
      Returns:
      A Mono of BulkPublishResponse object.
    • publishEvents

      <T> reactor.core.publisher.Mono<BulkPublishResponse<T>> publishEvents(String pubsubName, String topicName, String contentType, List<T> events)
      Publish multiple events to Dapr in a single request.
      Type Parameters:
      T - The type of the events to publish in the call.
      Parameters:
      pubsubName - the pubsub name we will publish the event to.
      topicName - the topicName where the event will be published.
      events - the List of events to be published.
      contentType - the content type of the event. Use Mime based types.
      Returns:
      the BulkPublishResponse containing publish status of each event. The "entryID" field in BulkPublishEntry in BulkPublishResponseFailedEntry will be generated based on the order of events in the List.
    • publishEvents

      <T> reactor.core.publisher.Mono<BulkPublishResponse<T>> publishEvents(String pubsubName, String topicName, String contentType, T... events)
      Publish multiple events to Dapr in a single request.
      Type Parameters:
      T - The type of the events to publish in the call.
      Parameters:
      pubsubName - the pubsub name we will publish the event to.
      topicName - the topicName where the event will be published.
      events - the varargs of events to be published.
      contentType - the content type of the event. Use Mime based types.
      Returns:
      the BulkPublishResponse containing publish status of each event. The "entryID" field in BulkPublishEntry in BulkPublishResponseFailedEntry will be generated based on the order of events in the List.
    • publishEvents

      <T> reactor.core.publisher.Mono<BulkPublishResponse<T>> publishEvents(String pubsubName, String topicName, String contentType, Map<String,String> requestMetadata, List<T> events)
      Publish multiple events to Dapr in a single request.
      Type Parameters:
      T - The type of the events to publish in the call.
      Parameters:
      pubsubName - the pubsub name we will publish the event to.
      topicName - the topicName where the event will be published.
      events - the List of events to be published.
      contentType - the content type of the event. Use Mime based types.
      requestMetadata - the metadata to be set at the request level for the BulkPublishRequest.
      Returns:
      the BulkPublishResponse containing publish status of each event. The "entryID" field in BulkPublishEntry in BulkPublishResponseFailedEntry will be generated based on the order of events in the List.
    • publishEvents

      <T> reactor.core.publisher.Mono<BulkPublishResponse<T>> publishEvents(String pubsubName, String topicName, String contentType, Map<String,String> requestMetadata, T... events)
      Publish multiple events to Dapr in a single request.
      Type Parameters:
      T - The type of the events to publish in the call.
      Parameters:
      pubsubName - the pubsub name we will publish the event to.
      topicName - the topicName where the event will be published.
      events - the varargs of events to be published.
      contentType - the content type of the event. Use Mime based types.
      requestMetadata - the metadata to be set at the request level for the BulkPublishRequest.
      Returns:
      the BulkPublishResponse containing publish status of each event. The "entryID" field in BulkPublishEntry in BulkPublishResponseFailedEntry will be generated based on the order of events in the List.
    • invokeMethod

      @Deprecated <T> reactor.core.publisher.Mono<T> invokeMethod(String appId, String methodName, Object data, HttpExtension httpExtension, Map<String,String> metadata, TypeRef<T> type)
      Deprecated.
      It is recommended to use language-native HTTP clients or gRPC clients for service invocation instead.
      Invoke a service method, using serialization.
      Type Parameters:
      T - The Type of the return, use byte[] to skip serialization.
      Parameters:
      appId - The Application ID where the service is.
      methodName - The actual Method to be call in the application.
      data - The data to be sent to invoke the service, use byte[] to skip serialization.
      httpExtension - Additional fields that are needed if the receiving app is listening on HTTP, HttpExtension.NONE otherwise.
      metadata - Metadata (in GRPC) or headers (in HTTP) to be sent in data.
      type - The Type needed as return for the call.
      Returns:
      A Mono Plan of type T.
    • invokeMethod

      @Deprecated <T> reactor.core.publisher.Mono<T> invokeMethod(String appId, String methodName, Object request, HttpExtension httpExtension, Map<String,String> metadata, Class<T> clazz)
      Deprecated.
      It is recommended to use language-native HTTP clients or gRPC clients for service invocation instead.
      Invoke a service method, using serialization.
      Type Parameters:
      T - The Type of the return, use byte[] to skip serialization.
      Parameters:
      appId - The Application ID where the service is.
      methodName - The actual Method to be call in the application.
      request - The request to be sent to invoke the service, use byte[] to skip serialization.
      httpExtension - Additional fields that are needed if the receiving app is listening on HTTP, HttpExtension.NONE otherwise.
      metadata - Metadata (in GRPC) or headers (in HTTP) to be sent in request.
      clazz - The type needed as return for the call.
      Returns:
      A Mono Plan of type T.
    • invokeMethod

      @Deprecated <T> reactor.core.publisher.Mono<T> invokeMethod(String appId, String methodName, Object request, HttpExtension httpExtension, TypeRef<T> type)
      Deprecated.
      It is recommended to use language-native HTTP clients or gRPC clients for service invocation instead.
      Invoke a service method, using serialization.
      Type Parameters:
      T - The Type of the return, use byte[] to skip serialization.
      Parameters:
      appId - The Application ID where the service is.
      methodName - The actual Method to be call in the application.
      request - The request to be sent to invoke the service, use byte[] to skip serialization.
      httpExtension - Additional fields that are needed if the receiving app is listening on HTTP, HttpExtension.NONE otherwise.
      type - The Type needed as return for the call.
      Returns:
      A Mono Plan of type T.
    • invokeMethod

      @Deprecated <T> reactor.core.publisher.Mono<T> invokeMethod(String appId, String methodName, Object request, HttpExtension httpExtension, Class<T> clazz)
      Deprecated.
      It is recommended to use language-native HTTP clients or gRPC clients for service invocation instead.
      Invoke a service method, using serialization.
      Type Parameters:
      T - The Type of the return, use byte[] to skip serialization.
      Parameters:
      appId - The Application ID where the service is.
      methodName - The actual Method to be call in the application.
      request - The request to be sent to invoke the service, use byte[] to skip serialization.
      httpExtension - Additional fields that are needed if the receiving app is listening on HTTP, HttpExtension.NONE otherwise.
      clazz - The type needed as return for the call.
      Returns:
      A Mono Plan of type T.
    • invokeMethod

      @Deprecated <T> reactor.core.publisher.Mono<T> invokeMethod(String appId, String methodName, HttpExtension httpExtension, Map<String,String> metadata, TypeRef<T> type)
      Deprecated.
      It is recommended to use language-native HTTP clients or gRPC clients for service invocation instead.
      Invoke a service method, using serialization.
      Type Parameters:
      T - The Type of the return, use byte[] to skip serialization.
      Parameters:
      appId - The Application ID where the service is.
      methodName - The actual Method to be call in the application.
      httpExtension - Additional fields that are needed if the receiving app is listening on HTTP, HttpExtension.NONE otherwise.
      metadata - Metadata (in GRPC) or headers (in HTTP) to be sent in request.
      type - The Type needed as return for the call.
      Returns:
      A Mono Plan of type T.
    • invokeMethod

      @Deprecated <T> reactor.core.publisher.Mono<T> invokeMethod(String appId, String methodName, HttpExtension httpExtension, Map<String,String> metadata, Class<T> clazz)
      Deprecated.
      It is recommended to use language-native HTTP clients or gRPC clients for service invocation instead.
      Invoke a service method, using serialization.
      Type Parameters:
      T - The Type of the return, use byte[] to skip serialization.
      Parameters:
      appId - The Application ID where the service is.
      methodName - The actual Method to be call in the application.
      httpExtension - Additional fields that are needed if the receiving app is listening on HTTP, HttpExtension.NONE otherwise.
      metadata - Metadata (in GRPC) or headers (in HTTP) to be sent in request.
      clazz - The type needed as return for the call.
      Returns:
      A Mono Plan of type T.
    • invokeMethod

      @Deprecated reactor.core.publisher.Mono<Void> invokeMethod(String appId, String methodName, Object request, HttpExtension httpExtension, Map<String,String> metadata)
      Deprecated.
      It is recommended to use language-native HTTP clients or gRPC clients for service invocation instead.
      Invoke a service method, using serialization.
      Parameters:
      appId - The Application ID where the service is.
      methodName - The actual Method to be call in the application.
      request - The request to be sent to invoke the service, use byte[] to skip serialization.
      httpExtension - Additional fields that are needed if the receiving app is listening on HTTP, HttpExtension.NONE otherwise.
      metadata - Metadata (in GRPC) or headers (in HTTP) to be sent in request.
      Returns:
      A Mono Plan of type Void.
    • invokeMethod

      @Deprecated reactor.core.publisher.Mono<Void> invokeMethod(String appId, String methodName, Object request, HttpExtension httpExtension)
      Deprecated.
      It is recommended to use language-native HTTP clients or gRPC clients for service invocation instead.
      Invoke a service method, using serialization.
      Parameters:
      appId - The Application ID where the service is.
      methodName - The actual Method to be call in the application.
      request - The request to be sent to invoke the service, use byte[] to skip serialization.
      httpExtension - Additional fields that are needed if the receiving app is listening on HTTP, HttpExtension.NONE otherwise.
      Returns:
      A Mono Plan of type Void.
    • invokeMethod

      @Deprecated reactor.core.publisher.Mono<Void> invokeMethod(String appId, String methodName, HttpExtension httpExtension, Map<String,String> metadata)
      Deprecated.
      It is recommended to use language-native HTTP clients or gRPC clients for service invocation instead.
      Invoke a service method, using serialization.
      Parameters:
      appId - The Application ID where the service is.
      methodName - The actual Method to be call in the application.
      httpExtension - Additional fields that are needed if the receiving app is listening on HTTP, HttpExtension.NONE otherwise.
      metadata - Metadata (in GRPC) or headers (in HTTP) to be sent in request.
      Returns:
      A Mono Plan of type Void.
    • invokeMethod

      @Deprecated reactor.core.publisher.Mono<byte[]> invokeMethod(String appId, String methodName, byte[] request, HttpExtension httpExtension, Map<String,String> metadata)
      Deprecated.
      It is recommended to use language-native HTTP clients or gRPC clients for service invocation instead.
      Invoke a service method, without using serialization.
      Parameters:
      appId - The Application ID where the service is.
      methodName - The actual Method to be call in the application.
      request - The request to be sent to invoke the service, use byte[] to skip serialization.
      httpExtension - Additional fields that are needed if the receiving app is listening on HTTP, HttpExtension.NONE otherwise.
      metadata - Metadata (in GRPC) or headers (in HTTP) to be sent in request.
      Returns:
      A Mono Plan of type byte[].
    • invokeMethod

      @Deprecated <T> reactor.core.publisher.Mono<T> invokeMethod(InvokeMethodRequest invokeMethodRequest, TypeRef<T> type)
      Deprecated.
      It is recommended to use language-native HTTP clients or gRPC clients for service invocation instead.
      Invoke a service method.
      Type Parameters:
      T - The Type of the return, use byte[] to skip serialization.
      Parameters:
      invokeMethodRequest - Request object.
      type - The Type needed as return for the call.
      Returns:
      A Mono Plan of type T.
    • invokeHttpClient

      DaprInvokeHttpClient invokeHttpClient(String appId)
      Creates an HTTP client pre-configured for Dapr service invocation against the given app id.

      The returned client resolves relative paths against {daprHttpEndpoint}/v1.0/invoke/{appId}/method/ and automatically attaches the dapr-api-token header when one is configured. It reuses the SDK's shared HttpClient instance.

      Migrating from invokeMethod: the deprecated invokeMethod APIs serialized request bodies through the configured DaprObjectSerializer (JSON by default), so a String payload was sent as a JSON string literal (e.g. "hello"). This client does not serialize bodies — callers supply raw BodyPublishers exactly as with any HttpClient. To preserve the previous JSON encoding, use DaprBodyPublishers.json(Object).

      Parameters:
      appId - the application id to invoke.
      Returns:
      a DaprInvokeHttpClient bound to appId.
    • invokeBinding

      reactor.core.publisher.Mono<Void> invokeBinding(String bindingName, String operation, Object data)
      Invokes a Binding operation.
      Parameters:
      bindingName - The bindingName of the binding to call.
      operation - The operation to be performed by the binding request processor.
      data - The data to be processed, use byte[] to skip serialization.
      Returns:
      an empty Mono.
    • invokeBinding

      reactor.core.publisher.Mono<byte[]> invokeBinding(String bindingName, String operation, byte[] data, Map<String,String> metadata)
      Invokes a Binding operation, skipping serialization.
      Parameters:
      bindingName - The name of the binding to call.
      operation - The operation to be performed by the binding request processor.
      data - The data to be processed, skipping serialization.
      metadata - The metadata map.
      Returns:
      a Mono plan of type byte[].
    • invokeBinding

      <T> reactor.core.publisher.Mono<T> invokeBinding(String bindingName, String operation, Object data, TypeRef<T> type)
      Invokes a Binding operation.
      Type Parameters:
      T - The type of the return
      Parameters:
      bindingName - The name of the binding to call.
      operation - The operation to be performed by the binding request processor.
      data - The data to be processed, use byte[] to skip serialization.
      type - The type being returned.
      Returns:
      a Mono plan of type T.
    • invokeBinding

      <T> reactor.core.publisher.Mono<T> invokeBinding(String bindingName, String operation, Object data, Class<T> clazz)
      Invokes a Binding operation.
      Type Parameters:
      T - The type of the return
      Parameters:
      bindingName - The name of the binding to call.
      operation - The operation to be performed by the binding request processor.
      data - The data to be processed, use byte[] to skip serialization.
      clazz - The type being returned.
      Returns:
      a Mono plan of type T.
    • invokeBinding

      <T> reactor.core.publisher.Mono<T> invokeBinding(String bindingName, String operation, Object data, Map<String,String> metadata, TypeRef<T> type)
      Invokes a Binding operation.
      Type Parameters:
      T - The type of the return
      Parameters:
      bindingName - The name of the binding to call.
      operation - The operation to be performed by the binding request processor.
      data - The data to be processed, use byte[] to skip serialization.
      metadata - The metadata map.
      type - The type being returned.
      Returns:
      a Mono plan of type T.
    • invokeBinding

      <T> reactor.core.publisher.Mono<T> invokeBinding(String bindingName, String operation, Object data, Map<String,String> metadata, Class<T> clazz)
      Invokes a Binding operation.
      Type Parameters:
      T - The type of the return
      Parameters:
      bindingName - The name of the binding to call.
      operation - The operation to be performed by the binding request processor.
      data - The data to be processed, use byte[] to skip serialization.
      metadata - The metadata map.
      clazz - The type being returned.
      Returns:
      a Mono plan of type T.
    • invokeBinding

      reactor.core.publisher.Mono<Void> invokeBinding(InvokeBindingRequest request)
      Invokes a Binding operation.
      Parameters:
      request - The binding invocation request.
      Returns:
      a Mono with void.
    • invokeBinding

      <T> reactor.core.publisher.Mono<T> invokeBinding(InvokeBindingRequest request, TypeRef<T> type)
      Invokes a Binding operation.
      Type Parameters:
      T - The type of the return
      Parameters:
      request - The binding invocation request.
      type - The type being returned.
      Returns:
      a Mono plan of type T.
    • getState

      <T> reactor.core.publisher.Mono<State<T>> getState(String storeName, State<T> state, TypeRef<T> type)
      Retrieve a State based on their key.
      Type Parameters:
      T - The type of the return.
      Parameters:
      storeName - The name of the state store.
      state - State to be re-retrieved.
      type - The type of State needed as return.
      Returns:
      A Mono Plan for the requested State.
    • getState

      <T> reactor.core.publisher.Mono<State<T>> getState(String storeName, State<T> state, Class<T> clazz)
      Retrieve a State based on their key.
      Type Parameters:
      T - The type of the return.
      Parameters:
      storeName - The name of the state store.
      state - State to be re-retrieved.
      clazz - The type of State needed as return.
      Returns:
      A Mono Plan for the requested State.
    • getState

      <T> reactor.core.publisher.Mono<State<T>> getState(String storeName, String key, TypeRef<T> type)
      Retrieve a State based on their key.
      Type Parameters:
      T - The type of the return.
      Parameters:
      storeName - The name of the state store.
      key - The key of the State to be retrieved.
      type - The type of State needed as return.
      Returns:
      A Mono Plan for the requested State.
    • getState

      <T> reactor.core.publisher.Mono<State<T>> getState(String storeName, String key, Class<T> clazz)
      Retrieve a State based on their key.
      Type Parameters:
      T - The type of the return.
      Parameters:
      storeName - The name of the state store.
      key - The key of the State to be retrieved.
      clazz - The type of State needed as return.
      Returns:
      A Mono Plan for the requested State.
    • getState

      <T> reactor.core.publisher.Mono<State<T>> getState(String storeName, String key, StateOptions options, TypeRef<T> type)
      Retrieve a State based on their key.
      Type Parameters:
      T - The Type of the return.
      Parameters:
      storeName - The name of the state store.
      key - The key of the State to be retrieved.
      options - Optional settings for retrieve operation.
      type - The Type of State needed as return.
      Returns:
      A Mono Plan for the requested State.
    • getState

      <T> reactor.core.publisher.Mono<State<T>> getState(String storeName, String key, StateOptions options, Class<T> clazz)
      Retrieve a State based on their key.
      Type Parameters:
      T - The Type of the return.
      Parameters:
      storeName - The name of the state store.
      key - The key of the State to be retrieved.
      options - Optional settings for retrieve operation.
      clazz - The Type of State needed as return.
      Returns:
      A Mono Plan for the requested State.
    • getState

      <T> reactor.core.publisher.Mono<State<T>> getState(GetStateRequest request, TypeRef<T> type)
      Retrieve a State based on their key.
      Type Parameters:
      T - The Type of the return.
      Parameters:
      request - The request to get state.
      type - The Type of State needed as return.
      Returns:
      A Mono Plan for the requested State.
    • getBulkState

      <T> reactor.core.publisher.Mono<List<State<T>>> getBulkState(String storeName, List<String> keys, TypeRef<T> type)
      Retrieve bulk States based on their keys.
      Type Parameters:
      T - The type of the return.
      Parameters:
      storeName - The name of the state store.
      keys - The keys of the State to be retrieved.
      type - The type of State needed as return.
      Returns:
      A Mono Plan for the requested State.
    • getBulkState

      <T> reactor.core.publisher.Mono<List<State<T>>> getBulkState(String storeName, List<String> keys, Class<T> clazz)
      Retrieve bulk States based on their keys.
      Type Parameters:
      T - The type of the return.
      Parameters:
      storeName - The name of the state store.
      keys - The keys of the State to be retrieved.
      clazz - The type of State needed as return.
      Returns:
      A Mono Plan for the requested State.
    • getBulkState

      <T> reactor.core.publisher.Mono<List<State<T>>> getBulkState(GetBulkStateRequest request, TypeRef<T> type)
      Retrieve bulk States based on their keys.
      Type Parameters:
      T - The Type of the return.
      Parameters:
      request - The request to get state.
      type - The Type of State needed as return.
      Returns:
      A Mono Plan for the requested State.
    • executeStateTransaction

      reactor.core.publisher.Mono<Void> executeStateTransaction(String storeName, List<TransactionalStateOperation<?>> operations)
      Execute a transaction.
      Parameters:
      storeName - The name of the state store.
      operations - The operations to be performed.
      Returns:
      a Mono plan of type Void
    • executeStateTransaction

      reactor.core.publisher.Mono<Void> executeStateTransaction(ExecuteStateTransactionRequest request)
      Execute a transaction.
      Parameters:
      request - Request to execute transaction.
      Returns:
      a Mono plan of type Response Void
    • saveBulkState

      reactor.core.publisher.Mono<Void> saveBulkState(String storeName, List<State<?>> states)
      Save/Update a list of states.
      Parameters:
      storeName - The name of the state store.
      states - The States to be saved.
      Returns:
      a Mono plan of type Void.
    • saveBulkState

      reactor.core.publisher.Mono<Void> saveBulkState(SaveStateRequest request)
      Save/Update a list of states.
      Parameters:
      request - Request to save states.
      Returns:
      a Mono plan of type Void.
    • saveState

      reactor.core.publisher.Mono<Void> saveState(String storeName, String key, Object value)
      Save/Update a state.
      Parameters:
      storeName - The name of the state store.
      key - The key of the state.
      value - The value of the state.
      Returns:
      a Mono plan of type Void.
    • saveState

      reactor.core.publisher.Mono<Void> saveState(String storeName, String key, String etag, Object value, StateOptions options)
      Save/Update a state.
      Parameters:
      storeName - The name of the state store.
      key - The key of the state.
      etag - The etag to be used.
      value - The value of the state.
      options - The Options to use for each state.
      Returns:
      a Mono plan of type Void.
    • saveState

      reactor.core.publisher.Mono<Void> saveState(String storeName, String key, String etag, Object value, Map<String,String> meta, StateOptions options)
      Save/Update a state.
      Parameters:
      storeName - The name of the state store.
      key - The key of the state.
      etag - The etag to be used.
      value - The value of the state.
      meta - The metadata to be set to the state.
      options - The Options to use for each state.
      Returns:
      a Mono plan of type Void.
    • deleteState

      reactor.core.publisher.Mono<Void> deleteState(String storeName, String key)
      Delete a state.
      Parameters:
      storeName - The name of the state store.
      key - The key of the State to be removed.
      Returns:
      a Mono plan of type Void.
    • deleteState

      reactor.core.publisher.Mono<Void> deleteState(String storeName, String key, String etag, StateOptions options)
      Delete a state.
      Parameters:
      storeName - The name of the state store.
      key - The key of the State to be removed.
      etag - Optional etag for conditional delete.
      options - Optional settings for state operation.
      Returns:
      a Mono plan of type Void.
    • deleteState

      reactor.core.publisher.Mono<Void> deleteState(DeleteStateRequest request)
      Delete a state.
      Parameters:
      request - Request to delete a state.
      Returns:
      a Mono plan of type Void.
    • getSecret

      reactor.core.publisher.Mono<Map<String,String>> getSecret(String storeName, String secretName, Map<String,String> metadata)
      Fetches a secret from the configured vault.
      Parameters:
      storeName - Name of vault component in Dapr.
      secretName - Secret to be fetched.
      metadata - Optional metadata.
      Returns:
      Key-value pairs for the secret.
    • getSecret

      reactor.core.publisher.Mono<Map<String,String>> getSecret(String storeName, String secretName)
      Fetches a secret from the configured vault.
      Parameters:
      storeName - Name of vault component in Dapr.
      secretName - Secret to be fetched.
      Returns:
      Key-value pairs for the secret.
    • getSecret

      reactor.core.publisher.Mono<Map<String,String>> getSecret(GetSecretRequest request)
      Fetches a secret from the configured vault.
      Parameters:
      request - Request to fetch secret.
      Returns:
      Key-value pairs for the secret.
    • getBulkSecret

      reactor.core.publisher.Mono<Map<String,Map<String,String>>> getBulkSecret(String storeName)
      Fetches all secrets from the configured vault.
      Parameters:
      storeName - Name of vault component in Dapr.
      Returns:
      Key-value pairs for all the secrets in the state store.
    • getBulkSecret

      reactor.core.publisher.Mono<Map<String,Map<String,String>>> getBulkSecret(String storeName, Map<String,String> metadata)
      Fetches all secrets from the configured vault.
      Parameters:
      storeName - Name of vault component in Dapr.
      metadata - Optional metadata.
      Returns:
      Key-value pairs for all the secrets in the state store.
    • getBulkSecret

      reactor.core.publisher.Mono<Map<String,Map<String,String>>> getBulkSecret(GetBulkSecretRequest request)
      Fetches all secrets from the configured vault.
      Parameters:
      request - Request to fetch secret.
      Returns:
      Key-value pairs for the secret.
    • getConfiguration

      reactor.core.publisher.Mono<ConfigurationItem> getConfiguration(String storeName, String key)
      Retrieve a configuration based on a provided key.
      Parameters:
      storeName - Name of the configuration store
      key - key of the configuration item which is to be retrieved
      Returns:
      Mono of the Configuration Item
    • getConfiguration

      reactor.core.publisher.Mono<ConfigurationItem> getConfiguration(String storeName, String key, Map<String,String> metadata)
      Retrieve a configuration based on a provided key.
      Parameters:
      storeName - Name of the configuration store
      key - key of the configuration item which is to be retrieved
      metadata - optional metadata
      Returns:
      Mono of the Configuration Item
    • getConfiguration

      reactor.core.publisher.Mono<Map<String,ConfigurationItem>> getConfiguration(String storeName, String... keys)
      Retrieve Map of configurations based on a provided variable number of keys.
      Parameters:
      storeName - Name of the configuration store
      keys - keys of the configurations which are to be retrieved
      Returns:
      Mono of Map of ConfigurationItems
    • getConfiguration

      reactor.core.publisher.Mono<Map<String,ConfigurationItem>> getConfiguration(String storeName, List<String> keys, Map<String,String> metadata)
      Retrieve Map of configurations based on a provided variable number of keys.
      Parameters:
      storeName - Name of the configuration store
      keys - keys of the configurations which are to be retrieved
      metadata - optional metadata
      Returns:
      Mono of Map of ConfigurationItems
    • getConfiguration

      reactor.core.publisher.Mono<Map<String,ConfigurationItem>> getConfiguration(GetConfigurationRequest request)
      Retrieve Map of configurations based on a provided configuration request object.
      Parameters:
      request - request for retrieving Configurations for a list keys
      Returns:
      Mono of Map of ConfigurationItems
    • subscribeConfiguration

      reactor.core.publisher.Flux<SubscribeConfigurationResponse> subscribeConfiguration(String storeName, String... keys)
      Subscribe to the keys for any change.
      Parameters:
      storeName - Name of the configuration store
      keys - keys of the configurations which are to be subscribed
      Returns:
      Flux of SubscribeConfigurationResponse instance
    • subscribeConfiguration

      reactor.core.publisher.Flux<SubscribeConfigurationResponse> subscribeConfiguration(String storeName, List<String> keys, Map<String,String> metadata)
      Subscribe to the keys for any change.
      Parameters:
      storeName - Name of the configuration store
      keys - keys of the configurations which are to be subscribed
      metadata - optional metadata
      Returns:
      Flux of SubscribeConfigurationResponse instance
    • subscribeConfiguration

      reactor.core.publisher.Flux<SubscribeConfigurationResponse> subscribeConfiguration(SubscribeConfigurationRequest request)
      Subscribe to the keys for any change.
      Parameters:
      request - request for subscribing to any change for the given keys in request
      Returns:
      Flux of SubscribeConfigurationResponse instance
    • unsubscribeConfiguration

      reactor.core.publisher.Mono<UnsubscribeConfigurationResponse> unsubscribeConfiguration(String id, String storeName)
      Unsubscribe from previously subscribed keys.
      Parameters:
      id - subscription id returned by subscribeConfiguration API.
      storeName - Name of the configuration store.
      Returns:
      Mono of UnsubscribeConfigurationResponse instance.
    • unsubscribeConfiguration

      reactor.core.publisher.Mono<UnsubscribeConfigurationResponse> unsubscribeConfiguration(UnsubscribeConfigurationRequest request)
      Unsubscribe from previously subscribed keys.
      Parameters:
      request - request for unsubscribing to any change for the given subscription id in request
      Returns:
      Mono of UnsubscribeConfigurationResponse instance.
    • newGrpcStub

      <T extends io.grpc.stub.AbstractStub<T>> T newGrpcStub(String appId, Function<io.grpc.Channel,T> stubBuilder)
      Returns a newly created gRPC stub with proper interceptors and channel for gRPC proxy invocation.
      Type Parameters:
      T - the generic type of the service to be invoked.
      Parameters:
      appId - appId to be included in all gRPC calls for service invocation.
      stubBuilder - user-provided callback method to construct a new stub given the channel.
      Returns:
      the gRPC stub with proper interceptors and channel.
    • getMetadata

      reactor.core.publisher.Mono<DaprMetadata> getMetadata()
      Fetches Dapr Metadata from the metadata endpoint.
      Returns:
      DaprMetadata containing Dapr Metadata from the metadata endpoint.
    • scheduleJob

      reactor.core.publisher.Mono<Void> scheduleJob(ScheduleJobRequest scheduleJobRequest)
      Schedules a job using the provided job request details.
      Parameters:
      scheduleJobRequest - The request containing the details of the job to schedule. Must include a name and optional schedule, data, and other related properties.
      Returns:
      A Mono that completes when the job scheduling operation is successful or raises an error.
      Throws:
      IllegalArgumentException - If the request or its required fields like name are null or empty.
    • getJob

      reactor.core.publisher.Mono<GetJobResponse> getJob(GetJobRequest getJobRequest)
      Retrieves details of a specific job.
      Parameters:
      getJobRequest - The request containing the job name for which the details are to be fetched. The name property is mandatory.
      Returns:
      A Mono that emits the GetJobResponse containing job details or raises an error if the job is not found.
      Throws:
      IllegalArgumentException - If the request or its required fields like name are null or empty.
    • deleteJob

      reactor.core.publisher.Mono<Void> deleteJob(DeleteJobRequest deleteJobRequest)
      Deletes a job based on the given request.
      Parameters:
      deleteJobRequest - The request containing the job name to be deleted. The name property is mandatory.
      Returns:
      A Mono that completes when the job is successfully deleted or raises an error.
      Throws:
      IllegalArgumentException - If the request or its required fields like name are null or empty.
    • shutdown

      reactor.core.publisher.Mono<Void> shutdown()
      Gracefully shutdown the dapr runtime.
      Returns:
      a Mono plan of type Void.