4. API エラーのトラブルシューティング
表1 API エラー
| コード | 説明 | 解決方法 |
|---|---|---|
| 400 | BadRequest エラー | API 呼び出しを正しく入力し、再度検証。 |
| 401 | 認可されていない | 新しい認可トークンを生成。 |
| 403 | 禁止されている | 新しい認可トークンを生成。 |
| 404 | 見つからない | リソースが見つからないか、存在しない。 |
| 429 | 要求が多すぎる | 要求頻度を減らす。 |
| 500 | 内部サーバーエラー | この問題は、Red Hat サイトで発生。1 分待ってから再要求。 |
4.1. エラー 403 のトラブルシューティング
403 エラーは認証されていないというエラーで、Red Hat Subscription Management API に使用している認証が失敗したことを意味します。試すことができる解決策は 2 つあります。
手順
Red Hat Subscription Management ゲートウェイ経由で認証を行うには、API 呼び出しを入力する前に、認可ヘッダーに bearer のテキストが含まれるようにします。
curl -H "Authorization: Bearer <token>" <api_url>
- ヘッダーが正しい場合は、新しいトークンを作成します。更新トークンは 5 分間持続します。
4.2. エラー 429 のトラブルシューティング
エラー 429 は帯域制限エラーです。つまり、お使いのアカウントで 1 秒間で許容される要求の数を超えています。この制限は、1 つの Red Hat アカウントに含まれるすべてのユーザーに適用されます。
手順
レスポンスのヘッダーを抽出します。これには、* X-RateLimit-Limit: (許可される要求の合計/秒) * X-RateLimit-Remaining: (要求の数/残りの秒 (これは負の整数になります)) * X-RateLimit-Delay: (リクエスターが再試行するまで待機する秒数) が含まれます。
X-RateLimit-Limit 値に対する要求の帯域を調整し、X-RateLimit-Delay 時間が経過したら再度開始します。