すべてのプロダクト
Search
ドキュメントセンター

Object Storage Service:アップロードコールバック (iOS SDK)

最終更新日:Nov 30, 2025

このトピックでは、アップロードコールバックの設定方法について説明します。

注意事項

  • このトピックのサンプルコードを実行する前に、カスタムドメイン名や Security Token Service (STS) などを使用して OSSClient インスタンスを作成する必要があります。 詳細については、初期化 (iOS SDK) をご参照ください。

    説明

    バケットのリージョンは、初期化時に指定されたエンドポイントによって決まります。

  • オブジェクトをアップロードするには、oss:PutObject 権限が必要です。 詳細については、RAM ユーザーへのカスタムポリシーのアタッチをご参照ください。

サンプルコード

次のサンプルコードは、アップロードコールバックを設定する方法の例を示しています。

OSSPutObjectRequest * request = [OSSPutObjectRequest new];
// バケット名を指定します。 例:examplebucket
request.bucketName = @"examplebucket";
// オブジェクトの完全なパスを指定します。 完全なパスにバケット名を含めないでください。 例:exampledir/exampleobject.txt
request.objectKey = @"exampledir/exampleobject.txt";
request.uploadingFileURL = [NSURL fileURLWithPath:@"<filepath>"];
// コールバックパラメーターを設定します。
request.callbackParam = @{
                          @"callbackUrl": @"<your server callback address>",
                          @"callbackBody": @"<your callback body>"
                          };
// カスタム変数を指定します。
request.callbackVar = @{
                        @"<var1>": @"<value1>",
                        @"<var2>": @"<value2>"
                        };
request.uploadProgress = ^(int64_t bytesSent, int64_t totalByteSent, int64_t totalBytesExpectedToSend) {
    NSLog(@"%lld, %lld, %lld", bytesSent, totalByteSent, totalBytesExpectedToSend);
};
OSSTask * task = [client putObject:request];
[task continueWithBlock:^id(OSSTask *task) {
    if (task.error) {
        OSSLogError(@"%@", task.error);
    } else {
        OSSPutObjectResult * result = task.result;
        NSLog(@"Result - requestId: %@, headerFields: %@, servercallback: %@",
              result.requestId,
              result.httpResponseHeaderFields,
              result.serverReturnJsonString);
    }
    return nil;
}];
// 同期ブロッキングを実装して、タスクが完了するのを待ちます。
// [task waitUntilFinished]; 

関連ドキュメント

  • アップロードコールバックを設定するために使用される完全なサンプルコードについては、GitHub をご参照ください。

  • アップロードコールバックを設定するために呼び出すことができる API 操作の詳細については、コールバックをご参照ください。