すべてのプロダクト
Search
ドキュメントセンター

Object Storage Service:エラー処理

最終更新日:Dec 19, 2023

このトピックでは、OSS SDK for Cを使用するときにエラーを処理する方法について説明します。

例外処理

OSS SDK for Cを使用してリクエストを送信するときにエラーが発生した場合、対応するエラーメッセージがaos_status_sで返されます。 次の表に、aos_status_sで返されるエラーを示します。

エラーコード

説明

Type

code

エラーリクエストのHTTPステータスコード。

Integer

error_code

OSSから返されたエラーコード。

String

error_msg

OSSから返されたエラーメッセージ。

String

req_id

リクエストを識別する UUID

String

タイムアウト処理

返されたaos_status_tパラメーターのHTTPステータスコードが2xxでなく、error_codeが-992または-995の場合、接続またはリクエストはタイムアウトします。 リクエストを再度送信できます。

aos_status.hファイルでaos_should_retry(aos_status_t *) を使用して、返された値に基づいてエラーの再試行が必要かどうかを判断できます。 値1が返された場合は、エラーの再試行が必要です。

一般的なエラーコード

エラーコード

エラーメッセージ

HTTPステータスコード

AccessDenied

アクセスが拒否されました。

403

BucketAlreadyExists

バケットが既に存在します。

409

BucketNotEmpty

バケットが空ではありません。

409

EntityTooLarge

エンティティサイズが上限を超えています。

400

EntityTooSmall

エンティティサイズが下限を下回っています。

400

FileGroupTooLarge

ファイルグループのサイズが上限を超えています。

400

FilePartNotExist

部品は存在しません。

400

FilePartStale

オブジェクトパーツは有効期限切れです。

400

InvalidArgument

パラメーターの形式が無効です。

400

InvalidAccessKeyId

AccessKey IDが存在しません。

403

InvalidBucketName

バケット名が無効です。

400

InvalidDigest

ダイジェストが無効です。

400

InvalidObjectName

オブジェクト名が無効です。

400

InvalidPart

パーツが無効です。

400

InvalidPartOrder

部品シーケンスが無効です。

400

InvalidTargetBucketForLogging

ロギング用のバケットが無効です。

400

内部エラー

内部OSSエラーが発生しました。

500

MalformedXML

XML 形式が無効です。

400

MethodNotAllowed

メソッドがサポートされていません。

405

MissingArgument

一部の必須パラメーターが指定されていません。

411

MissingContentLength

コンテンツ長がありません。

411

NoSuchBucket

ユーザーは存在しません。

404

NoSuchKey

オブジェクトは存在しません。

404

NoSuchUpload

マルチパートアップロード ID が存在しません。

404

NotImplemented

そのメソッドは実装できません。

501

PreconditionFailed

前処理中にエラーが発生しました。

412

RequestTimeTooSkewed

OSSクライアントとOSSサーバーの時間偏差が15分を超えています。

403

RequestTimeout

リクエストがタイムアウトしました。

400

SignatureDoesNotMatch

署名エラーが発生しました。

403

TooManyBuckets

バケット数が上限を超えています。

400