edit-icon download-icon

クイックスタート

最終更新日: May 17, 2018

基本的なファイルのアップロードとダウンロードのプロセスを以下に示します。詳細については、このプロジェクトの以下のディレクトリを参照してください。

iosデモ:詳細についてここをクリック

mac demo:詳細についてここをクリック

迅速なデモ:詳細についてここをクリック

テストケース(API の使用方法を参照):詳細についてここをクリック

git clone project を実行して、以下のように必要なパラメータを設定することもできます:
config

次に、次のようにデモを実行します。
sample

ステップ 1. OSSClient を初期化する

初期化プロセスには、主に、エンドポイント設定、認証モード設定、およびクライアントパラメータ設定の各ステップが含まれます。プレーンテキスト設定モード、自己署名モード、および STS 認証モードの 3 つの認証モードが利用できます。

STS 認証を使用するには、Resource Access Managementを参照して RAM の詳細を確認してください。RAM サービスを有効にし、RAM サービスを学習し、サブアカウントの AccessKeyId、SecretKeyId、および RoleArn を取得する方法を学習したと仮定します。

AccessKeyId、SecretKeyId、および RoleArn のパラメータ情報をスクリプトファイル。Python でローカルの HTTP サービスを有効にすることができます。クライアントコードを使用してローカルサービスにアクセスし、StsToken.AccessKeyId、StsToken.SecretKeyId および StsToken.SecurityToken を取得します。

詳細については、サンプルの STS 命令を参照してください。クリックして詳細を表示

  1. NSString *endpoint = "https://oss-cn-hangzhou.aliyuncs.com";
  2. // We recommend that you initialize OSSClient using STS on the mobile device. For more information, see STS instructions in the sample (https://github.com/aliyun/aliyun-oss-ios-sdk/tree/master/DemoByOC).
  3. id<OSSCredentialProvider> credential = [[OSSStsTokenCredentialProvider alloc] initWithAccessKeyId:@"AccessKeyId" secretKeyId:@"AccessKeySecret" securityToken:@"SecurityToken"];
  4. client = [[OSSClient alloc] initWithEndpoint:endpoint credentialProvider:credential];

OSSClient を使用したアップロードおよびダウンロード要求の初期化はスレッドセーフです。複数のタスクを同時に実行できます。

ステップ 2. ファイルをアップロードする

すでにバケットを OSS コンソールに持っていると仮定します。SDK に関連する操作ごとにOSSTaskが返されます。タスクの継続アクションを設定するか、waitUntilFinishedブロックを呼び出して、タスクの非同期が完了するまで待つことができます。

  1. OSSPutObjectRequest * put = [OSSPutObjectRequest new];
  2. put.bucketName = @"<bucketName>";
  3. put.objectKey = @"<objectKey>";
  4. put.uploadingData = <NSData *>; // Upload NSData directly
  5. put.uploadProgress = ^(int64_t bytesSent, int64_t totalByteSent, int64_t totalBytesExpectedToSend) {
  6. NSLog(@"%lld, %lld, %lld", bytesSent, totalByteSent, totalBytesExpectedToSend);
  7. };
  8. OSSTask * putTask = [client putObject:put];
  9. [putTask continueWithBlock:^id(OSSTask *task) {
  10. if (!task.error) {
  11. NSLog(@"upload object success!");
  12. } else {
  13. NSLog(@"upload object failed, error: %@" , task.error);
  14. }
  15. return nil;
  16. }];
  17. // Wait until the task is complete
  18. // [putTask waitUntilFinished];

ステップ 3. 指定したファイルをダウンロードする

指定したobjectNSDataとしてダウンロードします

  1. OSSGetObjectRequest * request = [OSSGetObjectRequest new];
  2. request.bucketName = @"<bucketName>";
  3. request.objectKey = @"<objectKey>";
  4. request.downloadProgress = ^(int64_t bytesWritten, int64_t totalBytesWritten, int64_t totalBytesExpectedToWrite) {
  5. NSLog(@"%lld, %lld, %lld", bytesWritten, totalBytesWritten, totalBytesExpectedToWrite);
  6. };
  7. OSSTask * getTask = [client getObject:request];
  8. [getTask continueWithBlock:^id(OSSTask *task) {
  9. if (!task.error) {
  10. NSLog(@"download object success!");
  11. OSSGetObjectResult * getResult = task.result;
  12. NSLog(@"download result: %@", getResult.downloadedData);
  13. } else {
  14. NSLog(@"download object failed, error: %@" ,task.error);
  15. }
  16. return nil;
  17. }];
  18. // Use a blocking call to wait until the task is complete
  19. // [task waitUntilFinished];

MAC

MAC デモは、iOS デモと同じですが、インポート方法は下記の通りです。

  1. import <AliyunOSSOSX/AliyunOSSiOS.h>