mirror of https://github.com/dapr/docs.git
Merge branch 'v1.15' into actors-reminders-more-detail
This commit is contained in:
commit
039350873e
|
@ -76,7 +76,7 @@ Dapr exposes its HTTP and gRPC APIs as a sidecar architecture, either as a conta
|
||||||
## Hosting environments
|
## Hosting environments
|
||||||
|
|
||||||
Dapr can be hosted in multiple environments, including:
|
Dapr can be hosted in multiple environments, including:
|
||||||
- Self-hosted on a Windows/Linux/macOS machine for local development
|
- Self-hosted on a Windows/Linux/macOS machine for local development and in production
|
||||||
- On Kubernetes or clusters of physical or virtual machines in production
|
- On Kubernetes or clusters of physical or virtual machines in production
|
||||||
|
|
||||||
### Self-hosted local development
|
### Self-hosted local development
|
||||||
|
|
|
@ -57,7 +57,7 @@ This simplifies some choices, but also carries some consideration:
|
||||||
|
|
||||||
## Actor communication
|
## Actor communication
|
||||||
|
|
||||||
You can interact with Dapr to invoke the actor method by calling HTTP/gRPC endpoint.
|
You can interact with Dapr to invoke the actor method by calling the HTTP endpoint.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
POST/GET/PUT/DELETE http://localhost:3500/v1.0/actors/<actorType>/<actorId>/<method/state/timers/reminders>
|
POST/GET/PUT/DELETE http://localhost:3500/v1.0/actors/<actorType>/<actorId>/<method/state/timers/reminders>
|
||||||
|
|
|
@ -20,7 +20,103 @@ When you [run `dapr init` in either self-hosted mode or on Kubernetes]({{< ref i
|
||||||
|
|
||||||
In your code, set up and schedule jobs within your application.
|
In your code, set up and schedule jobs within your application.
|
||||||
|
|
||||||
{{< tabs "Go" >}}
|
{{< tabs ".NET" "Go" >}}
|
||||||
|
|
||||||
|
{{% codetab %}}
|
||||||
|
|
||||||
|
<!-- .NET -->
|
||||||
|
|
||||||
|
The following .NET SDK code sample schedules the job named `prod-db-backup`. The job data contains information
|
||||||
|
about the database that you'll be seeking to backup regularly. Over the course of this example, you'll:
|
||||||
|
- Define types used in the rest of the example
|
||||||
|
- Register an endpoint during application startup that handles all job trigger invocations on the service
|
||||||
|
- Register the job with Dapr
|
||||||
|
|
||||||
|
In the following example, you'll create records that you'll serialize and register alongside the job so the information
|
||||||
|
is available when the job is triggered in the future:
|
||||||
|
- The name of the backup task (`db-backup`)
|
||||||
|
- The backup task's `Metadata`, including:
|
||||||
|
- The database name (`DBName`)
|
||||||
|
- The database location (`BackupLocation`)
|
||||||
|
|
||||||
|
Create an ASP.NET Core project and add the latest version of `Dapr.Jobs` from NuGet.
|
||||||
|
|
||||||
|
> **Note:** While it's not strictly necessary
|
||||||
|
for your project to use the `Microsoft.NET.Sdk.Web` SDK to create jobs, as of the time this documentation is authored,
|
||||||
|
only the service that schedules a job receives trigger invocations for it. As those invocations expect an endpoint
|
||||||
|
that can handle the job trigger and requires the `Microsoft.NET.Sdk.Web` SDK, it's recommended that you
|
||||||
|
use an ASP.NET Core project for this purpose.
|
||||||
|
|
||||||
|
Start by defining types to persist our backup job data and apply our own JSON property name attributes to the properties
|
||||||
|
so they're consistent with other language examples.
|
||||||
|
|
||||||
|
```cs
|
||||||
|
//Define the types that we'll represent the job data with
|
||||||
|
internal sealed record BackupJobData([property: JsonPropertyName("task")] string Task, [property: JsonPropertyName("metadata")] BackupMetadata Metadata);
|
||||||
|
internal sealed record BackupMetadata([property: JsonPropertyName("DBName")]string DatabaseName, [property: JsonPropertyName("BackupLocation")] string BackupLocation);
|
||||||
|
```
|
||||||
|
|
||||||
|
Next, set up a handler as part of your application setup that will be called anytime a job is triggered on your
|
||||||
|
application. It's the responsibility of this handler to identify how jobs should be processed based on the job name provided.
|
||||||
|
|
||||||
|
This works by registering a handler with ASP.NET Core at `/job/<job-name>`, where `<job-name>` is parameterized and
|
||||||
|
passed into this handler delegate, meeting Dapr's expectation that an endpoint is available to handle triggered named jobs.
|
||||||
|
|
||||||
|
Populate your `Program.cs` file with the following:
|
||||||
|
|
||||||
|
```cs
|
||||||
|
using System.Text;
|
||||||
|
using System.Text.Json;
|
||||||
|
using Dapr.Jobs;
|
||||||
|
using Dapr.Jobs.Extensions;
|
||||||
|
using Dapr.Jobs.Models;
|
||||||
|
using Dapr.Jobs.Models.Responses;
|
||||||
|
|
||||||
|
var builder = WebApplication.CreateBuilder(args);
|
||||||
|
builder.Services.AddDaprJobsClient();
|
||||||
|
var app = builder.Build();
|
||||||
|
|
||||||
|
//Registers an endpoint to receive and process triggered jobs
|
||||||
|
var cancellationTokenSource = new CancellationTokenSource(TimeSpan.FromSeconds(5));
|
||||||
|
app.MapDaprScheduledJobHandler((string jobName, DaprJobDetails jobDetails, ILogger logger, CancellationToken cancellationToken) => {
|
||||||
|
logger?.LogInformation("Received trigger invocation for job '{jobName}'", jobName);
|
||||||
|
switch (jobName)
|
||||||
|
{
|
||||||
|
case "prod-db-backup":
|
||||||
|
// Deserialize the job payload metadata
|
||||||
|
var jobData = JsonSerializer.Deserialize<BackupJobData>(jobDetails.Payload);
|
||||||
|
|
||||||
|
// Process the backup operation - we assume this is implemented elsewhere in your code
|
||||||
|
await BackupDatabaseAsync(jobData, cancellationToken);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}, cancellationTokenSource.Token);
|
||||||
|
|
||||||
|
await app.RunAsync();
|
||||||
|
```
|
||||||
|
|
||||||
|
Finally, the job itself needs to be registered with Dapr so it can be triggered at a later point in time. You can do this
|
||||||
|
by injecting a `DaprJobsClient` into a class and executing as part of an inbound operation to your application, but for
|
||||||
|
this example's purposes, it'll go at the bottom of the `Program.cs` file you started above. Because you'll be using the
|
||||||
|
`DaprJobsClient` you registered with dependency injection, start by creating a scope so you can access it.
|
||||||
|
|
||||||
|
```cs
|
||||||
|
//Create a scope so we can access the registered DaprJobsClient
|
||||||
|
await using scope = app.Services.CreateAsyncScope();
|
||||||
|
var daprJobsClient = scope.ServiceProvider.GetRequiredService<DaprJobsClient>();
|
||||||
|
|
||||||
|
//Create the payload we wish to present alongside our future job triggers
|
||||||
|
var jobData = new BackupJobData("db-backup", new BackupMetadata("my-prod-db", "/backup-dir"));
|
||||||
|
|
||||||
|
//Serialize our payload to UTF-8 bytes
|
||||||
|
var serializedJobData = JsonSerializer.SerializeToUtf8Bytes(jobData);
|
||||||
|
|
||||||
|
//Schedule our backup job to run every minute, but only repeat 10 times
|
||||||
|
await daprJobsClient.ScheduleJobAsync("prod-db-backup", DaprJobSchedule.FromDuration(TimeSpan.FromMinutes(1)),
|
||||||
|
serializedJobData, repeats: 10);
|
||||||
|
```
|
||||||
|
|
||||||
|
{{% /codetab %}}
|
||||||
|
|
||||||
{{% codetab %}}
|
{{% codetab %}}
|
||||||
|
|
||||||
|
|
|
@ -6,145 +6,199 @@ description: "List of gRPC and HTTP error codes in Dapr and their descriptions"
|
||||||
weight: 20
|
weight: 20
|
||||||
---
|
---
|
||||||
|
|
||||||
The following tables list the error codes returned by Dapr runtime:
|
The following tables list the error codes returned by Dapr runtime.
|
||||||
|
The error codes are returned in the response body of an HTTP request or in the `ErrorInfo` section of a gRPC status response, if one is present.
|
||||||
|
An effort is underway to enrich all gRPC error responses according to the [Richer Error Model]({{< ref "grpc-error-codes.md#richer-grpc-error-model" >}}). Error codes without a corresponding gRPC code indicate those errors have not yet been updated to this model.
|
||||||
|
|
||||||
### Actors API
|
### Actors API
|
||||||
|
|
||||||
| Error Code | Description |
|
| HTTP Code | gRPC Code | Description |
|
||||||
| -------------------------------- | ------------------------------------------ |
|
| ---------------------------------- | --------- | ----------------------------------------------------------------------- |
|
||||||
| ERR_ACTOR_INSTANCE_MISSING | Error when an actor instance is missing. |
|
| `ERR_ACTOR_INSTANCE_MISSING` | | Missing actor instance |
|
||||||
| ERR_ACTOR_RUNTIME_NOT_FOUND | Error the actor instance. |
|
| `ERR_ACTOR_INVOKE_METHOD` | | Error invoking actor method |
|
||||||
| ERR_ACTOR_REMINDER_CREATE | Error creating a reminder for an actor. |
|
| `ERR_ACTOR_RUNTIME_NOT_FOUND` | | Actor runtime not found |
|
||||||
| ERR_ACTOR_REMINDER_DELETE | Error deleting a reminder for an actor. |
|
| `ERR_ACTOR_STATE_GET` | | Error getting actor state |
|
||||||
| ERR_ACTOR_TIMER_CREATE | Error creating a timer for an actor. |
|
| `ERR_ACTOR_STATE_TRANSACTION_SAVE` | | Error saving actor transaction |
|
||||||
| ERR_ACTOR_TIMER_DELETE | Error deleting a timer for an actor. |
|
| `ERR_ACTOR_REMINDER_CREATE` | | Error creating actor reminder |
|
||||||
| ERR_ACTOR_REMINDER_GET | Error getting a reminder for an actor. |
|
| `ERR_ACTOR_REMINDER_DELETE` | | Error deleting actor reminder |
|
||||||
| ERR_ACTOR_INVOKE_METHOD | Error invoking a method on an actor. |
|
| `ERR_ACTOR_REMINDER_GET` | | Error getting actor reminder |
|
||||||
| ERR_ACTOR_STATE_DELETE | Error deleting the state for an actor. |
|
| `ERR_ACTOR_REMINDER_NON_HOSTED` | | Reminder operation on non-hosted actor type |
|
||||||
| ERR_ACTOR_STATE_GET | Error getting the state for an actor. |
|
| `ERR_ACTOR_TIMER_CREATE` | | Error creating actor timer |
|
||||||
| ERR_ACTOR_STATE_TRANSACTION_SAVE | Error storing actor state transactionally. |
|
| `ERR_ACTOR_NO_APP_CHANNEL` | | App channel not initialized |
|
||||||
| ERR_ACTOR_REMINDER_NON_HOSTED | Error setting reminder for an actor. |
|
| `ERR_ACTOR_STACK_DEPTH` | | Maximum actor call stack depth exceeded |
|
||||||
|
| `ERR_ACTOR_NO_PLACEMENT` | | Placement service not configured |
|
||||||
|
| `ERR_ACTOR_RUNTIME_CLOSED` | | Actor runtime is closed |
|
||||||
|
| `ERR_ACTOR_NAMESPACE_REQUIRED` | | Actors must have a namespace configured when running in Kubernetes mode |
|
||||||
|
| `ERR_ACTOR_NO_ADDRESS` | | No address found for actor |
|
||||||
|
|
||||||
|
|
||||||
### Workflows API
|
### Workflows API
|
||||||
|
|
||||||
| Error Code | Description |
|
| HTTP Code | gRPC Code | Description |
|
||||||
| -------------------------------- | ----------------------------------------------------------- |
|
| ---------------------------------- | --------- | --------------------------------------------------------------------------------------- |
|
||||||
| ERR_GET_WORKFLOW | Error getting workflow. |
|
| `ERR_GET_WORKFLOW` | | Error getting workflow |
|
||||||
| ERR_START_WORKFLOW | Error starting the workflow. |
|
| `ERR_START_WORKFLOW` | | Error starting workflow |
|
||||||
| ERR_PAUSE_WORKFLOW | Error pausing the workflow. |
|
| `ERR_PAUSE_WORKFLOW` | | Error pausing workflow |
|
||||||
| ERR_RESUME_WORKFLOW | Error resuming the workflow. |
|
| `ERR_RESUME_WORKFLOW` | | Error resuming workflow |
|
||||||
| ERR_TERMINATE_WORKFLOW | Error terminating the workflow. |
|
| `ERR_TERMINATE_WORKFLOW` | | Error terminating workflow |
|
||||||
| ERR_PURGE_WORKFLOW | Error purging workflow. |
|
| `ERR_PURGE_WORKFLOW` | | Error purging workflow |
|
||||||
| ERR_RAISE_EVENT_WORKFLOW | Error raising an event within the workflow. |
|
| `ERR_RAISE_EVENT_WORKFLOW` | | Error raising event in workflow |
|
||||||
| ERR_WORKFLOW_COMPONENT_MISSING | Error when a workflow component is missing a configuration. |
|
| `ERR_WORKFLOW_COMPONENT_MISSING` | | Missing workflow component |
|
||||||
| ERR_WORKFLOW_COMPONENT_NOT_FOUND | Error when a workflow component is not found. |
|
| `ERR_WORKFLOW_COMPONENT_NOT_FOUND` | | Workflow component not found |
|
||||||
| ERR_WORKFLOW_EVENT_NAME_MISSING | Error when the event name for a workflow is missing. |
|
| `ERR_WORKFLOW_EVENT_NAME_MISSING` | | Missing workflow event name |
|
||||||
| ERR_WORKFLOW_NAME_MISSING | Error when the workflow name is missing. |
|
| `ERR_WORKFLOW_NAME_MISSING` | | Workflow name not configured |
|
||||||
| ERR_INSTANCE_ID_INVALID | Error invalid workflow instance ID provided. |
|
| `ERR_INSTANCE_ID_INVALID` | | Invalid workflow instance ID. (Only alphanumeric and underscore characters are allowed) |
|
||||||
| ERR_INSTANCE_ID_NOT_FOUND | Error workflow instance ID not found. |
|
| `ERR_INSTANCE_ID_NOT_FOUND` | | Workflow instance ID not found |
|
||||||
| ERR_INSTANCE_ID_PROVIDED_MISSING | Error workflow instance ID was provided but missing. |
|
| `ERR_INSTANCE_ID_PROVIDED_MISSING` | | Missing workflow instance ID |
|
||||||
| ERR_INSTANCE_ID_TOO_LONG | Error workflow instance ID exceeds allowable length. |
|
| `ERR_INSTANCE_ID_TOO_LONG` | | Workflow instance ID too long |
|
||||||
|
|
||||||
### State Management API
|
|
||||||
|
|
||||||
| Error Code | Description |
|
### State management API
|
||||||
| ------------------------------------- | ------------------------------------------------------------------------- |
|
|
||||||
| ERR_STATE_STORE_NOT_FOUND | Error referencing a state store not found. |
|
| HTTP Code | gRPC Code | Description |
|
||||||
| ERR_STATE_STORES_NOT_CONFIGURED | Error no state stores configured. |
|
| --------------------------------------- | --------------------------------------- | ----------------------------------------- |
|
||||||
| ERR_NOT_SUPPORTED_STATE_OPERATION | Error transaction requested on a state store with no transaction support. |
|
| `ERR_STATE_TRANSACTION` | | Error in state transaction |
|
||||||
| ERR_STATE_GET | Error getting a state for state store. |
|
| `ERR_STATE_SAVE` | | Error saving state |
|
||||||
| ERR_STATE_DELETE | Error deleting a state from state store. |
|
| `ERR_STATE_GET` | | Error getting state |
|
||||||
| ERR_STATE_SAVE | Error saving a state in state store. |
|
| `ERR_STATE_DELETE` | | Error deleting state |
|
||||||
| ERR_STATE_TRANSACTION | Error encountered during state transaction. |
|
| `ERR_STATE_BULK_DELETE` | | Error deleting state in bulk |
|
||||||
| ERR_STATE_BULK_GET | Error performing bulk retrieval of state entries. |
|
| `ERR_STATE_BULK_GET` | | Error getting state in bulk |
|
||||||
| ERR_STATE_QUERY | Error querying the state store. |
|
| `ERR_NOT_SUPPORTED_STATE_OPERATION` | | Operation not supported in transaction |
|
||||||
| ERR_STATE_STORE_NOT_CONFIGURED | Error state store is not configured. |
|
| `ERR_STATE_QUERY` | `DAPR_STATE_QUERY_FAILED` | Error querying state |
|
||||||
| ERR_STATE_STORE_NOT_SUPPORTED | Error state store is not supported. |
|
| `ERR_STATE_STORE_NOT_FOUND` | `DAPR_STATE_NOT_FOUND` | State store not found |
|
||||||
| ERR_STATE_STORE_TOO_MANY_TRANSACTIONS | Error exceeded maximum allowable transactions. |
|
| `ERR_STATE_STORE_NOT_CONFIGURED` | `DAPR_STATE_NOT_CONFIGURED` | State store not configured |
|
||||||
|
| `ERR_STATE_STORE_NOT_SUPPORTED` | `DAPR_STATE_TRANSACTIONS_NOT_SUPPORTED` | State store does not support transactions |
|
||||||
|
| `ERR_STATE_STORE_NOT_SUPPORTED` | `DAPR_STATE_QUERYING_NOT_SUPPORTED` | State store does not support querying |
|
||||||
|
| `ERR_STATE_STORE_TOO_MANY_TRANSACTIONS` | `DAPR_STATE_TOO_MANY_TRANSACTIONS` | Too many operations per transaction |
|
||||||
|
| `ERR_MALFORMED_REQUEST` | `DAPR_STATE_ILLEGAL_KEY` | Invalid key |
|
||||||
|
|
||||||
|
|
||||||
### Configuration API
|
### Configuration API
|
||||||
|
|
||||||
| Error Code | Description |
|
| HTTP Code | gRPC Code | Description |
|
||||||
| -------------------------------------- | -------------------------------------------- |
|
| ---------------------------------------- | --------- | -------------------------------------- |
|
||||||
| ERR_CONFIGURATION_GET | Error retrieving configuration. |
|
| `ERR_CONFIGURATION_GET` | | Error getting configuration |
|
||||||
| ERR_CONFIGURATION_STORE_NOT_CONFIGURED | Error configuration store is not configured. |
|
| `ERR_CONFIGURATION_STORE_NOT_CONFIGURED` | | Configuration store not configured |
|
||||||
| ERR_CONFIGURATION_STORE_NOT_FOUND | Error configuration store not found. |
|
| `ERR_CONFIGURATION_STORE_NOT_FOUND` | | Configuration store not found |
|
||||||
| ERR_CONFIGURATION_SUBSCRIBE | Error subscribing to a configuration. |
|
| `ERR_CONFIGURATION_SUBSCRIBE` | | Error subscribing to configuration |
|
||||||
| ERR_CONFIGURATION_UNSUBSCRIBE | Error unsubscribing from a configuration. |
|
| `ERR_CONFIGURATION_UNSUBSCRIBE` | | Error unsubscribing from configuration |
|
||||||
|
|
||||||
|
|
||||||
### Crypto API
|
### Crypto API
|
||||||
|
|
||||||
| Error Code | Description |
|
| HTTP Code | gRPC Code | Description |
|
||||||
| ----------------------------------- | ------------------------------------------ |
|
| ------------------------------------- | --------- | ------------------------------- |
|
||||||
| ERR_CRYPTO | General crypto building block error. |
|
| `ERR_CRYPTO` | | Error in crypto operation |
|
||||||
| ERR_CRYPTO_KEY | Error related to a crypto key. |
|
| `ERR_CRYPTO_KEY` | | Error retrieving crypto key |
|
||||||
| ERR_CRYPTO_PROVIDER_NOT_FOUND | Error specified crypto provider not found. |
|
| `ERR_CRYPTO_PROVIDER_NOT_FOUND` | | Crypto provider not found |
|
||||||
| ERR_CRYPTO_PROVIDERS_NOT_CONFIGURED | Error no crypto providers configured. |
|
| `ERR_CRYPTO_PROVIDERS_NOT_CONFIGURED` | | Crypto providers not configured |
|
||||||
|
|
||||||
|
|
||||||
### Secrets API
|
### Secrets API
|
||||||
|
|
||||||
| Error Code | Description |
|
| HTTP Code | gRPC Code | Description |
|
||||||
| -------------------------------- | ---------------------------------------------------- |
|
| ---------------------------------- | --------- | --------------------------- |
|
||||||
| ERR_SECRET_STORES_NOT_CONFIGURED | Error that no secret store is configured. |
|
| `ERR_SECRET_GET` | | Error getting secret |
|
||||||
| ERR_SECRET_STORE_NOT_FOUND | Error that specified secret store is not found. |
|
| `ERR_SECRET_STORE_NOT_FOUND` | | Secret store not found |
|
||||||
| ERR_SECRET_GET | Error retrieving the specified secret. |
|
| `ERR_SECRET_STORES_NOT_CONFIGURED` | | Secret store not configured |
|
||||||
| ERR_PERMISSION_DENIED | Error access denied due to insufficient permissions. |
|
| `ERR_PERMISSION_DENIED` | | Permission denied by policy |
|
||||||
|
|
||||||
### Pub/Sub API
|
|
||||||
|
|
||||||
| Error Code | Description |
|
### Pub/Sub and messaging errors
|
||||||
| --------------------------- | -------------------------------------------------------- |
|
|
||||||
| ERR_PUBSUB_NOT_FOUND | Error referencing the Pub/Sub component in Dapr runtime. |
|
| HTTP Code | gRPC Code | Description |
|
||||||
| ERR_PUBSUB_PUBLISH_MESSAGE | Error publishing a message. |
|
| ----------------------------- | -------------------------------------- | -------------------------------------- |
|
||||||
| ERR_PUBSUB_FORBIDDEN | Error message forbidden by access controls. |
|
| `ERR_PUBSUB_EMPTY` | `DAPR_PUBSUB_NAME_EMPTY` | Pubsub name is empty |
|
||||||
| ERR_PUBSUB_CLOUD_EVENTS_SER | Error serializing Pub/Sub event envelope. |
|
| `ERR_PUBSUB_NOT_FOUND` | `DAPR_PUBSUB_NOT_FOUND` | Pubsub not found |
|
||||||
| ERR_PUBSUB_EMPTY | Error empty Pub/Sub. |
|
| `ERR_PUBSUB_NOT_FOUND` | `DAPR_PUBSUB_TEST_NOT_FOUND` | Pubsub not found |
|
||||||
| ERR_PUBSUB_NOT_CONFIGURED | Error Pub/Sub component is not configured. |
|
| `ERR_PUBSUB_NOT_CONFIGURED` | `DAPR_PUBSUB_NOT_CONFIGURED` | Pubsub not configured |
|
||||||
| ERR_PUBSUB_REQUEST_METADATA | Error with metadata in Pub/Sub request. |
|
| `ERR_TOPIC_NAME_EMPTY` | `DAPR_PUBSUB_TOPIC_NAME_EMPTY` | Topic name is empty |
|
||||||
| ERR_PUBSUB_EVENTS_SER | Error serializing Pub/Sub events. |
|
| `ERR_PUBSUB_FORBIDDEN` | `DAPR_PUBSUB_FORBIDDEN` | Access to topic forbidden for APP ID |
|
||||||
| ERR_PUBLISH_OUTBOX | Error publishing message to the outbox. |
|
| `ERR_PUBSUB_PUBLISH_MESSAGE` | `DAPR_PUBSUB_PUBLISH_MESSAGE` | Error publishing message |
|
||||||
| ERR_TOPIC_NAME_EMPTY | Error topic name for Pub/Sub message is empty. |
|
| `ERR_PUBSUB_REQUEST_METADATA` | `DAPR_PUBSUB_METADATA_DESERIALIZATION` | Error deserializing metadata |
|
||||||
|
| `ERR_PUBSUB_CLOUD_EVENTS_SER` | `DAPR_PUBSUB_CLOUD_EVENT_CREATION` | Error creating CloudEvent |
|
||||||
|
| `ERR_PUBSUB_EVENTS_SER` | `DAPR_PUBSUB_MARSHAL_ENVELOPE` | Error marshalling Cloud Event envelope |
|
||||||
|
| `ERR_PUBSUB_EVENTS_SER` | `DAPR_PUBSUB_MARSHAL_EVENTS` | Error marshalling events to bytes |
|
||||||
|
| `ERR_PUBSUB_EVENTS_SER` | `DAPR_PUBSUB_UNMARSHAL_EVENTS` | Error unmarshalling events |
|
||||||
|
| `ERR_PUBLISH_OUTBOX` | | Error publishing message to outbox |
|
||||||
|
|
||||||
|
|
||||||
### Conversation API
|
### Conversation API
|
||||||
|
|
||||||
| Error Code | Description |
|
| HTTP Code | gRPC Code | Description |
|
||||||
| ------------------------------- | ----------------------------------------------- |
|
| --------------------------------- | --------- | --------------------------------------------- |
|
||||||
| ERR_INVOKE_OUTPUT_BINDING | Error invoking an output binding. |
|
| `ERR_CONVERSATION_INVALID_PARMS` | | Invalid parameters for conversation component |
|
||||||
| ERR_DIRECT_INVOKE | Error in direct invocation. |
|
| `ERR_CONVERSATION_INVOKE` | | Error invoking conversation |
|
||||||
| ERR_CONVERSATION_INVALID_PARMS | Error invalid parameters for conversation. |
|
| `ERR_CONVERSATION_MISSING_INPUTS` | | Missing inputs for conversation |
|
||||||
| ERR_CONVERSATION_INVOKE | Error invoking the conversation. |
|
| `ERR_CONVERSATION_NOT_FOUND` | | Conversation not found |
|
||||||
| ERR_CONVERSATION_MISSING_INPUTS | Error missing required inputs for conversation. |
|
|
||||||
| ERR_CONVERSATION_NOT_FOUND | Error conversation not found. |
|
|
||||||
|
### Service Invocation / Direct Messaging API
|
||||||
|
|
||||||
|
| HTTP Code | gRPC Code | Description |
|
||||||
|
| ------------------- | --------- | ---------------------- |
|
||||||
|
| `ERR_DIRECT_INVOKE` | | Error invoking service |
|
||||||
|
|
||||||
|
|
||||||
|
### Bindings API
|
||||||
|
|
||||||
|
| HTTP Code | gRPC Code | Description |
|
||||||
|
| --------------------------- | --------- | ----------------------------- |
|
||||||
|
| `ERR_INVOKE_OUTPUT_BINDING` | | Error invoking output binding |
|
||||||
|
|
||||||
|
|
||||||
### Distributed Lock API
|
### Distributed Lock API
|
||||||
|
|
||||||
| Error Code | Description |
|
| HTTP Code | gRPC Code | Description |
|
||||||
| ----------------------------- | ----------------------------------- |
|
| ------------------------------- | --------- | ------------------------- |
|
||||||
| ERR_TRY_LOCK | Error attempting to acquire a lock. |
|
| `ERR_LOCK_STORE_NOT_CONFIGURED` | | Lock store not configured |
|
||||||
| ERR_UNLOCK | Error attempting to release a lock. |
|
| `ERR_LOCK_STORE_NOT_FOUND` | | Lock store not found |
|
||||||
| ERR_LOCK_STORE_NOT_CONFIGURED | Error lock store is not configured. |
|
| `ERR_TRY_LOCK` | | Error acquiring lock |
|
||||||
| ERR_LOCK_STORE_NOT_FOUND | Error lock store not found. |
|
| `ERR_UNLOCK` | | Error releasing lock |
|
||||||
|
|
||||||
|
|
||||||
### Healthz
|
### Healthz
|
||||||
|
|
||||||
| Error Code | Description |
|
| HTTP Code | gRPC Code | Description |
|
||||||
| ----------------------------- | --------------------------------------------------------------- |
|
| ------------------------------- | --------- | --------------------------- |
|
||||||
| ERR_HEALTH_NOT_READY | Error that Dapr is not ready. |
|
| `ERR_HEALTH_NOT_READY` | | Dapr not ready |
|
||||||
| ERR_HEALTH_APPID_NOT_MATCH | Error the app-id does not match expected value in health check. |
|
| `ERR_HEALTH_APPID_NOT_MATCH` | | Dapr App ID does not match |
|
||||||
| ERR_OUTBOUND_HEALTH_NOT_READY | Error outbound connection health is not ready. |
|
| `ERR_OUTBOUND_HEALTH_NOT_READY` | | Dapr outbound not ready |
|
||||||
|
|
||||||
|
|
||||||
### Common
|
### Common
|
||||||
|
|
||||||
| Error Code | Description |
|
| HTTP Code | gRPC Code | Description |
|
||||||
| -------------------------- | ------------------------------------------------ |
|
| ---------------------------- | --------- | -------------------------- |
|
||||||
| ERR_API_UNIMPLEMENTED | Error API is not implemented. |
|
| `ERR_API_UNIMPLEMENTED` | | API not implemented |
|
||||||
| ERR_APP_CHANNEL_NIL | Error application channel is nil. |
|
| `ERR_APP_CHANNEL_NIL` | | App channel is nil |
|
||||||
| ERR_BAD_REQUEST | Error client request is badly formed or invalid. |
|
| `ERR_BAD_REQUEST` | | Bad request |
|
||||||
| ERR_BODY_READ | Error reading body. |
|
| `ERR_BODY_READ` | | Error reading request body |
|
||||||
| ERR_INTERNAL | Internal server error encountered. |
|
| `ERR_INTERNAL` | | Internal error |
|
||||||
| ERR_MALFORMED_REQUEST | Error with a malformed request. |
|
| `ERR_MALFORMED_REQUEST` | | Malformed request |
|
||||||
| ERR_MALFORMED_REQUEST_DATA | Error request data is malformed. |
|
| `ERR_MALFORMED_REQUEST_DATA` | | Malformed request data |
|
||||||
| ERR_MALFORMED_RESPONSE | Error response data is malformed. |
|
| `ERR_MALFORMED_RESPONSE` | | Malformed response |
|
||||||
|
|
||||||
|
|
||||||
|
### Scheduler/Jobs API
|
||||||
|
|
||||||
|
| HTTP Code | gRPC Code | Description |
|
||||||
|
| ------------------------------- | ------------------------------- | -------------------------------------- |
|
||||||
|
| `DAPR_SCHEDULER_SCHEDULE_JOB` | `DAPR_SCHEDULER_SCHEDULE_JOB` | Error scheduling job |
|
||||||
|
| `DAPR_SCHEDULER_JOB_NAME` | `DAPR_SCHEDULER_JOB_NAME` | Job name should only be set in the url |
|
||||||
|
| `DAPR_SCHEDULER_JOB_NAME_EMPTY` | `DAPR_SCHEDULER_JOB_NAME_EMPTY` | Job name is empty |
|
||||||
|
| `DAPR_SCHEDULER_GET_JOB` | `DAPR_SCHEDULER_GET_JOB` | Error getting job |
|
||||||
|
| `DAPR_SCHEDULER_LIST_JOBS` | `DAPR_SCHEDULER_LIST_JOBS` | Error listing jobs |
|
||||||
|
| `DAPR_SCHEDULER_DELETE_JOB` | `DAPR_SCHEDULER_DELETE_JOB` | Error deleting job |
|
||||||
|
| `DAPR_SCHEDULER_EMPTY` | `DAPR_SCHEDULER_EMPTY` | Required argument is empty |
|
||||||
|
| `DAPR_SCHEDULER_SCHEDULE_EMPTY` | `DAPR_SCHEDULER_SCHEDULE_EMPTY` | No schedule provided for job |
|
||||||
|
|
||||||
|
|
||||||
|
### Generic
|
||||||
|
|
||||||
|
| HTTP Code | gRPC Code | Description |
|
||||||
|
| --------- | --------- | ------------- |
|
||||||
|
| `ERROR` | `ERROR` | Generic error |
|
||||||
|
|
||||||
## Next steps
|
## Next steps
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue