`HeadObject` メソッドを使用すると、オブジェクトのコンテンツを含まずにメタデータを取得できます。
注意事項
オブジェクトのメタデータは、オブジェクトのプロパティを記述します。これには、標準の HTTP ヘッダーとユーザー定義のメタデータが含まれます。標準の HTTP ヘッダーを設定して、オブジェクトのキャッシュポリシーや強制ダウンロードポリシーなどの HTTP リクエストポリシーを定義できます。また、ユーザー定義のメタデータを設定して、オブジェクトの目的やプロパティを識別することもできます。詳細については、「オブジェクトのメタデータ」をご参照ください。
OSS Android SDK は、オブジェクトのメタデータの設定や変更をサポートしていません。
このトピックのサンプルコードを実行する前に、カスタムドメイン名の使用や Security Token Service (STS) などの方法で `OSSClient` インスタンスを作成する必要があります。詳細については、「初期化 (Android SDK)」をご参照ください。
サンプルコード
次のコードは、オブジェクトのメタデータを取得する方法を示しています。
// オブジェクトのメタデータを同期的に取得するリクエストを作成します。
// バケット名 (例: examplebucket) とオブジェクトの完全なパス (例: exampledir/exampleobject.txt) を指定します。完全なパスにバケット名を含めることはできません。
HeadObjectRequest head = new HeadObjectRequest("examplebucket", "exampledir/exampleobject.txt");
// オブジェクトのメタデータを取得します。
OSSAsyncTask task = oss.asyncHeadObject(head, new OSSCompletedCallback<HeadObjectRequest, HeadObjectResult>() {
@Override
public void onSuccess(HeadObjectRequest request, HeadObjectResult result) {
// オブジェクトの長さを取得します。
Log.d("headObject", "object Size: " + result.getMetadata().getContentLength());
// オブジェクトタイプを取得します。
Log.d("headObject", "object Content Type: " + result.getMetadata().getContentType());
}
@Override
public void onFailure(HeadObjectRequest request, ClientException clientExcepion, ServiceException serviceException) {
// リクエストの例外。
if (clientExcepion != null) {
// ネットワークエラーなど、クライアントの例外が発生しました。
clientExcepion.printStackTrace();
}
if (serviceException != null) {
// サーバーの例外が発生しました。
Log.e("ErrorCode", serviceException.getErrorCode());
Log.e("RequestId", serviceException.getRequestId());
Log.e("HostId", serviceException.getHostId());
Log.e("RawMessage", serviceException.getRawMessage());
}
}
});
// task.waitUntilFinished(); // タスクが完了するまで待ちます。関連ドキュメント
オブジェクトのメタデータを取得する API 操作の詳細については、「GetObjectMeta」をご参照ください。
`OSSClient` インスタンスを初期化する方法の詳細については、「Android の OSSClient インスタンスの初期化」をご参照ください。