Android SDK 向け Object Storage Service (OSS) は、指定されたオブジェクトがバケットに存在するかどうかを確認するための便利な同期 API を提供します。
注意事項
オブジェクトの存在有無を確認するには、
oss:GetObject権限が必要です。詳細については、「RAM ユーザーへのカスタムポリシーのアタッチ」をご参照ください。このトピックのサンプルコードを実行する前に、カスタムドメイン名や Security Token Service (STS) などのメソッドを使用して OSSClient インスタンスを作成する必要があります。詳細については、「初期化 (Android SDK)」をご参照ください。
例
次のサンプルコードは、examplebucket という名前のバケットに exampleobject.txt という名前のオブジェクトが存在するかどうかを確認する方法の例を示しています。
try {
// バケット名とオブジェクトの完全なパスを指定します。 この例では、バケット名は examplebucket で、オブジェクトの完全なパスは exampledir/exampleobject.txt です。 完全なパスにバケット名を含めないでください。
if (oss.doesObjectExist("examplebucket", "exampledir/exampleobject.txt")) {
Log.d("doesObjectExist", "object exist.");
} else {
Log.d("doesObjectExist", "object does not exist.");
}
} catch (ClientException e) {
// ネットワーク例外などのクライアント例外を処理します。
e.printStackTrace();
} catch (ServiceException e) {
// サービス例外を処理します。
Log.e("ErrorCode", e.getErrorCode());
Log.e("RequestId", e.getRequestId());
Log.e("HostId", e.getHostId());
Log.e("RawMessage", e.getRawMessage());
}関連ドキュメント
OSSClient インスタンスを初期化する方法の詳細については、「初期化 (Android SDK)」をご参照ください。
RAM ポリシーを設定してユーザーの権限を管理する方法の詳細については、「RAM ユーザーへのカスタムポリシーのアタッチ」をご参照ください。