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
|
||||
|
||||
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
|
||||
|
||||
### Self-hosted local development
|
||||
|
|
|
@ -57,7 +57,7 @@ This simplifies some choices, but also carries some consideration:
|
|||
|
||||
## 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
|
||||
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.
|
||||
|
||||
{{< 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 %}}
|
||||
|
||||
|
|
|
@ -6,145 +6,199 @@ description: "List of gRPC and HTTP error codes in Dapr and their descriptions"
|
|||
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
|
||||
|
||||
| Error Code | Description |
|
||||
| -------------------------------- | ------------------------------------------ |
|
||||
| ERR_ACTOR_INSTANCE_MISSING | Error when an actor instance is missing. |
|
||||
| ERR_ACTOR_RUNTIME_NOT_FOUND | Error the actor instance. |
|
||||
| ERR_ACTOR_REMINDER_CREATE | Error creating a reminder for an actor. |
|
||||
| ERR_ACTOR_REMINDER_DELETE | Error deleting a reminder for an actor. |
|
||||
| ERR_ACTOR_TIMER_CREATE | Error creating a timer for an actor. |
|
||||
| ERR_ACTOR_TIMER_DELETE | Error deleting a timer for an actor. |
|
||||
| ERR_ACTOR_REMINDER_GET | Error getting a reminder for an actor. |
|
||||
| ERR_ACTOR_INVOKE_METHOD | Error invoking a method on an actor. |
|
||||
| ERR_ACTOR_STATE_DELETE | Error deleting the state for an actor. |
|
||||
| ERR_ACTOR_STATE_GET | Error getting the state for an actor. |
|
||||
| ERR_ACTOR_STATE_TRANSACTION_SAVE | Error storing actor state transactionally. |
|
||||
| ERR_ACTOR_REMINDER_NON_HOSTED | Error setting reminder for an actor. |
|
||||
| HTTP Code | gRPC Code | Description |
|
||||
| ---------------------------------- | --------- | ----------------------------------------------------------------------- |
|
||||
| `ERR_ACTOR_INSTANCE_MISSING` | | Missing actor instance |
|
||||
| `ERR_ACTOR_INVOKE_METHOD` | | Error invoking actor method |
|
||||
| `ERR_ACTOR_RUNTIME_NOT_FOUND` | | Actor runtime not found |
|
||||
| `ERR_ACTOR_STATE_GET` | | Error getting actor state |
|
||||
| `ERR_ACTOR_STATE_TRANSACTION_SAVE` | | Error saving actor transaction |
|
||||
| `ERR_ACTOR_REMINDER_CREATE` | | Error creating actor reminder |
|
||||
| `ERR_ACTOR_REMINDER_DELETE` | | Error deleting actor reminder |
|
||||
| `ERR_ACTOR_REMINDER_GET` | | Error getting actor reminder |
|
||||
| `ERR_ACTOR_REMINDER_NON_HOSTED` | | Reminder operation on non-hosted actor type |
|
||||
| `ERR_ACTOR_TIMER_CREATE` | | Error creating actor timer |
|
||||
| `ERR_ACTOR_NO_APP_CHANNEL` | | App channel not initialized |
|
||||
| `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
|
||||
|
||||
| Error Code | Description |
|
||||
| -------------------------------- | ----------------------------------------------------------- |
|
||||
| ERR_GET_WORKFLOW | Error getting workflow. |
|
||||
| ERR_START_WORKFLOW | Error starting the workflow. |
|
||||
| ERR_PAUSE_WORKFLOW | Error pausing the workflow. |
|
||||
| ERR_RESUME_WORKFLOW | Error resuming the workflow. |
|
||||
| ERR_TERMINATE_WORKFLOW | Error terminating the workflow. |
|
||||
| ERR_PURGE_WORKFLOW | Error purging workflow. |
|
||||
| ERR_RAISE_EVENT_WORKFLOW | Error raising an event within the workflow. |
|
||||
| ERR_WORKFLOW_COMPONENT_MISSING | Error when a workflow component is missing a configuration. |
|
||||
| ERR_WORKFLOW_COMPONENT_NOT_FOUND | Error when a workflow component is not found. |
|
||||
| ERR_WORKFLOW_EVENT_NAME_MISSING | Error when the event name for a workflow is missing. |
|
||||
| ERR_WORKFLOW_NAME_MISSING | Error when the workflow name is missing. |
|
||||
| ERR_INSTANCE_ID_INVALID | Error invalid workflow instance ID provided. |
|
||||
| ERR_INSTANCE_ID_NOT_FOUND | Error workflow instance ID not found. |
|
||||
| ERR_INSTANCE_ID_PROVIDED_MISSING | Error workflow instance ID was provided but missing. |
|
||||
| ERR_INSTANCE_ID_TOO_LONG | Error workflow instance ID exceeds allowable length. |
|
||||
| HTTP Code | gRPC Code | Description |
|
||||
| ---------------------------------- | --------- | --------------------------------------------------------------------------------------- |
|
||||
| `ERR_GET_WORKFLOW` | | Error getting workflow |
|
||||
| `ERR_START_WORKFLOW` | | Error starting workflow |
|
||||
| `ERR_PAUSE_WORKFLOW` | | Error pausing workflow |
|
||||
| `ERR_RESUME_WORKFLOW` | | Error resuming workflow |
|
||||
| `ERR_TERMINATE_WORKFLOW` | | Error terminating workflow |
|
||||
| `ERR_PURGE_WORKFLOW` | | Error purging workflow |
|
||||
| `ERR_RAISE_EVENT_WORKFLOW` | | Error raising event in workflow |
|
||||
| `ERR_WORKFLOW_COMPONENT_MISSING` | | Missing workflow component |
|
||||
| `ERR_WORKFLOW_COMPONENT_NOT_FOUND` | | Workflow component not found |
|
||||
| `ERR_WORKFLOW_EVENT_NAME_MISSING` | | Missing workflow event name |
|
||||
| `ERR_WORKFLOW_NAME_MISSING` | | Workflow name not configured |
|
||||
| `ERR_INSTANCE_ID_INVALID` | | Invalid workflow instance ID. (Only alphanumeric and underscore characters are allowed) |
|
||||
| `ERR_INSTANCE_ID_NOT_FOUND` | | Workflow instance ID not found |
|
||||
| `ERR_INSTANCE_ID_PROVIDED_MISSING` | | Missing workflow instance ID |
|
||||
| `ERR_INSTANCE_ID_TOO_LONG` | | Workflow instance ID too long |
|
||||
|
||||
### State Management API
|
||||
|
||||
| Error Code | Description |
|
||||
| ------------------------------------- | ------------------------------------------------------------------------- |
|
||||
| ERR_STATE_STORE_NOT_FOUND | Error referencing a state store not found. |
|
||||
| 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_GET | Error getting a state for state store. |
|
||||
| ERR_STATE_DELETE | Error deleting a state from state store. |
|
||||
| ERR_STATE_SAVE | Error saving a state in state store. |
|
||||
| ERR_STATE_TRANSACTION | Error encountered during state transaction. |
|
||||
| ERR_STATE_BULK_GET | Error performing bulk retrieval of state entries. |
|
||||
| ERR_STATE_QUERY | Error querying the state store. |
|
||||
| ERR_STATE_STORE_NOT_CONFIGURED | Error state store is not configured. |
|
||||
| ERR_STATE_STORE_NOT_SUPPORTED | Error state store is not supported. |
|
||||
| ERR_STATE_STORE_TOO_MANY_TRANSACTIONS | Error exceeded maximum allowable transactions. |
|
||||
### State management API
|
||||
|
||||
| HTTP Code | gRPC Code | Description |
|
||||
| --------------------------------------- | --------------------------------------- | ----------------------------------------- |
|
||||
| `ERR_STATE_TRANSACTION` | | Error in state transaction |
|
||||
| `ERR_STATE_SAVE` | | Error saving state |
|
||||
| `ERR_STATE_GET` | | Error getting state |
|
||||
| `ERR_STATE_DELETE` | | Error deleting state |
|
||||
| `ERR_STATE_BULK_DELETE` | | Error deleting state in bulk |
|
||||
| `ERR_STATE_BULK_GET` | | Error getting state in bulk |
|
||||
| `ERR_NOT_SUPPORTED_STATE_OPERATION` | | Operation not supported in transaction |
|
||||
| `ERR_STATE_QUERY` | `DAPR_STATE_QUERY_FAILED` | Error querying state |
|
||||
| `ERR_STATE_STORE_NOT_FOUND` | `DAPR_STATE_NOT_FOUND` | State store not found |
|
||||
| `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
|
||||
|
||||
| Error Code | Description |
|
||||
| -------------------------------------- | -------------------------------------------- |
|
||||
| ERR_CONFIGURATION_GET | Error retrieving configuration. |
|
||||
| ERR_CONFIGURATION_STORE_NOT_CONFIGURED | Error configuration store is not configured. |
|
||||
| ERR_CONFIGURATION_STORE_NOT_FOUND | Error configuration store not found. |
|
||||
| ERR_CONFIGURATION_SUBSCRIBE | Error subscribing to a configuration. |
|
||||
| ERR_CONFIGURATION_UNSUBSCRIBE | Error unsubscribing from a configuration. |
|
||||
| HTTP Code | gRPC Code | Description |
|
||||
| ---------------------------------------- | --------- | -------------------------------------- |
|
||||
| `ERR_CONFIGURATION_GET` | | Error getting configuration |
|
||||
| `ERR_CONFIGURATION_STORE_NOT_CONFIGURED` | | Configuration store not configured |
|
||||
| `ERR_CONFIGURATION_STORE_NOT_FOUND` | | Configuration store not found |
|
||||
| `ERR_CONFIGURATION_SUBSCRIBE` | | Error subscribing to configuration |
|
||||
| `ERR_CONFIGURATION_UNSUBSCRIBE` | | Error unsubscribing from configuration |
|
||||
|
||||
|
||||
### Crypto API
|
||||
|
||||
| Error Code | Description |
|
||||
| ----------------------------------- | ------------------------------------------ |
|
||||
| ERR_CRYPTO | General crypto building block error. |
|
||||
| ERR_CRYPTO_KEY | Error related to a crypto key. |
|
||||
| ERR_CRYPTO_PROVIDER_NOT_FOUND | Error specified crypto provider not found. |
|
||||
| ERR_CRYPTO_PROVIDERS_NOT_CONFIGURED | Error no crypto providers configured. |
|
||||
| HTTP Code | gRPC Code | Description |
|
||||
| ------------------------------------- | --------- | ------------------------------- |
|
||||
| `ERR_CRYPTO` | | Error in crypto operation |
|
||||
| `ERR_CRYPTO_KEY` | | Error retrieving crypto key |
|
||||
| `ERR_CRYPTO_PROVIDER_NOT_FOUND` | | Crypto provider not found |
|
||||
| `ERR_CRYPTO_PROVIDERS_NOT_CONFIGURED` | | Crypto providers not configured |
|
||||
|
||||
|
||||
### Secrets API
|
||||
|
||||
| Error Code | Description |
|
||||
| -------------------------------- | ---------------------------------------------------- |
|
||||
| ERR_SECRET_STORES_NOT_CONFIGURED | Error that no secret store is configured. |
|
||||
| ERR_SECRET_STORE_NOT_FOUND | Error that specified secret store is not found. |
|
||||
| ERR_SECRET_GET | Error retrieving the specified secret. |
|
||||
| ERR_PERMISSION_DENIED | Error access denied due to insufficient permissions. |
|
||||
| HTTP Code | gRPC Code | Description |
|
||||
| ---------------------------------- | --------- | --------------------------- |
|
||||
| `ERR_SECRET_GET` | | Error getting secret |
|
||||
| `ERR_SECRET_STORE_NOT_FOUND` | | Secret store not found |
|
||||
| `ERR_SECRET_STORES_NOT_CONFIGURED` | | Secret store not configured |
|
||||
| `ERR_PERMISSION_DENIED` | | Permission denied by policy |
|
||||
|
||||
### Pub/Sub API
|
||||
|
||||
| Error Code | Description |
|
||||
| --------------------------- | -------------------------------------------------------- |
|
||||
| ERR_PUBSUB_NOT_FOUND | Error referencing the Pub/Sub component in Dapr runtime. |
|
||||
| ERR_PUBSUB_PUBLISH_MESSAGE | Error publishing a message. |
|
||||
| ERR_PUBSUB_FORBIDDEN | Error message forbidden by access controls. |
|
||||
| ERR_PUBSUB_CLOUD_EVENTS_SER | Error serializing Pub/Sub event envelope. |
|
||||
| ERR_PUBSUB_EMPTY | Error empty Pub/Sub. |
|
||||
| ERR_PUBSUB_NOT_CONFIGURED | Error Pub/Sub component is not configured. |
|
||||
| ERR_PUBSUB_REQUEST_METADATA | Error with metadata in Pub/Sub request. |
|
||||
| ERR_PUBSUB_EVENTS_SER | Error serializing Pub/Sub events. |
|
||||
| ERR_PUBLISH_OUTBOX | Error publishing message to the outbox. |
|
||||
| ERR_TOPIC_NAME_EMPTY | Error topic name for Pub/Sub message is empty. |
|
||||
### Pub/Sub and messaging errors
|
||||
|
||||
| HTTP Code | gRPC Code | Description |
|
||||
| ----------------------------- | -------------------------------------- | -------------------------------------- |
|
||||
| `ERR_PUBSUB_EMPTY` | `DAPR_PUBSUB_NAME_EMPTY` | Pubsub name is empty |
|
||||
| `ERR_PUBSUB_NOT_FOUND` | `DAPR_PUBSUB_NOT_FOUND` | Pubsub not found |
|
||||
| `ERR_PUBSUB_NOT_FOUND` | `DAPR_PUBSUB_TEST_NOT_FOUND` | Pubsub not found |
|
||||
| `ERR_PUBSUB_NOT_CONFIGURED` | `DAPR_PUBSUB_NOT_CONFIGURED` | Pubsub not configured |
|
||||
| `ERR_TOPIC_NAME_EMPTY` | `DAPR_PUBSUB_TOPIC_NAME_EMPTY` | Topic name is empty |
|
||||
| `ERR_PUBSUB_FORBIDDEN` | `DAPR_PUBSUB_FORBIDDEN` | Access to topic forbidden for APP ID |
|
||||
| `ERR_PUBSUB_PUBLISH_MESSAGE` | `DAPR_PUBSUB_PUBLISH_MESSAGE` | Error publishing message |
|
||||
| `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
|
||||
|
||||
| Error Code | Description |
|
||||
| ------------------------------- | ----------------------------------------------- |
|
||||
| ERR_INVOKE_OUTPUT_BINDING | Error invoking an output binding. |
|
||||
| ERR_DIRECT_INVOKE | Error in direct invocation. |
|
||||
| ERR_CONVERSATION_INVALID_PARMS | Error invalid parameters for conversation. |
|
||||
| ERR_CONVERSATION_INVOKE | Error invoking the conversation. |
|
||||
| ERR_CONVERSATION_MISSING_INPUTS | Error missing required inputs for conversation. |
|
||||
| ERR_CONVERSATION_NOT_FOUND | Error conversation not found. |
|
||||
| HTTP Code | gRPC Code | Description |
|
||||
| --------------------------------- | --------- | --------------------------------------------- |
|
||||
| `ERR_CONVERSATION_INVALID_PARMS` | | Invalid parameters for conversation component |
|
||||
| `ERR_CONVERSATION_INVOKE` | | Error invoking conversation |
|
||||
| `ERR_CONVERSATION_MISSING_INPUTS` | | Missing inputs for conversation |
|
||||
| `ERR_CONVERSATION_NOT_FOUND` | | 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
|
||||
|
||||
| Error Code | Description |
|
||||
| ----------------------------- | ----------------------------------- |
|
||||
| ERR_TRY_LOCK | Error attempting to acquire a lock. |
|
||||
| ERR_UNLOCK | Error attempting to release a lock. |
|
||||
| ERR_LOCK_STORE_NOT_CONFIGURED | Error lock store is not configured. |
|
||||
| ERR_LOCK_STORE_NOT_FOUND | Error lock store not found. |
|
||||
| HTTP Code | gRPC Code | Description |
|
||||
| ------------------------------- | --------- | ------------------------- |
|
||||
| `ERR_LOCK_STORE_NOT_CONFIGURED` | | Lock store not configured |
|
||||
| `ERR_LOCK_STORE_NOT_FOUND` | | Lock store not found |
|
||||
| `ERR_TRY_LOCK` | | Error acquiring lock |
|
||||
| `ERR_UNLOCK` | | Error releasing lock |
|
||||
|
||||
|
||||
### Healthz
|
||||
|
||||
| Error Code | Description |
|
||||
| ----------------------------- | --------------------------------------------------------------- |
|
||||
| ERR_HEALTH_NOT_READY | Error that Dapr is not ready. |
|
||||
| ERR_HEALTH_APPID_NOT_MATCH | Error the app-id does not match expected value in health check. |
|
||||
| ERR_OUTBOUND_HEALTH_NOT_READY | Error outbound connection health is not ready. |
|
||||
| HTTP Code | gRPC Code | Description |
|
||||
| ------------------------------- | --------- | --------------------------- |
|
||||
| `ERR_HEALTH_NOT_READY` | | Dapr not ready |
|
||||
| `ERR_HEALTH_APPID_NOT_MATCH` | | Dapr App ID does not match |
|
||||
| `ERR_OUTBOUND_HEALTH_NOT_READY` | | Dapr outbound not ready |
|
||||
|
||||
|
||||
### Common
|
||||
|
||||
| Error Code | Description |
|
||||
| -------------------------- | ------------------------------------------------ |
|
||||
| ERR_API_UNIMPLEMENTED | Error API is not implemented. |
|
||||
| ERR_APP_CHANNEL_NIL | Error application channel is nil. |
|
||||
| ERR_BAD_REQUEST | Error client request is badly formed or invalid. |
|
||||
| ERR_BODY_READ | Error reading body. |
|
||||
| ERR_INTERNAL | Internal server error encountered. |
|
||||
| ERR_MALFORMED_REQUEST | Error with a malformed request. |
|
||||
| ERR_MALFORMED_REQUEST_DATA | Error request data is malformed. |
|
||||
| ERR_MALFORMED_RESPONSE | Error response data is malformed. |
|
||||
| HTTP Code | gRPC Code | Description |
|
||||
| ---------------------------- | --------- | -------------------------- |
|
||||
| `ERR_API_UNIMPLEMENTED` | | API not implemented |
|
||||
| `ERR_APP_CHANNEL_NIL` | | App channel is nil |
|
||||
| `ERR_BAD_REQUEST` | | Bad request |
|
||||
| `ERR_BODY_READ` | | Error reading request body |
|
||||
| `ERR_INTERNAL` | | Internal error |
|
||||
| `ERR_MALFORMED_REQUEST` | | Malformed request |
|
||||
| `ERR_MALFORMED_REQUEST_DATA` | | Malformed request data |
|
||||
| `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
|
||||
|
||||
|
|
Loading…
Reference in New Issue