Files
dify-docs/ja/api-reference/guides/errors.mdx
2026-07-09 16:42:38 +08:00

62 lines
4.2 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: エラーとレート制限の処理
sidebarTitle: エラーとレート制限
description: エラーレスポンスの共通構造、ステータスクラスごとの意味、再試行に値する失敗の見分け方
---
> このドキュメントは AI によって自動翻訳されています。不正確な部分がある場合は、[英語版](/en/api-reference/guides/errors) を参照してください。
記載されているエラーは、いずれも同じ 3 フィールドの JSON 構造で返ります。
```json
{
"code": "invalid_param",
"message": "user is required",
"status": 400
}
```
`status` は HTTP ステータスと同じ値です。`code` は分岐処理に使える安定した識別子で、`message` は人間が読むための詳細です。各エンドポイントページには、返る可能性のある `code` がすべて記載されています。
## ステータスクラスの概要
| ステータス | 意味 | 主な `code` |
|:-----------|:-----|:------------|
| 400 | リクエストまたはアプリの設定が無効 | `invalid_param`、`bad_request`、`app_unavailable`、プロバイダーエラー(後述) |
| 401 | API キーの欠落または無効 | `unauthorized` |
| 403 | このキーでは実行できない操作(アクセス制限またはプラン制限) | `forbidden` |
| 404 | リソースが存在しないか、このキーまたは `user` からは見えない | `not_found` |
| 413 / 415 | ファイルが大きすぎるか、サポート外のタイプ | `file_too_large`、`unsupported_file_type` |
| 429 | 現在のリクエストが多すぎるか、クォータを使い切った | `too_many_requests`、`rate_limit_error` |
| 500 | Dify 側での失敗 | `internal_server_error` |
## プロバイダーエラーは設定の問題
よくある 4 つの 400 `code` は、リクエストではなくアプリのモデル設定の問題を示します。
- `provider_not_initialize`:有効なモデル認証情報がない
- `provider_quota_exceeded`:モデルプロバイダー側のクォータを使い切った
- `model_currently_not_support`:モデルが現在サポートされていない
- `completion_request_error`:テキスト生成リクエストの実行中にエラーが発生した
これらのエラーは再試行しても解決しません。Dify でアプリのモデル設定を修正してください。
## レート制限とクォータ
2 つの 429 `code` は意味が異なります。
- `too_many_requests` は同時実行数の上限です。このアプリへの同時リクエストが今は多すぎる状態です。バックオフして再試行してください。
- `rate_limit_error` は Dify Cloud のプランクォータです(ワークフロー実行回数など)。再試行では解消されず、クォータ期間のリセットかプラン変更で解消します。
Dify Cloud では、ナレッジ系の書き込みエンドポイントもプラン制限を `403` レスポンスとして返します。`code` はアクセス制限と同じ `forbidden` のため、プラン制限かどうかは `message` でしか判別できません。403 の処理を `code` だけで分岐させないでください。
## ストリーム内のエラー
ストリームが開いた時点で、HTTP ステータスはすでに `200` です。失敗は `error` イベントとして届き、ストリームを終了させます。イベントの `code` の値はこのページに記載のものと同じで、同じルールで分類できます。詳細は [ストリーミングレスポンスの処理](/ja/api-reference/guides/streaming) を参照してください。
## 再試行の判断
- **バックオフして再試行**`too_many_requests`、`500`、ネットワーク障害。
- **そのまま再試行しない**:バリデーションエラー(まずリクエストを修正)、認可の失敗、クォータエラー(クォータがリセットされるまで解消しない)。
- **再試行ではなく修正**:再開呼び出しの `404` は、`user` の誤りか実行が存在しないことを意味します。再試行せず、識別子を修正してください。