<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>错误代码 on Dapr 文档库</title><link>https://v1-18.docs.dapr.io/zh-hans/developing-applications/error-codes/</link><description>Recent content in 错误代码 on Dapr 文档库</description><generator>Hugo</generator><language>zh-hans</language><atom:link href="https://v1-18.docs.dapr.io/zh-hans/developing-applications/error-codes/index.xml" rel="self" type="application/rss+xml"/><item><title>错误概述</title><link>https://v1-18.docs.dapr.io/zh-hans/developing-applications/error-codes/errors-overview/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://v1-18.docs.dapr.io/zh-hans/developing-applications/error-codes/errors-overview/</guid><description>&lt;p>错误代码是用于指示错误性质的数字或字母数字代码，并在可能的情况下，说明其发生的原因。&lt;/p>
&lt;p>Dapr 错误代码是标准化的字符串，适用于 Dapr API 中 HTTP 和 gRPC 请求的 80 多种常见错误。这些代码会：&lt;/p>
&lt;ul>
&lt;li>在请求的 JSON 响应体中返回。&lt;/li>
&lt;li>启用后，会在运行时的调试级别日志中记录。
&lt;ul>
&lt;li>如果您在 Kubernetes 中运行，错误代码会记录在 sidecar 中。&lt;/li>
&lt;li>如果您在自托管中运行，可以启用并查看调试日志。&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;h2 id="错误格式">错误格式&lt;/h2>
&lt;p>Dapr 错误代码由前缀、类别和错误本身的简写组成。例如：&lt;/p>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>前缀&lt;/th>
 &lt;th>类别&lt;/th>
 &lt;th>错误简写&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>ERR_&lt;/td>
 &lt;td>PUBSUB_&lt;/td>
 &lt;td>NOT_FOUND&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;p>一些最常见的返回错误包括：&lt;/p>
