シンプルアップロードでは、`PutObject` メソッドを使用して、オブジェクトと呼ばれる単一のファイルをアップロードします。シンプルアップロードを使用して、ローカルファイルまたはバイナリ byte[] 配列をアップロードできます。
注意事項
このトピックのサンプルコードを実行する前に、カスタムドメイン名やセキュリティトークンサービス (STS) などの方法を使用して `OSSClient` インスタンスを作成する必要があります。詳細については、「初期化 (Android SDK)」をご参照ください。
権限
デフォルトでは、Alibaba Cloud アカウントは完全な権限を持っています。Alibaba Cloud アカウント下の RAM ユーザーまたは RAM ロールは、デフォルトではいかなる権限も持っていません。Alibaba Cloud アカウントまたはアカウント管理者は、RAM ポリシーまたはバケットポリシーを通じて操作権限を付与する必要があります。
API | アクション | 定義 |
PutObject |
| オブジェクトをアップロードします。 |
| オブジェクトのアップロード時に | |
| オブジェクトをアップロードする際に、オブジェクトのメタデータに | |
|
ローカルファイルのアップロード
ローカルファイルを OSS に同期または非同期でアップロードできます。
バイナリ byte[] 配列のアップロード
次のコードは、バイナリ byte[] 配列を、examplebucket バケット内の exampledir/ フォルダに exampleobject.txt という名前のオブジェクトとして同期的にアップロードする方法を示しています。
byte[] uploadData = new byte[100 * 1024];
new Random().nextBytes(uploadData);
// アップロードリクエストを作成します。
// バケット名 (例: examplebucket) とオブジェクトの完全なパス (例: exampledir/exampleobject.txt) を指定します。
// オブジェクトの完全なパスにバケット名を含めることはできません。
PutObjectRequest put = new PutObjectRequest("examplebucket", "exampledir/exampleobject.txt", uploadData);
try {
PutObjectResult putResult = oss.putObject(put);
Log.d("PutObject", "UploadSuccess");
Log.d("ETag", putResult.getETag());
Log.d("RequestId", putResult.getRequestId());
} catch (ClientException e) {
// クライアント例外 (ネットワーク例外など)。
e.printStackTrace();
} catch (ServiceException e) {
// サーバー例外。
Log.e("RequestId", e.getRequestId());
Log.e("ErrorCode", e.getErrorCode());
Log.e("HostId", e.getHostId());
Log.e("RawMessage", e.getRawMessage());
}関連ドキュメント
シンプルアップロードの完全なサンプルコードについては、GitHub の例をご参照ください。
シンプルアップロードの API 操作の詳細については、「PutObject」をご参照ください。
`OSSClient` インスタンスの初期化方法の詳細については、「Android 用 OSSClient インスタンスの初期化」をご参照ください。