オブジェクトは、Object storage Service (OSS) のデータストレージの基本単位です。 OSSはすべての要素をオブジェクトとしてバケットに格納し、オブジェクトの格納に階層構造を使用しません。
オブジェクト型
オブジェクトは、作成方法に基づいて3つのタイプに分類できます。 次の表に、3つのタイプを示します。
オブジェクトのタイプを変更することはできません。 たとえば、通常のオブジェクトをマルチパートオブジェクトや追加可能オブジェクトに変換することはできません。
型 | 定義 | 説明 |
正常 | このタイプのオブジェクトは、簡易アップロードを使用して作成されます。 |
|
マルチパート | このタイプのオブジェクトは、マルチパートアップロードを使用して作成されます。 |
|
追加可能 | このタイプのオブジェクトは、追加アップロードを使用して作成されます。 | コンテンツは追加可能なオブジェクトにのみ追加できます。 |
Symlink | PutSymlinkを使用して生成されたシンボリックリンク | OSSバケット内のオブジェクトに即座にアクセスするためのシンボリックリンクの作成。 |
マーカーの削除 | オブジェクトのバージョンIDが指定されていない場合にDeleteObjectリクエストを使用して生成されたマーカーを削除する | バージョン管理ステータスが有効または一時停止されているバケット内のオブジェクトに送信されるDeleteObjectリクエストでバージョンIDを指定しない場合、オブジェクトは削除されません。 代わりに、OSSは、データ復旧のためにオブジェクトの現在のバージョンとなる削除マーカーを挿入します。 |
オブジェクト情報
オブジェクトは次の情報で構成されます。
キー: オブジェクトの名前。 オブジェクトキーを使用してオブジェクトを照会できます。
データ: オブジェクトに格納されているコンテンツ。 コンテンツの長さは限定されない。
バージョンID: オブジェクトバージョンのID。 バージョン管理されたバケットにオブジェクトをアップロードすると、オブジェクトのバージョンIDが生成されます。
オブジェクトメタデータ: オブジェクトのメタデータ。 オブジェクトメタデータは、オブジェクトが最後に変更された時刻やオブジェクトサイズなど、オブジェクトの属性を定義するキーと値のペアのセットです。 オブジェクトメタデータにカスタム情報を追加できます。
関連する API
次の表に、オブジェクトに対して実行できる操作を示します。
API 操作 | 説明 |
シンプルアップロードを使用すると、PutObject操作を呼び出して、サイズが5 GB未満の単一のオブジェクトをアップロードできます。 シンプルアップロードは、オブジェクトを単一のHTTPリクエストでアップロードできるシナリオに適しています。 | |
マルチパートアップロードを実行して、アップロードするオブジェクトを複数のパーツに分割し、パーツを個別にアップロードできます。 パーツがアップロードされたら、CompleteMultipartUpload操作を呼び出して、これらのパーツを完全なオブジェクトに結合できます。 | |
再開可能アップロードを使用してオブジェクトをOSSにアップロードする場合、チェックポイントファイルを指定できます。 チェックポイントファイルには、再開可能なアップロードタスクの進行状況が格納されます。 ネットワーク例外またはプログラムエラーのためにオブジェクトのアップロードに失敗した場合、チェックポイントファイルに記録された進行状況に基づいてアップロードタスクが再開され、残りのデータがアップロードされます。 | |
オブジェクトがアップロードされた後、OSSはアプリケーションサーバーにコールバック要求を送信できます。 アップロードコールバックを設定するには、必要なコールバックパラメーターをOSSに送信されるアップロードリクエストに追加するだけです。 | |
直接クライアントアップロードを実行することで、クライアントからOSSに直接データをアップロードできます。 ダイレクトクライアントアップロードソリューションは、アプリケーションサーバーとの間でオブジェクトを転送する必要をなくすことにより、アップロードを高速化し、アプリケーションサーバーのリソース使用量を削減します。 | |
PostObject操作を呼び出して、HTMLフォームを使用して最大5 GBのサイズのオブジェクトをアップロードできます。 | |
追加アップロードを実行して、追加可能オブジェクトにコンテンツを追加できます。 | |
H.264エンコードされたビデオストリームとAAC (Advanced Audio Coding) エンコードされたオーディオストリームを、RTMP (Real-Time Messaging Protocol) を介してOSSに取り込むことができます。 OSSにアップロードされたオーディオおよびビデオデータは、オンデマンドで再生したり、遅延に敏感なシナリオでライブストリーミングに使用したりできます。 | |
シンプルダウンロードでは、GetObject操作を呼び出してオブジェクトをダウンロードできます。 シンプルダウンロードは、オブジェクトを単一のHTTPリクエストでダウンロードできるシナリオに適しています。 | |
オブジェクトの特定の位置からデータをダウンロードできます。 ラージオブジェクトをダウンロードする場合、オブジェクトを複数のパーツに分割し、異なる時点でパーツをダウンロードできます。 ダウンロードタスクが中断された場合は, 中断された位置からダウンロードタスクを再開できます。 | |
オブジェクト所有者のAccessKeyペアを公開せずに、サードパーティユーザーに一時的なアクセス資格情報または署名付きURLを提供することで、オブジェクトのダウンロードを許可できます。 | |
デフォルトでは、バケット内のオブジェクトを一覧表示すると、オブジェクトはアルファベット順に返されます。 バケット内のすべてのオブジェクト、名前に特定のプレフィックスが含まれているオブジェクト、または特定の数のオブジェクトをリストできます。 | |
オブジェクトのコンテンツを変更することなく、同じリージョン内のソースバケットからターゲットバケットにオブジェクトをコピーできます。 | |
バケット内のオブジェクトの名前を変更できます。 | |
オブジェクトをバケットにアップロードした後、ダウンロードやプレビューのためにオブジェクトのURLを第三者と共有できます。 | |
多数のオブジェクトがバケットに格納されている場合は、プレフィックスでオブジェクトを検索できます。 | |
ストレージクラスがCold ArchiveまたはDeep Cold Archiveであるオブジェクトは、復元後にのみ読み取ることができます。 | |
複数のメソッドを使用して、OSSのバケットから不要になったオブジェクトを削除できます。 | |
オブジェクトタグを設定して、オブジェクトを分類できます。 タグを使用すると、同じタグを持つオブジェクトのライフサイクルルールとACLを設定できます。 | |
シンボリックリンクを使用して、頻繁にアクセスされるオブジェクトにアクセスできます。 シンボリックリンクはオブジェクトを指し、オブジェクトにすばやくアクセスできます。 シンボリックリンクは、Windowsのショートカットに似ています。 | |
オブジェクトメタデータは、オブジェクトの属性を記述する。 メタデータは、標準HTTPヘッダおよびユーザメタデータを含む。 HTTPヘッダーを設定して、オブジェクトキャッシュポリシーや強制オブジェクトダウンロード用のポリシーなどのカスタムHTTPリクエストポリシーを作成できます。 ユーザーメタデータを設定して、オブジェクトの目的や属性を識別することもできます。 | |
クライアント、特にトラフィックスロットリングの実装が難しいクライアントを使用してOSSのオブジェクトにアクセスすると、大量の帯域幅が占有される可能性があります。 これは、OSSにアクセスする他のアプリケーションに影響します。 この問題を防ぐには、シングル接続帯域幅スロットリング機能を使用して、オブジェクトのアップロードやダウンロードなどの操作の帯域幅をスロットリングします。 これにより、OSSにアクセスする他のアプリケーション用に十分な帯域幅を確保できます。 | |
SelectObject操作を呼び出して、オブジェクトに対してSQL文を実行し、実行結果を取得できます。 | |
マルチパートアップロードを使用してオブジェクトをアップロードすると、オブジェクトは複数の小さなパーツに分割されます。 すべてのパーツがOSSサーバーにアップロードされたら、CompleteMultipartUpload操作を呼び出して、それらを完全なオブジェクトに結合できます。 | |
階層構造を使用する従来のファイルシステムと比較して、OSSのデータはフラット構造のオブジェクトとして格納されます。 OSS内のすべてのオブジェクトはバケットに保存されます。 OSSのディレクトリを使用して、オブジェクトを分類し、オブジェクトへのアクセスを簡単に管理できます。 |