&lt;ul>
&lt;li>ERR_ACTOR_TIMER_CREATE&lt;/li>
&lt;li>ERR_PURGE_WORKFLOW&lt;/li>
&lt;li>ERR_STATE_STORE_NOT_FOUND&lt;/li>
&lt;li>ERR_HEALTH_NOT_READY&lt;/li>
&lt;/ul>
&lt;blockquote>
&lt;p>&lt;strong>注意：&lt;/strong> &lt;a href="https://v1-18.docs.dapr.io/zh-hans/developing-applications/error-codes/error-codes-reference/">查看 Dapr 中错误代码的完整列表。&lt;/a>&lt;/p>&lt;/blockquote>
&lt;p>对于未找到的状态存储返回的错误可能如下所示：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-json" data-lang="json">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000;font-weight:bold">{&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#204a87;font-weight:bold">&amp;#34;error&amp;#34;&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span> &lt;span style="color:#4e9a06">&amp;#34;Bad Request&amp;#34;&lt;/span>&lt;span style="color:#000;font-weight:bold">,&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#204a87;font-weight:bold">&amp;#34;error_msg&amp;#34;&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span> &lt;span style="color:#4e9a06">&amp;#34;{\&amp;#34;errorCode\&amp;#34;:\&amp;#34;ERR_STATE_STORE_NOT_FOUND\&amp;#34;,\&amp;#34;message\&amp;#34;:\&amp;#34;state store &amp;lt;name&amp;gt; is not found\&amp;#34;,\&amp;#34;details\&amp;#34;:[{\&amp;#34;@type\&amp;#34;:\&amp;#34;type.googleapis.com/google.rpc.ErrorInfo\&amp;#34;,\&amp;#34;domain\&amp;#34;:\&amp;#34;dapr.io\&amp;#34;,\&amp;#34;metadata\&amp;#34;:{\&amp;#34;appID\&amp;#34;:\&amp;#34;nodeapp\&amp;#34;},\&amp;#34;reason\&amp;#34;:\&amp;#34;DAPR_STATE_NOT_FOUND\&amp;#34;}]}&amp;#34;&lt;/span>&lt;span style="color:#000;font-weight:bold">,&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#204a87;font-weight:bold">&amp;#34;status&amp;#34;&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span> &lt;span style="color:#0000cf;font-weight:bold">400&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000;font-weight:bold">}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>返回的错误包括：&lt;/p>
&lt;ul>
&lt;li>错误代码：&lt;code>ERR_STATE_STORE_NOT_FOUND&lt;/code>&lt;/li>
&lt;li>描述问题的错误消息：&lt;code>state store &amp;lt;name&amp;gt; is not found&lt;/code>&lt;/li>
&lt;li>发生错误的应用程序 ID：&lt;code>nodeapp&lt;/code>&lt;/li>
&lt;li>错误的原因：&lt;code>DAPR_STATE_NOT_FOUND&lt;/code>&lt;/li>
&lt;/ul>
&lt;h2 id="dapr-错误代码指标">Dapr 错误代码指标&lt;/h2>
&lt;p>指标帮助您查看错误在运行时发生的具体时间。错误代码指标通过 &lt;code>error_code_total&lt;/code> 端点收集。此端点默认情况下是禁用的。您可以&lt;a href="https://v1-18.docs.dapr.io/zh-hans/operations/observability/metrics/metrics-overview/#configuring-metrics-for-error-codes">通过配置文件中的 &lt;code>recordErrorCodes&lt;/code> 字段启用它&lt;/a>。&lt;/p></description></item><item><title>错误代码参考指南</title><link>https://v1-18.docs.dapr.io/zh-hans/developing-applications/error-codes/error-codes-reference/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://v1-18.docs.dapr.io/zh-hans/developing-applications/error-codes/error-codes-reference/</guid><description>&lt;p>以下表格列出了 Dapr 运行时返回的错误代码。
错误代码会在 HTTP 请求的响应体中或 gRPC 状态响应的 &lt;code>ErrorInfo&lt;/code> 部分返回（如果存在）。
我们正在努力根据 &lt;a href="https://v1-18.docs.dapr.io/zh-hans/developing-applications/error-codes/grpc-error-codes/#richer-grpc-error-model">更丰富的错误模型&lt;/a> 来改进所有 gRPC 错误响应。没有对应 gRPC 代码的错误代码表示这些错误尚未更新到此模型。&lt;/p>
&lt;h3 id="演员-api">演员 API&lt;/h3>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>HTTP 代码&lt;/th>
 &lt;th>gRPC 代码&lt;/th>
 &lt;th>描述&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>&lt;code>ERR_ACTOR_INSTANCE_MISSING&lt;/code>&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>缺少演员实例&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_ACTOR_INVOKE_METHOD&lt;/code>&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>调用演员方法时发生错误&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_ACTOR_RUNTIME_NOT_FOUND&lt;/code>&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>找不到演员运行时&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_ACTOR_STATE_GET&lt;/code>&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>获取演员状态时发生错误&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_ACTOR_STATE_TRANSACTION_SAVE&lt;/code>&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>保存演员事务时发生错误&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_ACTOR_REMINDER_CREATE&lt;/code>&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>创建演员提醒时发生错误&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_ACTOR_REMINDER_DELETE&lt;/code>&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>删除演员提醒时发生错误&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_ACTOR_REMINDER_GET&lt;/code>&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>获取演员提醒时发生错误&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_ACTOR_REMINDER_NON_HOSTED&lt;/code>&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>非托管演员类型的提醒操作&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_ACTOR_TIMER_CREATE&lt;/code>&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>创建演员计时器时发生错误&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_ACTOR_NO_APP_CHANNEL&lt;/code>&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>应用通道未初始化&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_ACTOR_STACK_DEPTH&lt;/code>&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>超过演员调用堆栈的最大深度&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_ACTOR_NO_PLACEMENT&lt;/code>&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>未配置放置服务&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_ACTOR_RUNTIME_CLOSED&lt;/code>&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>演员运行时已关闭&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_ACTOR_NAMESPACE_REQUIRED&lt;/code>&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>在 Kubernetes 模式下运行时，演员必须配置命名空间&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_ACTOR_NO_ADDRESS&lt;/code>&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>找不到演员的地址&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;h3 id="工作流-api">工作流 API&lt;/h3>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>HTTP 代码&lt;/th>
 &lt;th>gRPC 代码&lt;/th>
 &lt;th>描述&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>&lt;code>ERR_GET_WORKFLOW&lt;/code>&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>获取工作流时发生错误&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_START_WORKFLOW&lt;/code>&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>启动工作流时发生错误&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_PAUSE_WORKFLOW&lt;/code>&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>暂停工作流时发生错误&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_RESUME_WORKFLOW&lt;/code>&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>恢复工作流时发生错误&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_TERMINATE_WORKFLOW&lt;/code>&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>终止工作流时发生错误&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_PURGE_WORKFLOW&lt;/code>&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>清除工作流时发生错误&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_RAISE_EVENT_WORKFLOW&lt;/code>&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>在工作流中引发事件时发生错误&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_WORKFLOW_COMPONENT_MISSING&lt;/code>&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>缺少工作流组件&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_WORKFLOW_COMPONENT_NOT_FOUND&lt;/code>&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>找不到工作流组件&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_WORKFLOW_EVENT_NAME_MISSING&lt;/code>&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>缺少工作流事件名称&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_WORKFLOW_NAME_MISSING&lt;/code>&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>未配置工作流名称&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_INSTANCE_ID_INVALID&lt;/code>&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>无效的工作流实例 ID。（仅允许字母数字和下划线字符）&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_INSTANCE_ID_NOT_FOUND&lt;/code>&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>找不到工作流实例 ID&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_INSTANCE_ID_PROVIDED_MISSING&lt;/code>&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>缺少工作流实例 ID&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_INSTANCE_ID_TOO_LONG&lt;/code>&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>工作流实例 ID 过长&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;h3 id="状态管理-api">状态管理 API&lt;/h3>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>HTTP 代码&lt;/th>
 &lt;th>gRPC 代码&lt;/th>
 &lt;th>描述&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>&lt;code>ERR_STATE_TRANSACTION&lt;/code>&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>状态事务出错&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_STATE_SAVE&lt;/code>&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>保存状态时出错&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_STATE_GET&lt;/code>&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>获取状态时出错&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_STATE_DELETE&lt;/code>&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>删除状态时出错&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_STATE_BULK_DELETE&lt;/code>&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>批量删除状态时出错&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_STATE_BULK_GET&lt;/code>&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>批量获取状态时出错&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_NOT_SUPPORTED_STATE_OPERATION&lt;/code>&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>事务中不支持的操作&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_STATE_QUERY&lt;/code>&lt;/td>
 &lt;td>&lt;code>DAPR_STATE_QUERY_FAILED&lt;/code>&lt;/td>
 &lt;td>查询状态时出错&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_STATE_STORE_NOT_FOUND&lt;/code>&lt;/td>
 &lt;td>&lt;code>DAPR_STATE_NOT_FOUND&lt;/code>&lt;/td>
 &lt;td>找不到状态存储&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_STATE_STORE_NOT_CONFIGURED&lt;/code>&lt;/td>
 &lt;td>&lt;code>DAPR_STATE_NOT_CONFIGURED&lt;/code>&lt;/td>
 &lt;td>未配置状态存储&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_STATE_STORE_NOT_SUPPORTED&lt;/code>&lt;/td>
 &lt;td>&lt;code>DAPR_STATE_TRANSACTIONS_NOT_SUPPORTED&lt;/code>&lt;/td>
 &lt;td>状态存储不支持事务&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_STATE_STORE_NOT_SUPPORTED&lt;/code>&lt;/td>
 &lt;td>&lt;code>DAPR_STATE_QUERYING_NOT_SUPPORTED&lt;/code>&lt;/td>
 &lt;td>状态存储不支持查询&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_STATE_STORE_TOO_MANY_TRANSACTIONS&lt;/code>&lt;/td>
 &lt;td>&lt;code>DAPR_STATE_TOO_MANY_TRANSACTIONS&lt;/code>&lt;/td>
 &lt;td>每个事务的操作过多&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_MALFORMED_REQUEST&lt;/code>&lt;/td>
 &lt;td>&lt;code>DAPR_STATE_ILLEGAL_KEY&lt;/code>&lt;/td>
 &lt;td>无效的键&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;h3 id="配置-api">配置 API&lt;/h3>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>HTTP 代码&lt;/th>
 &lt;th>gRPC 代码&lt;/th>
 &lt;th>描述&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>&lt;code>ERR_CONFIGURATION_GET&lt;/code>&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>获取配置时出错&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_CONFIGURATION_STORE_NOT_CONFIGURED&lt;/code>&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>未配置配置存储&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_CONFIGURATION_STORE_NOT_FOUND&lt;/code>&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>找不到配置存储&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_CONFIGURATION_SUBSCRIBE&lt;/code>&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>订阅配置时出错&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_CONFIGURATION_UNSUBSCRIBE&lt;/code>&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>取消订阅配置时出错&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;h3 id="加密-api">加密 API&lt;/h3>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>HTTP 代码&lt;/th>
 &lt;th>gRPC 代码&lt;/th>
 &lt;th>描述&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>&lt;code>ERR_CRYPTO&lt;/code>&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>加密操作出错&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_CRYPTO_KEY&lt;/code>&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>检索加密密钥时出错&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_CRYPTO_PROVIDER_NOT_FOUND&lt;/code>&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>找不到加密提供者&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_CRYPTO_PROVIDERS_NOT_CONFIGURED&lt;/code>&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>未配置加密提供者&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;h3 id="密钥管理-api">密钥管理 API&lt;/h3>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>HTTP 代码&lt;/th>
 &lt;th>gRPC 代码&lt;/th>
 &lt;th>描述&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>&lt;code>ERR_SECRET_GET&lt;/code>&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>获取密钥时出错&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_SECRET_STORE_NOT_FOUND&lt;/code>&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>找不到密钥存储&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_SECRET_STORES_NOT_CONFIGURED&lt;/code>&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>未配置密钥存储&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_PERMISSION_DENIED&lt;/code>&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>策略拒绝权限&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;h3 id="发布订阅和消息传递错误">发布/订阅和消息传递错误&lt;/h3>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>HTTP 代码&lt;/th>
 &lt;th>gRPC 代码&lt;/th>
 &lt;th>描述&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>&lt;code>ERR_PUBSUB_EMPTY&lt;/code>&lt;/td>
 &lt;td>&lt;code>DAPR_PUBSUB_NAME_EMPTY&lt;/code>&lt;/td>
 &lt;td>发布/订阅名称为空&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_PUBSUB_NOT_FOUND&lt;/code>&lt;/td>
 &lt;td>&lt;code>DAPR_PUBSUB_NOT_FOUND&lt;/code>&lt;/td>
 &lt;td>找不到发布/订阅&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_PUBSUB_NOT_FOUND&lt;/code>&lt;/td>
 &lt;td>&lt;code>DAPR_PUBSUB_TEST_NOT_FOUND&lt;/code>&lt;/td>
 &lt;td>找不到发布/订阅&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_PUBSUB_NOT_CONFIGURED&lt;/code>&lt;/td>
 &lt;td>&lt;code>DAPR_PUBSUB_NOT_CONFIGURED&lt;/code>&lt;/td>
 &lt;td>未配置发布/订阅&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_TOPIC_NAME_EMPTY&lt;/code>&lt;/td>
 &lt;td>&lt;code>DAPR_PUBSUB_TOPIC_NAME_EMPTY&lt;/code>&lt;/td>
 &lt;td>主题名称为空&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_PUBSUB_FORBIDDEN&lt;/code>&lt;/td>
 &lt;td>&lt;code>DAPR_PUBSUB_FORBIDDEN&lt;/code>&lt;/td>
 &lt;td>禁止访问主题的应用 ID&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_PUBSUB_PUBLISH_MESSAGE&lt;/code>&lt;/td>
 &lt;td>&lt;code>DAPR_PUBSUB_PUBLISH_MESSAGE&lt;/code>&lt;/td>
 &lt;td>发布消息时出错&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_PUBSUB_REQUEST_METADATA&lt;/code>&lt;/td>
 &lt;td>&lt;code>DAPR_PUBSUB_METADATA_DESERIALIZATION&lt;/code>&lt;/td>
 &lt;td>反序列化元数据时出错&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_PUBSUB_CLOUD_EVENTS_SER&lt;/code>&lt;/td>
 &lt;td>&lt;code>DAPR_PUBSUB_CLOUD_EVENT_CREATION&lt;/code>&lt;/td>
 &lt;td>创建 CloudEvent 时出错&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_PUBSUB_EVENTS_SER&lt;/code>&lt;/td>
 &lt;td>&lt;code>DAPR_PUBSUB_MARSHAL_ENVELOPE&lt;/code>&lt;/td>
 &lt;td>编组 Cloud Event 信封时出错&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_PUBSUB_EVENTS_SER&lt;/code>&lt;/td>
 &lt;td>&lt;code>DAPR_PUBSUB_MARSHAL_EVENTS&lt;/code>&lt;/td>
 &lt;td>将事件编组为字节时出错&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_PUBSUB_EVENTS_SER&lt;/code>&lt;/td>
 &lt;td>&lt;code>DAPR_PUBSUB_UNMARSHAL_EVENTS&lt;/code>&lt;/td>
 &lt;td>解组事件时出错&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_PUBLISH_OUTBOX&lt;/code>&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>将消息发布到 outbox 时出错&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;h3 id="对话-api">对话 API&lt;/h3>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>HTTP 代码&lt;/th>
 &lt;th>gRPC 代码&lt;/th>
 &lt;th>描述&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>&lt;code>ERR_CONVERSATION_INVALID_PARMS&lt;/code>&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>对话组件的参数无效&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_CONVERSATION_INVOKE&lt;/code>&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>调用对话时出错&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_CONVERSATION_MISSING_INPUTS&lt;/code>&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>对话缺少输入&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_CONVERSATION_NOT_FOUND&lt;/code>&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>找不到对话&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;h3 id="服务调用--直接消息传递-api">服务调用 / 直接消息传递 API&lt;/h3>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>HTTP 代码&lt;/th>
 &lt;th>gRPC 代码&lt;/th>
 &lt;th>描述&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>&lt;code>ERR_DIRECT_INVOKE&lt;/code>&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>调用服务时出错&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;h3 id="绑定-api">绑定 API&lt;/h3>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>HTTP 代码&lt;/th>
 &lt;th>gRPC 代码&lt;/th>
 &lt;th>描述&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>&lt;code>ERR_INVOKE_OUTPUT_BINDING&lt;/code>&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>调用输出绑定时出错&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;h3 id="分布式锁-api">分布式锁 API&lt;/h3>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>HTTP 代码&lt;/th>
 &lt;th>gRPC 代码&lt;/th>
 &lt;th>描述&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>&lt;code>ERR_LOCK_STORE_NOT_CONFIGURED&lt;/code>&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>未配置锁存储&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_LOCK_STORE_NOT_FOUND&lt;/code>&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>找不到锁存储&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_TRY_LOCK&lt;/code>&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>获取锁时出错&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_UNLOCK&lt;/code>&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>释放锁时出错&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;h3 id="健康检查">健康检查&lt;/h3>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>HTTP 代码&lt;/th>
 &lt;th>gRPC 代码&lt;/th>
 &lt;th>描述&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>&lt;code>ERR_HEALTH_NOT_READY&lt;/code>&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>Dapr 未准备好&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_HEALTH_APPID_NOT_MATCH&lt;/code>&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>Dapr 应用 ID 不匹配&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_OUTBOUND_HEALTH_NOT_READY&lt;/code>&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>Dapr 出站未准备好&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;h3 id="通用">通用&lt;/h3>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>HTTP 代码&lt;/th>
 &lt;th>gRPC 代码&lt;/th>
 &lt;th>描述&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>&lt;code>ERR_API_UNIMPLEMENTED&lt;/code>&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>API 未实现&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_APP_CHANNEL_NIL&lt;/code>&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>应用通道为 nil&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_BAD_REQUEST&lt;/code>&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>错误请求&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_BODY_READ&lt;/code>&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>读取请求体时出错&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_INTERNAL&lt;/code>&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>内部错误&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_MALFORMED_REQUEST&lt;/code>&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>请求格式错误&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_MALFORMED_REQUEST_DATA&lt;/code>&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>请求数据格式错误&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>ERR_MALFORMED_RESPONSE&lt;/code>&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>响应格式错误&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;h3 id="调度作业-api">调度/作业 API&lt;/h3>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>HTTP 代码&lt;/th>
 &lt;th>gRPC 代码&lt;/th>
 &lt;th>描述&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>&lt;code>DAPR_SCHEDULER_SCHEDULE_JOB&lt;/code>&lt;/td>
 &lt;td>&lt;code>DAPR_SCHEDULER_SCHEDULE_JOB&lt;/code>&lt;/td>
 &lt;td>调度作业时出错&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>DAPR_SCHEDULER_JOB_NAME&lt;/code>&lt;/td>
 &lt;td>&lt;code>DAPR_SCHEDULER_JOB_NAME&lt;/code>&lt;/td>
 &lt;td>作业名称应仅在 URL 中设置&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>DAPR_SCHEDULER_JOB_NAME_EMPTY&lt;/code>&lt;/td>
 &lt;td>&lt;code>DAPR_SCHEDULER_JOB_NAME_EMPTY&lt;/code>&lt;/td>
 &lt;td>作业名称为空&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>DAPR_SCHEDULER_GET_JOB&lt;/code>&lt;/td>
 &lt;td>&lt;code>DAPR_SCHEDULER_GET_JOB&lt;/code>&lt;/td>
 &lt;td>获取作业时出错&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>DAPR_SCHEDULER_LIST_JOBS&lt;/code>&lt;/td>
 &lt;td>&lt;code>DAPR_SCHEDULER_LIST_JOBS&lt;/code>&lt;/td>
 &lt;td>列出作业时出错&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>DAPR_SCHEDULER_DELETE_JOB&lt;/code>&lt;/td>
 &lt;td>&lt;code>DAPR_SCHEDULER_DELETE_JOB&lt;/code>&lt;/td>
 &lt;td>删除作业时出错&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>DAPR_SCHEDULER_EMPTY&lt;/code>&lt;/td>
 &lt;td>&lt;code>DAPR_SCHEDULER_EMPTY&lt;/code>&lt;/td>
 &lt;td>必需的参数为空&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>DAPR_SCHEDULER_SCHEDULE_EMPTY&lt;/code>&lt;/td>
 &lt;td>&lt;code>DAPR_SCHEDULER_SCHEDULE_EMPTY&lt;/code>&lt;/td>
 &lt;td>未提供作业的调度&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;h3 id="通用-1">通用&lt;/h3>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>HTTP 代码&lt;/th>
 &lt;th>gRPC 代码&lt;/th>
 &lt;th>描述&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>&lt;code>ERROR&lt;/code>&lt;/td>
 &lt;td>&lt;code>ERROR&lt;/code>&lt;/td>
 &lt;td>通用错误&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;h2 id="下一步">下一步&lt;/h2>
&lt;ul>
&lt;li>&lt;a href="https://v1-18.docs.dapr.io/zh-hans/developing-applications/error-codes/http-error-codes/">处理 HTTP 错误代码&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://v1-18.docs.dapr.io/zh-hans/developing-applications/error-codes/grpc-error-codes/">处理 gRPC 错误代码&lt;/a>
`&lt;/li>
&lt;/ul></description></item><item><title>处理 HTTP 错误代码</title><link>https://v1-18.docs.dapr.io/zh-hans/developing-applications/error-codes/http-error-codes/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://v1-18.docs.dapr.io/zh-hans/developing-applications/error-codes/http-error-codes/</guid><description>&lt;p>在向 Dapr 运行时发出的 HTTP 调用中，如果发生错误，响应体会返回一个错误的 JSON。该 JSON 包含错误代码和描述性错误信息。&lt;/p>
&lt;pre tabindex="0">&lt;code>{
 &amp;#34;errorCode&amp;#34;: &amp;#34;ERR_STATE_GET&amp;#34;,
 &amp;#34;message&amp;#34;: &amp;#34;请求的状态键在状态存储中不存在。&amp;#34;
}
&lt;/code>&lt;/pre>&lt;h2 id="相关内容">相关内容&lt;/h2>
&lt;ul>
&lt;li>&lt;a href="https://v1-18.docs.dapr.io/zh-hans/developing-applications/error-codes/error-codes-reference/">错误代码参考列表&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://v1-18.docs.dapr.io/zh-hans/developing-applications/error-codes/grpc-error-codes/">处理 gRPC 错误代码&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>处理 gRPC 错误代码</title><link>https://v1-18.docs.dapr.io/zh-hans/developing-applications/error-codes/grpc-error-codes/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://v1-18.docs.dapr.io/zh-hans/developing-applications/error-codes/grpc-error-codes/</guid><description>&lt;p>最初，错误是按照 &lt;a href="https://grpc.io/docs/guides/error/#standard-error-model">标准 gRPC 错误模型&lt;/a> 进行处理的。然而，为了提供更详细且信息丰富的错误消息，定义了一个增强的错误模型，与 gRPC 的 &lt;a href="https://grpc.io/docs/guides/error/#richer-error-model">更丰富的错误模型&lt;/a> 保持一致。&lt;/p>


&lt;div class="alert alert-primary" role="alert">
&lt;h4 class="alert-heading">注意&lt;/h4>

 并不是所有的 Dapr 错误都已转换为更丰富的 gRPC 错误模型。

&lt;/div>

&lt;h2 id="标准-grpc-错误模型">标准 gRPC 错误模型&lt;/h2>
&lt;p>&lt;a href="https://grpc.io/docs/guides/error/#standard-error-model">标准 gRPC 错误模型&lt;/a> 是 gRPC 中的一种错误报告方法。每个错误响应都包含一个错误代码和一条错误消息。错误代码是标准化的，反映了常见的错误情况。&lt;/p>
&lt;p>&lt;strong>标准 gRPC 错误响应示例：&lt;/strong>&lt;/p>
&lt;pre tabindex="0">&lt;code>ERROR:
 Code: InvalidArgument
 Message: 输入键/键前缀 &amp;#39;bad||keyname&amp;#39; 不能包含 &amp;#39;||&amp;#39;
&lt;/code>&lt;/pre>&lt;h2 id="更丰富的-grpc-错误模型">更丰富的 gRPC 错误模型&lt;/h2>
&lt;p>&lt;a href="https://grpc.io/docs/guides/error/#richer-error-model">更丰富的 gRPC 错误模型&lt;/a> 通过提供关于错误的额外上下文和详细信息来扩展标准错误模型。此模型包括标准错误 &lt;code>code&lt;/code> 和 &lt;code>message&lt;/code>，以及一个 &lt;code>details&lt;/code> 部分，可以包含各种类型的信息，如 &lt;code>ErrorInfo&lt;/code>、&lt;code>ResourceInfo&lt;/code> 和 &lt;code>BadRequest&lt;/code> 详细信息。&lt;/p>
&lt;p>&lt;strong>更丰富的 gRPC 错误响应示例：&lt;/strong>&lt;/p>
&lt;pre tabindex="0">&lt;code>ERROR:
 Code: InvalidArgument
 Message: 输入键/键前缀 &amp;#39;bad||keyname&amp;#39; 不能包含 &amp;#39;||&amp;#39;
 Details:
 1)	{
 	 &amp;#34;@type&amp;#34;: &amp;#34;type.googleapis.com/google.rpc.ErrorInfo&amp;#34;,
 	 &amp;#34;domain&amp;#34;: &amp;#34;dapr.io&amp;#34;,
 	 &amp;#34;reason&amp;#34;: &amp;#34;DAPR_STATE_ILLEGAL_KEY&amp;#34;
 	}
 2)	{
 	 &amp;#34;@type&amp;#34;: &amp;#34;type.googleapis.com/google.rpc.ResourceInfo&amp;#34;,
 	 &amp;#34;resourceName&amp;#34;: &amp;#34;statestore&amp;#34;,
 	 &amp;#34;resourceType&amp;#34;: &amp;#34;state&amp;#34;
 	}
 3)	{
 	 &amp;#34;@type&amp;#34;: &amp;#34;type.googleapis.com/google.rpc.BadRequest&amp;#34;,
 	 &amp;#34;fieldViolations&amp;#34;: [
 	 {
 	 &amp;#34;field&amp;#34;: &amp;#34;bad||keyname&amp;#34;,
 	 &amp;#34;description&amp;#34;: &amp;#34;输入键/键前缀 &amp;#39;bad||keyname&amp;#39; 不能包含 &amp;#39;||&amp;#39;&amp;#34;
 	 }
 	 ]
 	}
&lt;/code>&lt;/pre>&lt;p>对于 HTTP 客户端，Dapr 会将 gRPC 错误模型转换为类似的 JSON 格式结构。响应包括一个 &lt;code>errorCode&lt;/code>、一个 &lt;code>message&lt;/code> 和一个 &lt;code>details&lt;/code> 数组，反映了更丰富的 gRPC 模型中的结构。&lt;/p></description></item></channel></rss>