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

Object Storage Service:ストリーミングダウンロード

最終更新日:Dec 19, 2023

大きなオブジェクトをダウンロードする必要がある場合、またはダウンロードの完了に長い時間がかかる場合は、ストリーミングダウンロードを実行して、オブジェクトを増分単位でダウンロードできます。

OSS SDK for iOSは、ストリーミングダウンロードAPIを提供していません。 代わりに、NSURLSessionライブラリのdidRecieveData関数に似たマルチパートコールバック機能を提供します。 マルチパートコールバックが設定されている場合、ダウンロード結果に実際のデータは含まれません。

次のコードは、ストリーミングダウンロードを使用してオブジェクトをダウンロードする方法の例を示しています。

OSSGetObjectRequest * request = [OSSGetObjectRequest new];
// バケットの名前を指定します。 例: examplebucket. 
request.bucketName = @ "examplebucket";
// オブジェクトのフルパスを指定します。 フルパスにバケット名を含めることはできません。 例: exampledir/exampleobject.txt。 
request.objectKey = @ "exampledir/exampleobject.txt";
// マルチパートコールバック関数を設定します。 
request.onRecieveData = ^(NSData * data) {
    NSLog(@ "Recieve data, length: % ld", [data length]);
};
OSSTask * getTask = [client getObject:request];
[getTask continueWithBlock:^ id(OSSTask * task) {
    if (!task.error) {
        NSLog(@ "オブジェクトのダウンロード成功!");
    } else {
        NSLog(@ "オブジェクトのダウンロードに失敗、エラー: % @" 、task.error);
    }
    nilを返します。}];
// [getTask waitUntilFinished];
// [リクエストキャンセル]; 

参考資料

ストリーミングダウンロードを実行するために呼び出すことができるAPI操作の詳細については、「GetObject」をご参照ください。