OSS PHP SDK の例外 (OssException) には、無効なパラメーターやファイルの欠落など、さまざまなエラーが含まれます。 エラーメッセージを取得するには、getMessage メソッドを使用します。
OssException の詳細については、『GitHub』をご参照ください。
例外処理の例
次のコードは、既存のバケットを作成するときに例外を処理する方法を示し、エラーメッセージを出力します。
try {
$ossClient->createBucket($bucket);
} catch (OssException $e) {
print("Exception:" . $e->getMessage() . "\n");
}
以下の情報も取得できます。
パラメーター | 説明 |
---|---|
HTTPStatus | HTTP status code. getHTTPStatus メソッドを使ってステータスコードを取得します。 |
ErrorCode | OSS から返されたエラーコードを指定します。 エラーコードは getErrorCode メソッドを使用して取得します。 |
ErrorMessage | OSS から返されるエラーメッセージを指定します。 getErrorMessage メソッドを使用してエラーメッセージを取得します。 |
RequestId | UUID を指定します。 これは固有のものであり、リクエストを識別するために使用されます。 問題が解決しない場合は、OSS 開発者に RequestId を送ってヘルプを求めてください。 getRequestId メソッドを使用して RequestId を取得します。 |
Details | OSS から返される詳細なエラーメッセージを指定します。 getDetails メソッドを使用して詳細なエラーメッセージを取得します。 |
一般的な OSS エラーコード
エラーコード | 説明 | HTTP ステータスコード |
---|---|---|
AccessDenied | アクセスが拒否されました。 | 403 |
BucketAlreadyExists | バケットが既に存在します。 | 409 |
BucketNotEmpty | バケットは空ではありません。 | 409 |
EntityTooLarge | エンティティサイズが上限を超えています。 | 400 |
EntityTooSmall | エンティティサイズが最小制限を下回っています。 | 400 |
FileGroupTooLarge | ファイルグループの合計サイズが上限を超えています。 | 400 |
FilePartNotExist | そのようなパーツはありません。 | 400 |
FilePartStale | そのパーツは期限切れです。 | 400 |
InvalidArgument | パラメーターの形式が無効です。 | 400 |
InvalidAccessKeyId | そのような AccessKeyId は存在しません。 | 403 |
InvalidBucketName | バケット名が無効です。 | 400 |
InvalidDigest | ダイジェストが無効です。 | 400 |
InvalidObjectName | オブジェクト名が無効です。 | 400 |
InvalidPart | そのパーツは無効です。 | 400 |
InvalidPartOrder | パーツオーダーが無効です。 | 400 |
InvalidTargetBucketForLogging | ログファイルを格納するバケットが無効です。 | 400 |
InternalError | OSS のエラーです。 | 500 |
MalformedXML | XML 形式が無効です。 | 400 |
MethodNotAllowed | このメソッドはサポートされていません。 | 405 |
MissingArgument | パラメーターが設定されていません。 | 411 |
MissingContentLength | コンテンツの長さが設定されていません。 | 411 |
NoSuchBucket | そのようなバケットは存在しません。 | 404 |
NoSuchKey | そのようなオブジェクト (キー) は存在しません。 | 404 |
NoSuchUpload | そのような uploadId は存在しません。 | 404 |
NotImplemented | そのメソッドは実装されていません。 | 501 |
PreconditionFailed | 事前条件のエラーです。 | 412 |
RequestTimeTooSkewed | OSSClient に設定された現地時間が、OSS サーバーに設定された時間から 15 分以上ずれています。 | 403 |
RequestTimeout | リクエストはタイムアウトしました。 | 400 |
SignatureDoesNotMatch | 署名が間違っています。 | 403 |
InvalidEncryptionAlgorithmError | 指定された暗号化アルゴリズム (エントロピー符号化タイプ) が無効です。 | 400 |