edit-icon download-icon

PHP-SDK

最終更新日: May 31, 2017

概要

  • 概要
    • Object Storage Service (OSS) は、大容量、高セキュリティ、高費用対効果、高信頼性を誇る、Alibaba Cloud のクラウドストレージサービスです。いつでもどこでも、あらゆるインターネットデバイスから、ここで説明するシンプルな RESTful インターフェイスを使用してデータをアップロードおよびダウンロードできます。OSS を使用することで、大量のデータを扱うことが可能になり、マルチメディア共有 Web サイト、オンラインストレージ、個人用および企業用のデータバックアップなど、幅広いサービスを開発できます。

変更履歴

  • 2015.7.1

    • 応答本文の変換の設定を追加しました。OSS は現在 xml、配列、および json 形式をサポートしています。デフォルトの形式は XML です
    • copy_upload_part メソッドを追加しました。
    • STS のサポートを追加しました。
    • 署名 URL の $options パラメーターの場所を変更しました。
    • read_dir がループする問題を修正しました。*2015.3.30
    • リファラーとライフサイクルのインターフェイスを追加しました。ファイルによるアップロードおよびマルチパートアップロードに content-md5 チェックオプションを追加しました。
    • 文字列型のアップロードを直接取得する init_multipart_upload を追加しました。
    • batch_upload_file 関数の戻り値が元の空白値からブール値に調整されました。true は成功を示し、false は失敗を示します。
    • tsdk.class.php のツール関数の場所を調整しました。util/oss_util.class.php に配置しました。参照する必要がある場合は、OSSUtil:: を追加してこのファイルを参照してください。

    • バグ修正:

    • Copy オブジェクトのプロセスでヘッダーを編集できない問題を修正しました。
    • パートのアップロード中のカスタムアップロード構文エラーを修正しました。
    • アップロード中に office2007 ファイルの mimetype が正しく設定されない問題を修正しました。
    • batch_upload_file の実行中に空のディレクトリに遭遇するとシステムがタイムアウトして終了する問題を修正しました。

命名規則

  • バケット命名規則
    • 小文字のアルファベット、数字、ハイフン (-) のみを使用できます。
    • 先頭の文字は小文字のアルファベットまたは数字である必要があります。
    • 長さは 3 ~ 63 バイトでなければなりません。
  • オブジェクト命名規則
    • UTF-8 エンコーディングを使用します。
    • 長さは 1 ~ 1023 バイトでなければなりません。
    • “/“ または “\” で開始することはできません。
    • “\r” または “\n” の改行を含めることはできません。

事前依存関係チェック

  • PHP 拡張ライブラリの検出
    • 使用する前に curl、mbstring、SimpleXML、json、iconv などの拡張ライブラリが有効であることを確認してください。有効でない場合は、php.ini を変更して関係する拡張ライブラリを有効にしてください

リソースの初期化

  • ALIOSS の通常の初期化方法

    • 通常の状態においては、初期化では accessId、accessKey、endPoint などの情報を指定するだけです。また、必須の情報を入力する必要があります
  1. $access_id = "accessId を入力してください";
  2. $access_key = "accessKey を入力してください";
  3. $end_point = "運用クラスターのエンドポイント";
  4. $client = ALIOSS($access_id,$access_key,$end_point);
  5. //ドメイン名の形式で表示するかどうかを判断します。true の場合、データは http://bucket.domain/object のようなドメイン名の形式で表示されます。
  6. //false の場合、形式は http://domain/bucket/object です。
  7. $client->set_enable_domain_style(true);
  • STS を使用した ALIOSS の初期化
    • STS サービスを使用する場合、モバイル開発者は初期化中に STS API を呼び出して、一時的な accessId、accessKey、および securityToken を生成するだけで済みます。
  1. $access_id = "STS インターフェイスを呼び出して一時的な access_id を取得";
  2. $access_key = "STS インターフェイスを呼び出して一時的な access_key を取得";
  3. $end_point = "運用クラスターのエンドポイント";
  4. $security_token = "STS インターフェイスを呼び出して一時的な security_token を取得";
  5. $client = ALIOSS($access_id,$access_key,$end_point,$security_token);

バケット関連の操作

  • バケットリストの取得
    • サンプルコード
  1. $options = null;
  2. $response = $client->list_bucket($options);
  • パラメーターの説明
  1. $options: オプション
  • 応答結果

    1. 得られた応答を配列に変換することによって結果が得られます。次のようになります。
    2. Array(
    3. [status] => 200
    4. [header] => Array(
    5. [date] => Wed, 01 Jul 2015 09:21:15 GMT
    6. [content-type] => application/xml
    7. [content-length] => 6266
    8. [connection] => close
    9. [server] => AliyunOSS
    10. [x-oss-request-id] => 5593B10B58DB3AB752154A62
    11. )
    12. [body] => Array(
    13. [ListAllMyBucketsResult] => Array(
    14. [Owner] => Array (
    15. [ID] => 128257
    16. [DisplayName] => 128257
    17. )
    18. [Buckets] => Array(
    19. [Bucket] => Array(
    20. [0] => Array(
    21. [Location] => oss-cn-hangzhou
    22. [Name] => 33331111
    23. [CreationDate] => 2014-08-27T03:04:20.000Z
    24. )
    25. [1] => Array (
    26. [Location] => oss-cn-qingdao
    27. [Name] => a-00000000000000000001
    28. [CreationDate] => 2015-05-22T05:30:40.000Z
    29. )
    30. )
    31. )
    32. )
    33. )
    34. )
    • バケットの作成
  • サンプルコード
  1. $bucket_name = "バケット名";
  2. $acl = ALIOSS::OSS_ACL_TYPE_PRIVATE;
  3. $options = null;
  4. $response = $client->create_bucket($bucket_name,$acl,$options);
  • パラメーターの説明
  1. $bucket_name: 必須パラメーター。バケットの命名規則に準拠している必要があります。
  2. $acl: 必須パラメーター。それぞれ次の定数に対応する privatepublic-read、または public-read-write のいずれかの値である必要があります。
  3. ALIOSS::OSS_ACL_TYPE_PRIVATE
  4. ALIOSS::OSS_ACL_TYPE_PUBLIC_READ
  5. ALIOSS::OSS_ACL_TYPE_PUBLIC_READ_WRITE
  6. $options: オプション
  • 応答結果
  1. 得られた応答を配列に変換することによって結果が得られます。次のようになります。
  2. Array(
  3. [status] => 200
  4. [header] => Array(
  5. [date] => Wed, 01 Jul 2015 09:55:18 GMT
  6. [content-length] => 0
  7. [connection] => close
  8. [server] => AliyunOSS
  9. [x-oss-request-id] => 5593B906031C87E546154CC1
  10. )
  11. [body] =>
  12. )
  • バケットの削除
    • サンプルコード
  1. $bucket_name = "バケット名";
  2. $options = null;
  3. $response = $client->delete_bucket($bucket_name,$options);
  • パラメーターの説明
  1. $bucket_name: 必須パラメーター。バケットの命名規則に準拠している必要があります。
  2. $options: オプション
  • 応答結果
  1. 得られた応答を配列に変換することによって結果が得られます。次のようになります。
  2. Array(
  3. [status] => 204
  4. [header] => Array(
  5. [date] => Wed, 01 Jul 2015 10:08:45 GMT
  6. [content-length] => 0
  7. [connection] => close
  8. [server] => AliyunOSS
  9. [x-oss-request-id] => 5593BC2D58DB3AB752155156
  10. )
  11. [body] =>
  12. )
  • バケット ACL の取得
    • サンプルコード
  1. $bucket_name = "バケット名";
  2. $options = null;
  3. $response = $client->get_bucket_acl($bucket_name,$options);
  • パラメーターの説明
  1. $bucket_name: 必須パラメーター。バケットの命名規則に準拠している必要があります。
  2. $options: オプション
  • 応答結果
  1. 得られた応答を配列に変換することによって結果が得られます。次のようになります。
  2. Array(
  3. [status] => 200
  4. [header] => Array(
  5. [date] => Wed, 01 Jul 2015 10:17:41 GMT
  6. [content-type] => application/xml
  7. [content-length] => 239
  8. [connection] => close
  9. [server] => AliyunOSS
  10. [x-oss-request-id] => 5593BE45031C87E54615500F
  11. )
  12. [body] => Array(
  13. [AccessControlPolicy] => Array(
  14. [Owner] => Array(
  15. [ID] => 128257
  16. [DisplayName] => 128257
  17. )
  18. [AccessControlList] => Array(
  19. [Grant] => public-read
  20. )
  21. )
  22. )
  23. )
  • バケット ACL の設定
    • サンプルコード
  1. $bucket_name = "バケット名";
  2. $options = null;
  3. $response = $client->set_bucket_acl($bucket_name,$options);
  • パラメーターの説明
  1. $bucket_name: 必須パラメーター。バケットの命名規則に準拠している必要があります。
  2. $options: オプション
  • 応答結果
  1. 得られた応答を配列に変換することによって結果が得られます。次のようになります。
  2. Array(
  3. [status] => 200
  4. [header] => Array(
  5. [date] => Wed, 01 Jul 2015 11:08:31 GMT
  6. [content-length] => 0
  7. [connection] => close
  8. [server] => AliyunOSS
  9. [x-oss-request-id] => 5593CA2F031C87E5461557B5
  10. )
  11. [body] =>
  12. )

