HeadObject操作を呼び出して、オブジェクトのメタデータのみを照会できます。 この操作を呼び出すと、オブジェクトの内容は返されません。
使用上の注意
オブジェクトメタデータは、オブジェクトの属性を記述する。 メタデータは、標準HTTPヘッダおよびユーザメタデータを含む。 標準のHTTPヘッダーを使用して、キャッシュや強制ダウンロードなど、オブジェクトのHTTPリクエストポリシーを指定できます。 オブジェクトのユーザーメタデータを設定して、オブジェクトの目的または属性を識別できます。 詳細については、「オブジェクトメタデータの管理」をご参照ください。
Object Storage Service (OSS) SDK for Androidを使用してオブジェクトメタデータを設定または変更することはできません。
このトピックのサンプルコードを実行する前に、カスタムドメイン名やSecurity Token Service (STS) などの方法を使用してOSSClientインスタンスを作成する必要があります。 詳細については、「初期化」をご参照ください。
例
次のサンプルコードは、オブジェクトメタデータのクエリ方法の例を示しています。
// オブジェクトメタデータを同期クエリするリクエストを作成します。
// バケットの名前とオブジェクトの完全パスを指定します。 この例では、バケット名はexamplebucketで、オブジェクトの完全パスはexampledir/exampleobject.txtです。 オブジェクトのフルパスにバケット名を含めないでください。
HeadObjectRequest head = new HeadObjectRequest("examplebucket", "exampledir/exampleobject.txt");
// オブジェクトメタデータを照会します。
OSSAsyncTask task = oss.asyncHeadObject(head, new OSSCompletedCallback<HeadObjectRequest, HeadObjectResult>() {
@オーバーライド
public void onSuccess(HeadObjectRequestリクエスト, HeadObjectResult結果) {
// オブジェクトの長さを取得します。
Log.d("headObject", "object Size: " + result.getMetadata().getContentLength());
// オブジェクトの型を照会します。
Log.d("headObject", "object Content Type: " + result.getMetadata().getContentType());
}
@オーバーライド
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インスタンスを初期化する方法の詳細については、「初期化」をご参照ください。