バケット内のオブジェクトをクエリします。
使用上の注意
デフォルトでは、GetObject 操作は HTTP および HTTPS 経由のアクセスをサポートしています。HTTPS 経由でのみバケットへのアクセスを許可するには、バケットポリシーを設定してアクセス方法を指定します。詳細については、「バケットポリシーを設定して他のユーザーに OSS リソースへのアクセスを承認する」をご参照ください。
クエリするオブジェクトのストレージタイプがアーカイブの場合、GetObject 操作を呼び出す前に、RestoreObject リクエストを送信してオブジェクトをリストアする必要があります。リクエストがタイムアウトしないようにしてください。
権限の説明
デフォルトでは、Alibaba Cloud アカウントはすべての権限を持っています。Alibaba Cloud アカウント下の RAM ユーザーまたは RAM ロールは、最初は権限がありません。Alibaba Cloud アカウントまたは管理者は、RAM ポリシーまたはバケットポリシーを通じて操作権限を割り当てる必要があります。
API | アクション | 説明 |
GetObject |
| オブジェクトをダウンロードします。 |
| オブジェクトをダウンロードするときに、versionId を介してオブジェクトのバージョンが指定されている場合は、この操作の権限が必要です。 | |
| オブジェクトをダウンロードするときに、オブジェクトのメタデータに X-Oss-Server-Side-Encryption: KMS が含まれている場合は、この操作の権限が必要です。 |
コマンド構文
ossutil api get-object --bucket 値 --key 値 [flags]パラメーター | タイプ | 説明 |
--accept-encoding | string | クライアント側のエンコーディング方式。 |
--bucket | string | バケットの名前。 |
--if-match | string | リクエストで指定された ETag がオブジェクトの ETag と一致する場合、オブジェクトメタデータと 200 OK が返されます。それ以外の場合、412 Precondition Failed が返されます。 |
--if-modified-since | string | 指定された時刻がオブジェクトの最終更新時刻より前の場合、オブジェクトメタデータと 200 OK が返されます。それ以外の場合、304 Not Modified が返されます。 |
--if-none-match | string | 入力された ETag がオブジェクトの ETag と一致しない場合、オブジェクトメタデータと 200 OK が返されます。それ以外の場合、304 Not Modified が返されます。 |
--if-unmodified-since | string | 指定された時刻がオブジェクトの最終更新時刻以降の場合、オブジェクトメタデータと 200 OK が返されます。それ以外の場合、412 Precondition Failed が返されます。 |
--key | string | オブジェクトの完全なパス。 |
--range | stringArray | クエリするデータの範囲。 |
--response-cache-control | string | レスポンスで返される Cache-control ヘッダー。 |
--response-content-disposition | string | レスポンスで返される Content-disposition ヘッダー。 |
--response-content-encoding | string | レスポンスで返される Content-encoding ヘッダー。 |
--response-content-language | string | レスポンスで返される Content-language ヘッダー。 |
--response-expires | string | レスポンスで返される Expires ヘッダー。 |
--version-id | string | リストアするオブジェクトのバージョン ID。 |
get-object コマンドは GetObject 操作に対応します。GetObject 操作のパラメーターの詳細については、「GetObject」をご参照ください。
サポートされているグローバルコマンドラインオプションの詳細については、「グローバルコマンドラインオプション」をご参照ください。
例
examplebucketバケット内のexampleobjectオブジェクトをクエリします。ossutil api get-object --bucket examplebucket --key exampleobjectexamplebucketバケット内のバージョン ID が123のexampleobjectオブジェクトをクエリします。ossutil api get-object --bucket examplebucket --key exampleobject --version-id 123examplebucketバケット内のexampleobjectオブジェクトの特定のデータ範囲(1 バイト目から 10 バイト目まで)をクエリします。ossutil api get-object --bucket examplebucket --key exampleobject --range bytes=1-10examplebucketバケット内のexampleobjectオブジェクトをクエリします。exampleobjectオブジェクトの最終更新時刻がMon, 11 May 2020 08:16:23 GMTより前の場合、オブジェクトが返されます。ossutil api get-object --bucket examplebucket --key exampleobject --if-modified-since "Mon, 11 May 2020 08:16:23 GMT"examplebucketバケット内のexampleobjectオブジェクトをクエリします。exampleobjectオブジェクトのETagが123の場合、オブジェクトが返されます。ossutil api get-object --bucket examplebucket --key exampleobject --if-match 123examplebucketバケット内のexampleobjectオブジェクトをクエリし、GZIP 形式でオブジェクトを返します。ossutil api get-object --bucket examplebucket --key exampleobject --accept-encoding gzip
関連 API 操作
上記で説明したメソッドは、基本的に RESTful API に基づいて実装されています。ビジネスで高度なカスタマイズが必要な場合は、RESTful API を直接呼び出すことができます。API を直接呼び出すには、コードに署名計算を含める必要があります。詳細については、「GetObject」をご参照ください。