オブジェクト関連の操作

  • オブジェクトリストの取得
    • サンプルコード
  1. $bucket_name = 'バケット名';
  2. $options = array(
  3. 'delimiter' => '/',
  4. 'prefix' => '',
  5. 'max-keys' => 5,
  6. 'marker' => '',
  7. );
  8. $response = $client->list_object($$bucket_name,$options);
  • パラメーターの説明
  1. $bucket_name: 必須パラメーター。バケットの命名規則に準拠している必要があります。
  2. $options: 次に説明するオプション
  3. delimiter はオブジェクト名をグループ化するために使用する文字です。指定されたプレフィックスが名前に含まれ、delimiter 文字の間に最初に現れるすべてのオブジェクトは要素のグループとして使用されます。
  4. (CommonPrefixes)。
  5. prefix を指定すると、返されるオブジェクトキーにプレフィックスが付いている必要があります。プレフィックスを使用して照会を行うと、
  6. 返されるキーにもプレフィックスが含まれます。
  7. max-keys は、1 件のリクエストに対して返されるオブジェクトの最大数を制限します。指定されていない場合のデフォルト値は 100 です。max-keys の値は 1,000 以下にする必要があります。
  8. marker を指定すると、アルファベット順で marker より後の最初のエントリから結果を返すように設定されます。
  • 応答結果
  1. 得られた応答を配列に変換することによって結果が得られます。次のようになります。
  2. Array(
  3. [status] => 200
  4. [header] => Array(
  5. [date] => Thu, 02 Jul 2015 07:59:32 GMT
  6. [content-type] => application/xml
  7. [content-length] => 1466
  8. [connection] => close
  9. [server] => AliyunOSS
  10. [x-oss-request-id] => 5594EF64031C87E546160F24
  11. )
  12. [body] => Array(
  13. [ListBucketResult] => Array(
  14. [Name] => common-bucket
  15. [Prefix] =>
  16. [Marker] =>
  17. [MaxKeys] => 5
  18. [Delimiter] => /
  19. [IsTruncated] => true
  20. [NextMarker] => metro_driver.dll
  21. [Contents] => Array(
  22. [0] => Array(
  23. [Key] => chrome_elf.dll
  24. [LastModified] => 2015-07-01T03:44:58.000Z
  25. [ETag] => "78CE940FD1CCDF6F743EE1A9AED8AAD8"
  26. [Type] => Normal
  27. [Size] => 133960
  28. [StorageClass] => Standard
  29. [Owner] => Array(
  30. [ID] => 128257
  31. [DisplayName] => 128257
  32. )
  33. )
  34. [1] => Array(
  35. [Key] => delegate_execute.exe
  36. [LastModified] => 2015-06-29T09:18:41.000Z
  37. [ETag] => "37C49C4E0EC4E0D96B6EBBA2190E8824"
  38. [Type] => Normal
  39. [Size] => 692040
  40. [StorageClass] => Standard
  41. [Owner] => Array(
  42. [ID] => 128257
  43. [DisplayName] => 128257
  44. )
  45. )
  46. }
  47. [CommonPrefixes] => Array(
  48. [0] => Array(
  49. [Prefix] => common-folder/
  50. )
  51. [1] => Array(
  52. [Prefix] => common-folder2/
  53. )
  54. )
  55. )
  56. )
  57. )
  • シミュレーションフォルダーの作成
    • サンプルコード
  1. $bucket_name = 'バケット名';
  2. $dir_name = 'ディレクトリ名';
  3. $options = null;
  4. $response = $client->create_object_dir($bucket_name,$dir_name,$options);
  • パラメーターの説明
  1. $bucket_name: 必須パラメーター。バケットの命名規則に準拠している必要があります。
  2. $dir_name: 必須パラメーター。オブジェクトの命名規則に準拠している必要があります。
  3. $options: オプション。シミュレーションフォルダーにヘッダー 'Header' を設定する必要はありません。
  • 応答結果
  1. 得られた応答を配列に変換することによって結果が得られます。次のようになります。
  2. Array(
  3. [status] => 200
  4. [header] => Array(
  5. [date] => Thu, 02 Jul 2015 08:10:16 GMT
  6. [content-length] => 0
  7. [connection] => close
  8. [etag] => "D41D8CD98F00B204E9800998ECF8427E"
  9. [server] => AliyunOSS
  10. [x-oss-request-id] => 5594F1E8031C87E5461610B9
  11. )
  12. [body] =>
  13. )
  • ファイルのアップロード (コンテンツを直接指定)
    • サンプルコード
  1. $bucket_name = 'バケット名';
  2. $object_name = 'オブジェクト名';
  3. $content = 'オブジェクトのコンテンツ';
  4. $options = array(
  5. 'content' => $content,
  6. 'length' => strlen($content),
  7. ALIOSS::OSS_HEADERS => array(
  8. 'Expires' => 'Fri, 28 Feb 2012 05:38:42 GMT',
  9. 'Cache-Control' => 'no-cache',
  10. 'Content-Disposition' => 'attachment;filename=oss_download.log',
  11. 'Content-Encoding' => 'utf-8',
  12. 'Content-Language' => 'zh-CN',
  13. 'x-oss-server-side-encryption' => 'AES256',
  14. ),
  15. );
  16. $response = $obj->upload_file_by_content($bucket_name,$object_name,$options);
  • パラメーターの説明
  1. $bucket_name: 必須パラメーター。バケットの命名規則に準拠している必要があります。
  2. $object_name: 必須パラメーター。オブジェクトの命名規則に準拠している必要があります。
  3. $options: 必須パラメーター。アップロードに必要なさまざまな情報を指定します。詳細を次に示します。
  4. content: アップロードするオブジェクトのコンテンツ
  5. length: アップロードするオブジェクトのサイズ
  6. ALIOSS::OSS_HEADERS: オプションのパラメーター。指定した場合、このオブジェクトのメタ情報を示し、次のヘッダー情報を設定できます。
  7. Expires は有効期限です (ミリ秒単位)。
  8. Cache-Control はオブジェクトがダウンロードされる際の Web ページのキャッシュ動作を指定します。
  9. Content-Disposition はダウンロードされる際のオブジェクトの名前を指定します。
  10. Content-Encoding はオブジェクトがダウンロードされる際のコンテンツのエンコーディング形式を指定します。
  11. Content-Language はダウンロードされる際のオブジェクトの言語を指定します。
  12. x-oss-server-side-encryption OSS によってオブジェクトが作成される際に使用されるサーバー側の暗号化アルゴリズムを指定します。
  • 応答結果
  1. 得られた応答を配列に変換することによって結果が得られます。次のようになります。
  2. Array(
  3. [status] => 200
  4. [header] => Array(
  5. [date] => Thu, 02 Jul 2015 08:24:11 GMT
  6. [content-length] => 0
  7. [connection] => close
  8. [etag] => "9BA9EF6DDFBE14916FA2D3337B427774"
  9. [server] => AliyunOSS
  10. [x-oss-request-id] => 5594F52B031C87E5461612D1
  11. )
  12. [body] =>
  13. )
  • ファイルのアップロード (ファイルパスを指定)
    • サンプルコード
  1. $bucket_name = 'バケット名';
  2. $object_name = 'オブジェクト名';
  3. $file_path = "アップロードするファイルのパス";
  4. $options = array(
  5. ALIOSS::OSS_HEADERS => array(
  6. 'Expires' => 'Fri, 28 Feb 2012 05:38:42 GMT',
  7. 'Cache-Control' => 'no-cache',
  8. 'Content-Disposition' => 'attachment;filename=oss_download.gz',
  9. 'Content-Encoding' => 'utf-8',
  10. 'Content-Language' => 'zh-CN',
  11. 'x-oss-server-side-encryption' => 'AES256',
  12. ),
  13. );
  14. $response = $obj->upload_file_by_file($bucket,$object,$file_path,$upload_file_options);
  • パラメーターの説明
  1. $bucket_name: 必須パラメーター。バケットの命名規則に準拠している必要があります。
  2. $object_name: 必須パラメーター。オブジェクトの命名規則に準拠している必要があります。
  3. $file_path: 必須パラメーター。ファイルのパスを示します。
  4. $options: 必須パラメーター。アップロードに必要なさまざまな情報を指定します。詳細を次に示します
  5. content: アップロードするオブジェクトのコンテンツ
  6. length: アップロードするオブジェクトのサイズ
  7. ALIOSS::OSS_HEADERS: オプションのパラメーター。指定した場合、このオブジェクトのメタ情報を示し、次のヘッダー情報を設定できます。
  8. Expires は有効期限です (ミリ秒単位)
  9. Cache-Control はオブジェクトがダウンロードされる際の Web ページのキャッシュ動作を指定します。
  10. Content-Disposition はダウンロードされる際のオブジェクトの名前を指定します。
  11. Content-Encoding はオブジェクトがダウンロードされる際のコンテンツのエンコーディング形式を指定します。
  12. Content-Language はダウンロードされる際のオブジェクトの言語を指定します。
  13. x-oss-server-side-encryption OSS によってオブジェクトが作成される際に使用されるサーバー側の暗号化アルゴリズムを指定します。
  • 応答結果
  1. 得られた応答を配列に変換することによって結果が得られます。次のようになります。
  2. Array(
  3. [status] => 200
  4. [header] => Array(
  5. [date] => Thu, 02 Jul 2015 08:41:10 GMT
  6. [content-length] => 0
  7. [connection] => close
  8. [etag] => "4B12FF064A3BBFE0AE5A1314E77FF0DF"
  9. [server] => AliyunOSS
  10. [x-oss-request-id] => 5594F91358DB3AB7521617CA
  11. )
  12. [body] =>
  13. )
  • オブジェクトのコピー
    • サンプルコード
  1. $from_bucket = 'コピー元のバケット';
  2. $from_object = 'コピー元のオブジェクト';
  3. $to_bucket = 'コピー先のバケット';
  4. $to_object = 'コピー先のオブジェクト';
  5. $options = array(
  6. ALIOSS::OSS_HEADERS => array(
  7. 'x-oss-copy-source-if-match' => 'E024E425254F1EEDB237F69F854CE883',
  8. 'x-oss-copy-source-if-none-match' => 'Thu, 18 Jun 2015 08:50:31 GMT',
  9. 'x-oss-copy-source-if-unmodified-since' => 'Thu, 18 Jun 2015 08:50:31 GMT',
  10. 'x-oss-copy-source-if-modified-since' => 'Thu, 18 Jun 2015 09:50:31 GMT',
  11. 'x-oss-metadata-directive' => 'COPY',
  12. 'x-oss-server-side-encryption' => 'AES256'
  13. )
  14. );
  15. $response = $obj->copy_object($from_bucket,$from_object,$to_bucket,$to_object,$options);
  • パラメーターの説明
  1. $from_bucket: 必須パラメーター。ソースバケットを示し、バケットの命名規則に準拠している必要があります。
  2. $from_object: 必須パラメーター。ソースオブジェクト。オブジェクトの命名規則に準拠している必要があります。
  3. $to_bucket: 必須パラメーター。コピー先のバケット。バケットの命名規則に準拠している必要があります。
  4. $to_object: 必須パラメーター。コピー先のオブジェクト。オブジェクトの命名規則に準拠している必要があります。
  5. $options: オプションのパラメーター。指定した場合、次に示す複数のオプションを含む ALIOSS::OSS_HEADERS ヘッダーパラメーターを定義できます。
  6. x-oss-copy-source-if-match: ソースオブジェクトの ETAG 値とユーザーが指定した ETag が同じ場合は、コピー操作が実行されます。
  7. それ以外の場合は、412 HTTP エラーコード (前処理の失敗) が返されます。
  8. x-oss-copy-source-if-none-match: ユーザーが指定した日時以降にソースオブジェクトが変更されていない場合は、コピー操作が実行されます。
  9. それ以外の場合は、412 HTTP エラーコード (前処理の失敗) が返されます。
  10. x-oss-copy-source-if-unmodified-since: パラメーター内の時間がファイルの実際の変更時間と同じかそれよりも遅い場合、ファイルは通常どおり送信され
  11. 200 OK が返されます。それ以外の場合は、412 前提条件の失敗の例外がスローされます。
  12. x-oss-copy-source-if-modified-since: ユーザーが指定した日時以降にソースオブジェクトが変更されている場合は、コピー操作が実行されます。
  13. それ以外の場合は、412 HTTP エラーコード (前処理の失敗) が返されます。
  14. x-oss-metadata-directive: 値には COPY REPLACE があります。このパラメーターが COPY に設定されている場合、新しいオブジェクトのメタはすべてソースオブジェクトからコピーされます。
  15. このパラメーターが REPLACE に設定されている場合、ソースオブジェクトのメタは無視され、このリクエストでユーザーが指定したメタ値が使用されます。それ以外の値を設定した場合は、400 HTTP エラーコードが返される可能性があります。
  16. この値が COPY の場合でも、ソースオブジェクトの x-oss-server-side-encryption のメタ値はコピーされません。デフォルト値は COPY です。
  17. x-oss-server-side-encryption は、OSS によってターゲットオブジェクトが作成される際に使用するサーバーエントロピ暗号化アルゴリズムを指定します。現在、AES256 のみがサポートされています。
  • 応答結果
  1. 得られた応答を配列に変換することによって結果が得られます。次のようになります。
  2. Array(
  3. [status] => 200
  4. [header] => Array(
  5. [content-type] => application/xml
  6. [content-length] => 184
  7. [connection] => close
  8. [date] => Thu, 02 Jul 2015 09:26:28 GMT
  9. [etag] => "E024E425254F1EEDB237F69F854CE883"
  10. [server] => AliyunOSS
  11. [x-oss-request-id] => 559503C458DB3AB752161E83
  12. [x-oss-server-side-encryption] => AES256
  13. )
  14. [body] => Array(
  15. [CopyObjectResult] => Array(
  16. [LastModified] => 2015-07-02T09:26:28.000Z
  17. [ETag] => "E024E425254F1EEDB237F69F854CE883"
  18. )
  19. )
  20. )
  • オブジェクトのメタデータの取得
    • サンプルコード
  1. $bucket_name = 'バケット名';
  2. $object_name = 'オブジェクト名';
  3. $options = null;
  4. $response = $client->get_object_meta($bucket_name,$object_name,$options);
  • パラメーターの説明
  1. $bucket_name: 必須パラメーター。バケットの命名規則に準拠している必要があります。
  2. $object_name: 必須パラメーター。オブジェクトの命名規則に準拠している必要があります。
  3. $options: オプション
  • 応答結果
  1. Array(
  2. [status] => 200
  3. [header] => Array(
  4. [date] => Thu, 02 Jul 2015 09:03:40 GMT
  5. [content-type] => plain/text
  6. [content-length] => 10
  7. [connection] => close
  8. [accept-ranges] => bytes
  9. [cache-control] => no-cache
  10. [content-disposition] => attachment;filename=oss_download.log
  11. [content-encoding] => utf-8
  12. [content-language] => zh-CN
  13. [etag] => "9BA9EF6DDFBE14916FA2D3337B427774"
  14. [expires] => Fri, 28 Feb 2012 05:38:42 GMT
  15. [last-modified] => Thu, 02 Jul 2015 08:38:10 GMT
  16. [server] => AliyunOSS
  17. [x-oss-object-type] => Normal
  18. [x-oss-request-id] => 5594FE6C031C87E5461618B6
  19. [x-oss-server-side-encryption] => AES256
  20. )
  21. [body] =>
  22. )
  • 1 つのオブジェクトの削除
    • サンプルコード
  1. $bucket_name = 'バケット名';
  2. $object_name = 'オブジェクト名';
  3. $options = null;
  4. $response = $client->delete_object($bucket_name,$object_name,$options);
  • パラメーターの説明
  1. $bucket_name: 必須パラメーター。バケットの命名規則に準拠している必要があります。
  2. $object_name: 必須パラメーター。オブジェクトの命名規則に準拠している必要があります。
  3. $options: オプション
  • 応答結果
  1. 得られた応答を配列に変換することによって結果が得られます。次のようになります。
  2. Array(
  3. [status] => 204
  4. [header] => Array(
  5. [content-length] => 0
  6. [connection] => close
  7. [date] => Thu, 02 Jul 2015 10:01:00 GMT
  8. [server] => AliyunOSS
  9. [x-oss-request-id] => 55950BDC58DB3AB75216239D
  10. )
  11. [body] =>
  12. )
  • 複数オブジェクトの削除
    • サンプルコード
  1. $bucket_name = 'バケット名';
  2. $objects = array(
  3. 'delete object 1',
  4. 'delete object 2',
  5. ...
  6. );
  7. $options = array(
  8. 'quiet' => false,
  9. );
  10. $response = $client->delete_objects($bucket_name,$objects,$options);
  • パラメーターの説明
  1. $bucket_name: 必須パラメーター。バケットの命名規則に準拠している必要があります。
  2. $objects: 必須パラメーター。このパラメーター内のオブジェクトはオブジェクトの命名規則に準拠している必要があります。
  3. $options: オプションのパラメーター。実際の状況に基づいて削除モードを選択できます。quite パラメーターは true|false 2 つの値を取ります。
  4. true: OSS から返されるメッセージ本文には、削除処理中にエラーが発生したオブジェクトの結果のみが含まれます。すべてのオブジェクトが正常に削除された場合、メッセージ本文はありません。
  5. false: OSS から返されるメッセージ本文には、削除される各オブジェクトの結果が含まれます。
  • 応答結果
  1. 得られた応答を配列に変換することによって結果が得られます。次のようになります。
  2. Array(
  3. [status] => 200
  4. [header] => Array(
  5. [content-type] => application/xml
  6. [content-length] => 188
  7. [connection] => close
  8. [date] => Thu, 02 Jul 2015 10:06:00 GMT
  9. [server] => AliyunOSS
  10. [x-oss-request-id] => 55950D0858DB3AB752162459
  11. )
  12. [body] => Array(
  13. [DeleteResult] => Array(
  14. [Deleted] => Array(
  15. [0] => Array(
  16. [Key] => delegate_execute.exe
  17. )
  18. [1] => Array(
  19. [Key] => metro_driver.dll
  20. )
  21. )
  22. )
  23. )
  • オブジェクトのダウンロード
    • サンプルコード
  1. $bucket_name = 'ダウンロードするバケット';
  2. $object_name = 'ダウンロードするオブジェクト';
  3. $options = array(
  4. ALIOSS::OSS_FILE_DOWNLOAD => "download path",
  5. ALIOSS::OSS_RANGE => '0-1',
  6. );
  7. $response = $client>get_object($bucket_name,$object_name,$options);
  • パラメーターの説明
  1. $bucket_name: 必須パラメーター。バケットの命名規則に準拠している必要があります。
  2. $object_name: 必須パラメーター。オブジェクトの命名規則に準拠している必要があります。
  3. $options: 必須パラメーター。このパラメーターでは、実際の状況に基づいて ALIOSS::OSS_FILE_DOWNLOAD オプションと ALIOSS::OSS_RANGE オプションを指定する必要があります。
  4. 指定しない場合、デフォルトですべてのコンテンツがダウンロードされます。
  • 応答結果
  1. 得られた応答を配列に変換することによって結果が得られます。次のようになります。
  2. Array(
  3. [status] => 206
  4. [header] => Array(
  5. )
  6. [body] =>
  7. )

MultipartUpload 関連操作

  • multipartUpload の初期化
    • サンプルコード
  1. $bucket_name = 'バケット名';
  2. $object_name = 'オブジェクト名';
  3. $options = array(
  4. ALIOSS::OSS_HEADERS => array(
  5. 'Expires' => 'Fri, 28 Feb 2012 05:38:42 GMT',
  6. 'Cache-Control' => 'no-cache',
  7. 'Content-Disposition' => 'attachment;filename=oss_download.log',
  8. 'Content-Encoding' => 'utf-8',
  9. 'Content-Type' => 'plain/text',
  10. 'Content-Language' => 'zh-CN',
  11. 'x-oss-server-side-encryption' => 'AES256',
  12. ),
  13. );
  14. $response = $client->initiate_multipart_upload($bucket_name,$object_name,$options);
  • パラメーターの説明
  1. $bucket_name: 必須パラメーター。バケットの命名規則に準拠している必要があります。
  2. $object_name: 必須パラメーター。オブジェクトの命名規則に準拠している必要があります。
  3. $options: 必須パラメーター。アップロードに必要なさまざまな情報を指定します。詳細を次に示します。
  4. ALIOSS::OSS_HEADERS: オプションのパラメーター。指定した場合、このオブジェクトのメタ情報を示し、次のヘッダー情報を設定できます。
  5. Expires は有効期限です (ミリ秒単位)。
  6. Cache-Control はオブジェクトがダウンロードされる際の Web ページのキャッシュ動作を指定します。
  7. Content-Disposition はダウンロードされる際のオブジェクトの名前を指定します。
  8. Content-Encoding はオブジェクトがダウンロードされる際のコンテンツのエンコーディング形式を指定します。
  9. 'Content-Type' => 'plain/text' は、オブジェクト応答の際の MIME タイプを指定します。
  10. Content-Language はダウンロードされる際のオブジェクトの言語を指定します。
  11. x-oss-server-side-encryption OSS によってオブジェクトが作成される際に使用されるサーバー側の暗号化アルゴリズムを指定します。
  • 応答結果
  1. 得られた応答を配列に変換することによって結果が得られます。次のようになります。
  2. Array(
  3. [status] => 200
  4. [header] => Array(
  5. [content-type] => application/xml
  6. [content-length] => 234
  7. [connection] => close
  8. [date] => Thu, 02 Jul 2015 11:35:36 GMT
  9. [server] => AliyunOSS
  10. [x-oss-request-id] => 5595220858DB3AB7521631B1
  11. [x-oss-server-side-encryption] => AES256
  12. )
  13. [body] => Array(
  14. [InitiateMultipartUploadResult] => Array(
  15. [Bucket] => common-bucket
  16. [Key] => multipart-upload-1435836936
  17. [UploadId] => 154A34BD1FE24A90A025EB800AA392CC
  18. )
  19. )
  20. )
  • パートのアップロード
    • サンプルコード
  1. $bucket_name = 'バケット名';
  2. $object_name = 'オブジェクト名';
  3. $upload_id = 'upload id';
  4. $options = array(
  5. 'fileUpload' => 'upload path',
  6. 'partNumber' => 1,
  7. 'seekTo' => 1,
  8. 'length' => 5242880,
  9. );
  10. $response = $client->upload_part($bucket_name,$object_name, $upload_id, $options);
  • パラメーターの説明
  1. $bucket_name: 必須パラメーター。バケットの命名規則に準拠している必要があります。
  2. $object_name: 必須パラメーター。オブジェクトの命名規則に準拠している必要があります。
  3. $upload_id: 必須パラメーター。マルチパートアップロード ID に対応するパートをアップロードします。
  4. $options: 必須パラメーター。アップロードに必要なさまざまな情報を指定します。詳細を次に示します。
  5. fileUpload: アップロードするファイルのパス
  6. partNumber: アップロードするパートのシリアル番号
  7. seekTo: アップロードファイルにアクセスするときの開始バイト
  8. length: スライスサイズ
  • 応答結果
  1. 得られた応答を配列に変換することによって結果が得られます。次のようになります。
  2. Array(
  3. [status] => 200
  4. [header] => Array(
  5. [content-length] => 0
  6. [connection] => close
  7. [date] => Thu, 02 Jul 2015 11:35:36 GMT
  8. [etag] => "3AE3AD480200A26738F10CBF2FFBE8B6"
  9. [server] => AliyunOSS
  10. [x-oss-request-id] => 5595220858DB3AB7521631B3
  11. [x-oss-server-side-encryption] => AES256
  12. )
  13. [body] =>
  14. )
  • アップロードパートのコピー
    • サンプルコード
  1. $from_bucket = 'コピー元のバケット';
  2. $from_object = 'コピー元のオブジェクト';
  3. $to_bucket = 'コピー先のバケット';
  4. $to_object = 'コピー先のオブジェクト';
  5. $part_number = 1;
  6. $upload_id = 'コピー先のアップロード ID';
  7. $options = array(
  8. 'start' => 0,
  9. 'end' => 25000032,
  10. );
  11. $response = $client->copy_upload_part($from_bucket,$from_object,$to_bucket,$to_object,$part_number,$upload_id,$options);
  • パラメーターの説明
  1. $from_bucket: 必須パラメーター。ソースバケットを示し、バケットの命名規則に準拠している必要があります。
  2. $from_object: 必須パラメーター。ソースオブジェクト。オブジェクトの命名規則に準拠している必要があります。
  3. $to_bucket: 必須パラメーター。コピー先のバケット。バケットの命名規則に準拠している必要があります。
  4. $to_object: 必須パラメーター。コピー先のオブジェクト。オブジェクトの命名規則に準拠している必要があります。
  5. $part_number: 必須パラメーター。範囲 1 10,000
  6. $upload_id: 必須パラメーター。multipartupload の初期化によって返されるアップロード ID
  7. $options: オプションのパラメーター。isFullCopystartRangeendRange
  8. ALIOSS::OSS_HEADERS などのパラメーターを提供します。ALIOSS::OSS_HEADERS で設定可能なパラメーターを次に示します。
  9. x-oss-copy-source-if-match: ソースオブジェクトの ETAG 値とユーザーが指定した ETag が同じ場合は、コピー操作が実行されます。
  10. それ以外の場合は、412 HTTP エラーコード (前処理の失敗) が返されます。
  11. x-oss-copy-source-if-none-match: ユーザーが指定した日時以降にソースオブジェクトが変更されていない場合は、コピー操作が実行されます。
  12. それ以外の場合は、412 HTTP エラーコード (前処理の失敗) が返されます。
  13. x-oss-copy-source-if-unmodified-since: パラメーター内の時間がファイルの実際の変更時間と同じかそれよりも遅い場合、ファイルは通常どおり送信され
  14. 200 OK が返されます。それ以外の場合は、412 前提条件の失敗の例外がスローされます。
  15. x-oss-copy-source-if-modified-since: ユーザーが指定した日時以降にソースオブジェクトが変更されている場合は、コピー操作が実行されます。
  16. それ以外の場合は、412 HTTP エラーコード (前処理の失敗) が返されます。
  17. isFullCopy: 全体コピーが有効かどうか。このパラメーターが true に設定されている場合、startRange および endRange を設定する必要はありません。
  18. startRange: isFullCopy false の場合、このパラメーターが有効になり、ソースオブジェクトのコピー開始位置を指定します。
  19. endRange: isFullCopy false の場合、このパラメーターが有効になり、ソースオブジェクトのコピー終了位置を指定します。
  • 応答結果

    1. 得られた応答を配列に変換することによって結果が得られます。次のようになります。
    2. Array
    3. (
    4. [success] => 1
    5. [status] => 200
    6. [header] => Array
    7. (
    8. [date] => Thu, 06 Aug 2015 18:13:59 GMT
    9. [content-type] => application/xml
    10. [content-length] => 180
    11. [connection] => keep-alive
    12. [content-range] => bytes 11304368-11534335/11534336
    13. [etag] => "E95C28888F15B92B9C49C9ECEC53C958"
    14. [server] => AliyunOSS
    15. [x-oss-bucket-version] => 1438864637
    16. [x-oss-request-id] => 55C3A3E79646C3C03F40EA5E
    17. )
    18. [body] => Array
    19. (
    20. [CopyPartResult] => Array
    21. (
    22. [LastModified] => 2015-08-06T18:13:59.000Z
    23. [ETag] => "E95C28888F15B92B9C49C9ECEC53C958"
    24. )
    25. )
    26. )
  • パートリストの取得
    • サンプルコード
  1. $bucket_name = 'バケット名';
  2. $object_name = 'オブジェクト名';
  3. $upload_id = 'upload id';
  4. $options = null;
  5. $response = $client->list_parts($bucket_name,$object_name, $upload_id,$options);
  • パラメーターの説明
  1. $bucket_name: 必須パラメーター。バケットの命名規則に準拠している必要があります。
  2. $object_name: 必須パラメーター。オブジェクトの命名規則に準拠している必要があります。
  3. $upload_id: 必須パラメーター。マルチパートアップロード ID に対応するパートをアップロードします。
  4. $options: オプション
  • 応答結果
  1. 得られた応答を配列に変換することによって結果が得られます。次のようになります。
  2. Array(
  3. [status] => 200
  4. [header] => Array(
  5. [content-type] => application/xml
  6. [content-length] => 584
  7. [connection] => close
  8. [date] => Thu, 02 Jul 2015 11:35:40 GMT
  9. [server] => AliyunOSS
  10. [x-oss-request-id] => 5595220C031C87E546162F44
  11. )
  12. [body] => Array(
  13. [ListPartsResult] => Array(
  14. [Bucket] => common-bucket
  15. [Key] => multipart-upload-1435836813
  16. [UploadId] => B4D4B89F8B064A3D835D83D7805B49F3
  17. [StorageClass] => Standard
  18. [PartNumberMarker] => 0
  19. [NextPartNumberMarker] => 1
  20. [MaxParts] => 1000
  21. [IsTruncated] => false
  22. [Part] => Array(
  23. [PartNumber] => 1
  24. [LastModified] => 2015-07-02T11:35:40.000Z
  25. [ETag] => "3AE3AD480200A26738F10CBF2FFBE8B6"
  26. [Size] => 5242880
  27. )
  28. )
  29. )
  30. )
  • multipartUpload リストの取得
    • サンプルコード
  1. $bucket_name = 'バケット名';
  2. $options = array(
  3. 'delimiter' => '/',
  4. 'max-uploads' => 2,
  5. 'key-marker' => '',
  6. 'prefix' => '',
  7. 'upload-id-marker' => ''
  8. );
  9. $response = $client->list_multipart_uploads($bucket_name,$options);
  • パラメーターの説明
  1. $bucket_name: 必須パラメーター。バケットの命名規則に準拠している必要があります。
  2. $options: オプションのパラメーター。次のパラメーターを指定します。
  3. delimiter はオブジェクト名をグループ化するために使用する文字です。指定されたプレフィックスが名前に含まれ、delimiter 文字の間に最初に現れるすべてのオブジェクトは要素のグループとして使用されます。
  4. (CommonPrefixes)。max-uploads 1 件のリクエストに対して返されるマルチパートアップロードイベントの最大数を指定します。指定しない場合、デフォルト値は 1,000 です。max-keys の値は 1,000 を超えることはできません。
  5. key-marker upload-id-marker パラメーターと共に使用され、返される結果の開始位置を指定します。upload-id-marker パラメーターが指定されていない場合は、クエリ結果には次が含まれます。
  6. 辞書式順序のすべてのオブジェクト名が key-marker パラメーターの値を超えているマルチパートイベント。l upload-id-marker パラメーターが指定されている場合は、クエリ結果には次が含まれます。
  7. 辞書式順序のすべてのオブジェクト名が key-marker パラメーターの値を超えているマルチパートイベントと、オブジェクト名が key-marker パラメーターの値と同じだがアップロード ID upload-id-marker パラメーターの値を超えているすべてのマルチパートアップロードイベント
  8. prefix を指定すると、返されるオブジェクトキーにプレフィックスが付いている必要があります。プレフィックスを使用するクエリから返されるキーにはそのプレフィックスも含まれることに注意してください。
  9. upload-id-marker key-marker パラメーターと共に使用され、返される結果の開始位置を指定します。key-marker パラメーターが指定されていない場合、OSS upload-id-marker パラメーターを無視します。
  10. key-marker パラメーターが指定されている場合、クエリ結果には、辞書式順序のすべてのオブジェクト名が key-marker パラメーターの値を超えているマルチパートイベントと、オブジェクト名が key-marker パラメーターの値と同じだがアップロード ID upload-id-marker パラメーターの値を超えているすべてのマルチパートアップロードイベントが含まれます。
  • 応答結果
  1. 得られた応答を配列に変換することによって結果が得られます。次のようになります。
  2. Array(
  3. [status] => 200
  4. [header] => Array(
  5. [content-type] => application/xml
  6. [content-length] => 876
  7. [connection] => close
  8. [date] => Thu, 02 Jul 2015 12:01:50 GMT
  9. [server] => AliyunOSS
  10. [x-oss-request-id] => 5595282E031C87E546163301
  11. )
  12. [body] => Array(
  13. [ListMultipartUploadsResult] => Array(
  14. [Bucket] => common-bucket
  15. [KeyMarker] =>
  16. [UploadIdMarker] =>
  17. [NextKeyMarker] => multipart-upload-1435835648
  18. [NextUploadIdMarker] => 5C79DDEC71DE478AA4AD9E9AA8BFE6DE
  19. [Delimiter] => /
  20. [Prefix] =>
  21. [MaxUploads] => 2
  22. [IsTruncated] => true
  23. [Upload] => Array(
  24. [0] => Array(
  25. [Key] => multipart-upload-1435835395
  26. [UploadId] => 799C914C0EC3448BAC126849A1B1D6D0
  27. [StorageClass] => Standard
  28. [Initiated] => 2015-07-02T11:09:55.000Z
  29. )
  30. [1] => Array(
  31. [Key] => multipart-upload-1435835648
  32. [UploadId] => 5C79DDEC71DE478AA4AD9E9AA8BFE6DE
  33. [StorageClass] => Standard
  34. [Initiated] => 2015-07-02T11:14:08.000Z
  35. )
  36. )
  37. )
  38. )
  39. )
  • multipartUpload の中止
    • サンプルコード
  1. $bucket_name = 'バケット名';
  2. $object_name = 'オブジェクト名';
  3. $upload_id = 'upload id';
  4. $options = null;
  5. $response = $client->abort_multipart_upload($bucket_name,$object_name,$upload_id,$options);
  • パラメーターの説明
  1. $bucket_name: 必須パラメーター。バケットの命名規則に準拠している必要があります。
  2. $object_name: 必須パラメーター。オブジェクトの命名規則に準拠している必要があります。
  3. $upload_id: 必須パラメーター。マルチパートアップロード ID に対応するパートをアップロードします。
  4. $options: オプション
  • 応答結果
  1. 得られた応答を配列に変換することによって結果が得られます。次のようになります。
  2. Array(
  3. [status] => 204
  4. [header] => Array(
  5. [content-length] => 0
  6. [connection] => close
  7. [date] => Thu, 02 Jul 2015 11:53:52 GMT
  8. [server] => AliyunOSS
  9. [x-oss-request-id] => 55952650031C87E5461631E7
  10. )
  11. [body] =>
  12. )
  • multipartUpload の完了
    • サンプルコード
  1. $bucket_name = 'バケット名';
  2. $object_name = 'オブジェクト名';
  3. $upload_id = 'upload id';
  4. $upload_parts = array();
  5. $upload_parts[] = array(
  6. 'PartNumber' => 1,
  7. 'ETag' => '3AE3AD480200A26738F10CBF2FFBE8B6'
  8. );
  9. $options = null;
  10. $response = $client->complete_multipart_upload($bucket_name,$object_name,$upload_id,$upload_parts,$options);
  • パラメーターの説明
  1. $bucket_name: 必須パラメーター。バケットの命名規則に準拠している必要があります。
  2. $object_name: 必須パラメーター。オブジェクトの命名規則に準拠している必要があります。
  3. $upload_id: 必須パラメーター。マルチパートアップロード ID に対応するパートをアップロードします。
  4. $upload_parts: パートを含む配列。PartNumber Etag を含む必要があります。
  5. $options: オプション
  • 応答結果
  1. 得られた応答を配列に変換することによって結果が得られます。次のようになります。
  2. Array(
  3. [status] => 200
  4. [header] => Array(
  5. [content-type] => application/xml
  6. [content-length] => 331
  7. [connection] => close
  8. [date] => Thu, 02 Jul 2015 11:35:40 GMT
  9. [etag] => "003B6AEB546001A97D838E411025239A-1"
  10. [server] => AliyunOSS
  11. [x-oss-request-id] => 5595220C031C87E546162F45
  12. [x-oss-server-side-encryption] => AES256
  13. )
  14. [body] => Array(
  15. [CompleteMultipartUploadResult] => Array(
  16. [Location] => http://common-bucket.oss-cn-shanghai.aliyuncs.com/multipart-upload-1435836813
  17. [Bucket] => common-bucket
  18. [Key] => multipart-upload-1435836813
  19. [ETag] => "003B6AEB546001A97D838E411025239A-1"
  20. )
  21. )
  22. )

ライフサイクル管理

  • ライフサイクルルールの作成
    • サンプルコード
  1. $bucket_name = 'バケット名';
  2. $lifecycle = "
  3. <LifecycleConfiguration>
  4. <Rule>
  5. <ID>DaysRule</ID>
  6. <Prefix>days/</Prefix>
  7. <Status>Enabled</Status>
  8. <Expiration>
  9. <Days>1</Days>
  10. </Expiration>
  11. </Rule>
  12. </LifecycleConfiguration>" ;
  13. $options = null;
  14. $response = $client->set_bucket_lifecycle($bucket_name,$lifecycle,$options);
  • パラメーターの説明
  1. $bucket_name: 必須パラメーター。バケットの命名規則に準拠している必要があります。
  2. $lifecycle: ライフサイクルルールを定義する必須パラメーター。xml 要素の詳細については、次の OSS API ドキュメントを参照してください。
  3. $options: オプション

参照用 OSS API ドキュメント:Put Bucket Lifecycle

  • 応答結果
  1. 得られた応答を配列に変換することによって結果が得られます。次のようになります。
  2. Array(
  3. [status] => 200
  4. [header] => Array(
  5. [date] => Thu, 02 Jul 2015 06:32:57 GMT
  6. [content-length] => 0
  7. [connection] => close
  8. [server] => AliyunOSS
  9. [x-oss-request-id] => 5594DB19031C87E5461601D1
  10. )
  11. [body] =>
  12. )
  • ライフサイクルルールの取得
    • サンプルコード
  1. $bucket_name = "バケット名";
  2. $options = null;
  3. $response = $client->get_bucket_lifecycle($bucket_name,$options);
  • パラメーターの説明
  1. $bucket_name: 必須パラメーター。バケットの命名規則に準拠している必要があります。
  2. $options: オプション
  • 応答結果
  1. 得られた応答を配列に変換することによって結果が得られます。次のようになります。
  2. Array(
  3. [status] => 200
  4. [header] => Array(
  5. [date] => Thu, 02 Jul 2015 06:32:57 GMT
  6. [content-type] => application/xml
  7. [content-length] => 243
  8. [connection] => close
  9. [server] => AliyunOSS
  10. [x-oss-request-id] => 5594DB1958DB3AB75216045C
  11. )
  12. [body] => Array(
  13. [LifecycleConfiguration] => Array(
  14. [Rule] => Array(
  15. [ID] => DaysRule
  16. [Prefix] => days/
  17. [Status] => Enabled
  18. [Expiration] => Array(
  19. [Days] => 1
  20. )
  21. )
  22. )
  23. )
  24. )
  • ライフサイクルルールの削除
    • サンプルコード
  1. $bucket_name = "バケット名";
  2. $options = null;
  3. $response = $client->delete_bucket_lifecycle($bucket_name,$options);
  • パラメーターの説明
  1. $bucket_name: 必須パラメーター。バケットの命名規則に準拠している必要があります。
  2. $options: オプション
  • 応答結果
  1. 得られた応答を配列に変換することによって結果が得られます。次のようになります。
  2. Array(
  3. [status] => 204
  4. [header] => Array(
  5. [date] => Thu, 02 Jul 2015 06:32:58 GMT
  6. [content-length] => 0
  7. [connection] => close
  8. [server] => AliyunOSS
  9. [x-oss-request-id] => 5594DB1A58DB3AB75216045D
  10. )
  11. [body] =>
  12. )

CORS (Cross-Origin Resource Sharing)

  • CORS ルールの作成
    • サンプルコード
  1. $bucket_name = 'バケット名';
  2. $cors_rule = array();
  3. $cors_rule[ALIOSS::OSS_CORS_ALLOWED_HEADER]=array("x-oss-test");
  4. $cors_rule[ALIOSS::OSS_CORS_ALLOWED_METHOD]=array("GET");
  5. $cors_rule[ALIOSS::OSS_CORS_ALLOWED_ORIGIN]=array("http://www.b.com");
  6. $cors_rule[ALIOSS::OSS_CORS_EXPOSE_HEADER]=array("x-oss-test1");
  7. $cors_rule[ALIOSS::OSS_CORS_MAX_AGE_SECONDS] = 10;
  8. $cors_rules=array($cors_rule);
  9. $options = null;
  10. $response = $obj->set_bucket_cors($bucket_name, $cors_rules,$options);
  • パラメーターの説明
  1. $bucket_name: 必須パラメーター。バケットの命名規則に準拠している必要があります。
  2. $cors_rules: CORS ルールの配列を定義します。各ルールには、次の要素が含まれている必要があります。
  3. ALIOSS::OSS_CORS_ALLOWED_ORIGIN: 必須パラメーター。クロスオリジンリクエストの許可されるオリジンを指定します。各ルールに 2 つ以上の "*" 記号を含めることはできません。
  4. ALIOSS::OSS_CORS_ALLOWED_METHOD: 必須パラメーター。許可されるクロスオリジンリクエストメソッドを指定します。GETPUTPOSTDELETEHEAD から 1 つ以上を選択します。
  5. ALIOSS::OSS_CORS_ALLOWED_HEADER: オプション。このパラメーターは、OPTIONS のプリフェッチコマンドの Access-Control-Request-Headers で指定されたヘッダーを許可するかどうかを決定します。
  6. Access-Control-Request-Headers で指定された各ヘッダーが AllowedHeader の値と一致している必要があります。各ルールでは、2 つ以上のワイルドカード "*" はサポートされません。
  7. ALIOSS::OSS_CORS_EXPOSE_HEADER: オプション。このパラメーターは、ユーザーがアプリケーション (Javascript 1 つの XMLHttpRequest オブジェクトなど) からアクセスできる応答ヘッダーを示します。
  8. ワイルドカード "*" は使用できません。
  9. ALIOSS::OSS_CORS_MAX_AGE_SECONDS: オプション。このパラメーターは、特定のリソースに対するブラウザープリフェッチ (OPTIONS) リクエストの結果のキャッシュ時間 (秒数) を指定します。
  10. CORSRule ごとに 1 つのパラメーターを指定できます。
  11. $options: オプション
  • 応答結果
  1. 得られた応答を配列に変換することによって結果が得られます。次のようになります。
  2. Array(
  3. [status] => 200
  4. [header] => Array(
  5. [date] => Thu, 02 Jul 2015 07:03:29 GMT
  6. [content-length] => 0
  7. [connection] => close
  8. [server] => AliyunOSS
  9. [x-oss-request-id] => 5594E241031C87E546160697
  10. )
  11. [body] =>
  12. )
  • CORS ルールの取得
    • サンプルコード
  1. $bucket = 'バケット名';
  2. $options = null;
  3. $response = $client->get_bucket_cors($bucket_name,$options);
  • パラメーターの説明
  1. $bucket_name: 必須パラメーター。バケットの命名規則に準拠している必要があります。
  2. $options: オプション
  • 応答結果
  1. 得られた応答を配列に変換することによって結果が得られます。次のようになります。
  2. Array(
  3. [status] => 200
  4. [header] => Array(
  5. [date] => Thu, 02 Jul 2015 07:03:39 GMT
  6. [content-type] => application/xml
  7. [content-length] => 327
  8. [connection] => close
  9. [server] => AliyunOSS
  10. [x-oss-request-id] => 5594E24B58DB3AB752160920
  11. )
  12. [body] => Array(
  13. [CORSConfiguration] => Array(
  14. [CORSRule] => Array(
  15. [AllowedOrigin] => http://www.b.com
  16. [AllowedMethod] => GET
  17. [AllowedHeader] => x-oss-test
  18. [ExposeHeader] => x-oss-test1
  19. [MaxAgeSeconds] => 10
  20. )
  21. )
  22. )
  23. )
  • クロスオリジンリクエストが許可されるかどうかの決定
    • サンプルコード
  1. $bucket_name = 'バケット名';
  2. $object_name ='オブジェクト名';
  3. $origin = 'http://www.b.com';
  4. $request_method = ALIOSS::OSS_HTTP_GET;
  5. $request_headers = 'x-oss-test';
  6. $options = null;
  7. $response = $obj->options_object($bucket_name, $object_name, $origin, $request_method, $request_headers,$options);
  • パラメーターの説明
  1. $bucket_name: 必須パラメーター。バケットの命名規則に準拠している必要があります。
  2. $object_name: 必須パラメーター。オブジェクトの命名規則に準拠している必要があります。
  3. $origin: 必須パラメーター。リクエストのオリジンを示します。クロスオリジンリクエストを識別するために使用されます。
  4. $request_method: 必須パラメーター。実際のリクエストで使用されるメソッドを示します。
  5. $request_headers: 必須パラメーター。実際のリクエストで使用されるヘッダーを示します (単純なヘッダーは除く)。
  6. $options: オプション
  • 応答結果
  1. 得られた応答を配列に変換することによって結果が得られます。次のようになります。
  2. Array(
  3. [status] => 200
  4. [header] => Array(
  5. [date] => Thu, 02 Jul 2015 07:03:39 GMT
  6. [content-length] => 0
  7. [connection] => close
  8. [server] => AliyunOSS
  9. [x-oss-request-id] => 5594E24B031C87E5461606A1
  10. )
  11. [body] =>
  12. )
  • CORS ルールの削除
    • サンプルコード
  1. $bucket_name = "バケット名";
  2. $options = null;
  3. $response = $client->delete_bucket_cors($bucket_name,$options);
  • パラメーターの説明
  1. $bucket_name: 必須パラメーター。バケットの命名規則に準拠している必要があります。
  2. $options: オプション
  • 応答結果
  1. 得られた応答を配列に変換することによって結果が得られます。次のようになります。
  2. Array
  3. (
  4. [status] => 204
  5. [header] => Array(
  6. [date] => Thu, 02 Jul 2015 07:03:39 GMT
  7. [content-length] => 0
  8. [connection] => close
  9. [server] => AliyunOSS
  10. [x-oss-request-id] => 5594E24B031C87E5461606A2
  11. )
  12. [body] =>
  13. )

静的 Web サイトホスティング

  • Web サイトの設定
    • サンプルコード
  1. $bucket_name = 'バケット名';
  2. $index_document = 'index.html';
  3. $error_document = 'error.html';
  4. $options = null;
  5. $response = $client->set_bucket_website($bucket_name,$index_document,$error_document,$options);
  • パラメーターの説明
  1. $bucket_name: 必須パラメーター。バケットの命名規則に準拠している必要があります。
  2. $index_document: 必須パラメーター。Web サイト機能が有効な場合、index_document パラメーターを設定する必要があります。
  3. $error_document: オプションのパラメーター。Web サイト機能が有効な場合、error_document を設定するかどうか選択できます。
  4. $options: オプション
  • 応答結果
  1. 得られた応答を配列に変換することによって結果が得られます。次のようになります。
  2. Array(
  3. [status] => 200
  4. [header] => Array(
  5. [date] => Thu, 02 Jul 2015 02:39:23 GMT
  6. [content-length] => 0
  7. [connection] => close
  8. [server] => AliyunOSS
  9. [x-oss-request-id] => 5594A45B58DB3AB75215E239
  10. )
  11. [body] =>
  12. )
  • Web サイト設定の取得
    • サンプルコード
  1. $bucket_name = "バケット名";
  2. $options = null;
  3. $response = $client->get_bucket_website($bucket_name,$options);
  • パラメーターの説明
  1. $bucket_name: 必須パラメーター。バケットの命名規則に準拠している必要があります。
  2. $options: オプション
  • 応答結果
  1. 得られた応答を配列に変換することによって結果が得られます。次のようになります。
  2. Array(
  3. [status] => 200
  4. [header] => Array(
  5. [date] => Thu, 02 Jul 2015 02:39:24 GMT
  6. [content-type] => application/xml
  7. [content-length] => 218
  8. [connection] => close
  9. [server] => AliyunOSS
  10. [x-oss-request-id] => 5594A45C031C87E54615DF98
  11. )
  12. [body] => Array(
  13. [WebsiteConfiguration] => Array(
  14. [IndexDocument] => Array(
  15. [Suffix] => index.html
  16. )
  17. [ErrorDocument] => Array(
  18. [Key] => error.html
  19. )
  20. )
  21. )
  22. )
  • Web サイトの削除
    • サンプルコード
  1. $bucket_name = "バケット名";
  2. $options = null;
  3. $response = $client->delete_bucket_website($bucket_name,$options);
  • パラメーターの説明
  1. $bucket_name: 必須パラメーター。バケットの命名規則に準拠している必要があります。
  2. $options: オプション
  • 応答結果
  1. 得られた応答を配列に変換することによって結果が得られます。次のようになります。
  2. Array(
  3. [status] => 204
  4. [header] => Array(
  5. [date] => Thu, 02 Jul 2015 02:39:24 GMT
  6. [content-length] => 0
  7. [connection] => close
  8. [server] => AliyunOSS
  9. [x-oss-request-id] => 5594A45C031C87E54615DF99
  10. )
  11. [body] =>
  12. )

ログ

  • ログの設定
    • サンプルコード
  1. $bucket_name = "バケット名";
  2. $target_bucket_name = "ログ対象のバケット";
  3. $target_prefix = "ログファイルのプレフィックス";
  4. $options = null;
  5. $response = $client->set_bucket_logging($bucket_name,$target_bucket_name,$target_prefix,$options);
  • パラメーターの説明
  1. $bucket_name: 必須パラメーター。バケットの命名規則に準拠している必要があり、オーナーの既存のバケットである必要があります。
  2. $target_bucket_name: 必須パラメーター。ログの保存先のバケットを示し、ログの対象のバケットと同じクラスターに存在しなければなりません。
  3. $target_prefix: オプションのパラメーター。このパラメーターが指定されている場合、ログファイル名は $target_prefix + OSS ログ命名規則になります。
  4. $options: オプション
  • 応答結果
  1. 得られた応答を配列に変換することによって結果が得られます。次のようになります。
  2. Array(
  3. [status] => 200
  4. [header] => Array(
  5. [date] => Thu, 02 Jul 2015 01:59:06 GMT
  6. [content-length] => 0
  7. [connection] => close
  8. [server] => AliyunOSS
  9. [x-oss-request-id] => 55949AEA031C87E54615D996
  10. )
  11. [body] =>
  12. )
  • ログ設定の取得
    • サンプルコード
  1. $bucket_name = "バケット名";
  2. $options = null;
  3. $response = $client->get_bucket_logging($bucket_name,$options);
  • パラメーターの説明
  1. $bucket_name: 必須パラメーター。バケットの命名規則に準拠している必要があります。
  2. $options: オプション
  • 応答結果
  1. 得られた応答を配列に変換することによって結果が得られます。次のようになります。
  2. Array(
  3. [status] => 200
  4. [header] => Array(
  5. [date] => Thu, 02 Jul 2015 02:14:09 GMT
  6. [content-length] => 235
  7. [connection] => close
  8. [server] => AliyunOSS
  9. [x-oss-request-id] => 55949E7158DB3AB75215DE78
  10. )
  11. [body] => Array(
  12. [BucketLoggingStatus] => Array(
  13. [LoggingEnabled] => Array(
  14. [TargetBucket] => a-00000000000000000003
  15. [TargetPrefix] => common-bucket-logging-
  16. )
  17. )
  18. )
  19. )
  • ログの削除
    • サンプルコード
  1. $bucket_name = "バケット名";
  2. $options = null;
  3. $response = $client->get_bucket_logging($bucket_name,$options);
  • パラメーターの説明
  1. $bucket_name: 必須パラメーター。バケットの命名規則に準拠している必要があります。
  2. $options: オプション
  • 応答結果
  1. 得られた応答を配列に変換することによって結果が得られます。次のようになります。
  2. Array(
  3. [status] => 204
  4. [header] => Array(
  5. [date] => Thu, 02 Jul 2015 02:29:12 GMT
  6. [content-length] => 0
  7. [connection] => close
  8. [server] => AliyunOSS
  9. [x-oss-request-id] => 5594A1F858DB3AB75215E0C4
  10. )
  11. [body] =>
  12. )

Anti-leech 保護 (リファラー)

  • リファラー Anti-leech 保護の設定
    • サンプルコード
  1. $bucket_name = 'バケット名';
  2. $is_allow_empty_referer = true;
  3. $referer_list = array(
  4. 'http://aliyun.com',
  5. 'http://sina.com.cn'
  6. );
  7. $options = null;
  8. $response = $client->set_bucket_referer($bucket_name,$is_allow_empty_referer,$referer_list,$options);
  • パラメーターの説明
  1. $bucket_name: 必須パラメーター。バケットの命名規則に準拠している必要があります。
  2. $is_allow_empty_referer: 必須パラメーター。リファラーを空白にできるかどうかを決定します。デフォルトは true です。
  3. $referer_list: 必須パラメーター。許可されるリファラーのホワイトリストを示します。各レコードは http:// で始まる必要があります。
  4. $options: オプション
  • 応答結果
  1. 得られた応答を配列に変換することによって結果が得られます。次のようになります。
  2. Array(
  3. [status] => 200
  4. [header] => Array(
  5. [date] => Thu, 02 Jul 2015 03:30:46 GMT
  6. [content-length] => 0
  7. [connection] => close
  8. [server] => AliyunOSS
  9. [x-oss-request-id] => 5594B06658DB3AB75215E9EC
  10. )
  11. [body] =>
  12. )
  • リファラー設定の取得
    • サンプルコード
  1. $bucket_name = 'バケット名';
  2. $options = null;
  3. $response = $client->get_bucket_referer($bucket_name,$options);
  • パラメーターの説明
  1. $bucket_name: 必須パラメーター。バケットの命名規則に準拠している必要があります。
  2. $options: オプション
  • 応答結果
  1. 得られた応答を配列に変換することによって結果が得られます。次のようになります。
  2. Array(
  3. [status] => 200
  4. [header] => Array(
  5. [date] => Thu, 02 Jul 2015 03:30:46 GMT
  6. [content-type] => application/xml
  7. [content-length] => 248
  8. [connection] => close
  9. [server] => AliyunOSS
  10. [x-oss-request-id] => 5594B06658DB3AB75215E9F2
  11. )
  12. [body] => Array(
  13. [RefererConfiguration] => Array(
  14. [AllowEmptyReferer] => true
  15. [RefererList] => Array(
  16. [Referer] => Array(
  17. [0] => http://aliyun.com
  18. [1] => http://sina.com.cn
  19. )
  20. )
  21. )
  22. )
  23. )

URL 署名操作

  • Get の署名付き URL の取得
    • サンプルコード
  1. $bucket_name = 'バケット名';
  2. $object_name = 'オブジェクト名';
  3. $timeout = 3600;
  4. $options = null;
  5. $signed_url = $client->get_sign_url($bucket_name,$object_name,$timeout,$options);
  • パラメーターの説明
  1. $bucket_name: 必須パラメーター。バケットの命名規則に準拠している必要があります。
  2. $object_name: 必須パラメーター。オブジェクトの命名規則に準拠している必要があります。
  3. $timeout: 必須パラメーター。有効期限
  4. $options: オプション
  • 応答結果
  1. http://common-bucket.oss-cn-shanghai.aliyuncs.com/my_get_file.log?OSSAccessKeyId=ACSb***&Expires=1435820652&
  2. Signature=AW5z87zmaLulEmvMzf6ZOUrVboE%3D
  • Get または Put の署名付き URL の取得
    • サンプルコード
  1. $bucket_name = 'バケット名';
  2. $object_name = 'オブジェクト名';
  3. $timeout = 3600;
  4. $method = ALIOSS::OSS_HTTP_GET;
  5. $options = null;
  6. $signed_url = $client->get_sign_url($bucket_name,$object_name,$timeout,$method,$options);
  • パラメーターの説明
  1. $bucket_name: 必須パラメーター。バケットの命名規則に準拠している必要があります。
  2. $object_name: 必須パラメーター。オブジェクトの命名規則に準拠している必要があります。
  3. $timeout: 必須パラメーター。有効期限
  4. $method: 必須パラメーター。メソッドタイプを指定します。現在は GET または PUT です。
  5. $options: オプション
  • 応答結果
  1. http://common-bucket.oss-cn-shanghai.aliyuncs.com/my_get_file.log?OSSAccessKeyId=ACSb***&Expires=1435820652&
  2. Signature=AW5z87zmaLulEmvMzf6ZOUrVboE%3D