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

:PHP-SDK

最終更新日:Dec 22, 2023

OSS PHP SDK ドキュメント

概要

  • 概要
    • 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 などの情報を指定するだけです。また、必須の情報を入力する必要があります
    $access_id = "accessId を入力してください";
    $access_key = "accessKey を入力してください";
    $end_point = "運用クラスターのエンドポイント";
    $client = ALIOSS($access_id,$access_key,$end_point);

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

バケット関連の操作

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

     、
     得られた応答を配列に変換することによって結果が得られます。次のようになります。
        Array(
            [status] => 200
            [header] => Array(
                [date] => Wed, 01 Jul 2015 09:21:15 GMT
                [content-type] => application/xml
                [content-length] => 6266
                [connection] => close
                [server] => AliyunOSS
                [x-oss-request-id] => 5593B10B58DB3AB752154A62
            )
            [body] => Array(
                [ListAllMyBucketsResult] => Array(
                    [Owner] => Array (
                         [ID] => 128257
                         [DisplayName] => 128257
                    )
                    [Buckets] => Array(
                         [Bucket] => Array(
                            [0] => Array(
                                [Location] => oss-cn-hangzhou
                                 [Name] => 33331111
                                 [CreationDate] => 2014-08-27T03:04:20.000Z
                              )
                              [1] => Array (
                                [Location] => oss-cn-qingdao
                                 [Name] => a-00000000000000000001
                                 [CreationDate] => 2015-05-22T05:30:40.000Z
                              )
    
                          )
    
                        )
    
                )
    
            )
    
        )
     、
    • バケットの作成
  • サンプルコード
        $bucket_name = "バケット名";
        $acl = ALIOSS::OSS_ACL_TYPE_PRIVATE;
        $options = null;
        $response = $client->create_bucket($bucket_name,$acl,$options);
  • パラメーターの説明
        $bucket_name: 必須パラメーター。バケットの命名規則に準拠している必要があります。
        $acl: 必須パラメーター。それぞれ次の定数に対応する private、public-read、または public-read-write のいずれかの値である必要があります。
            ALIOSS::OSS_ACL_TYPE_PRIVATE、
            ALIOSS::OSS_ACL_TYPE_PUBLIC_READ、
            ALIOSS::OSS_ACL_TYPE_PUBLIC_READ_WRITE
        $options: オプション
  • 応答結果
    得られた応答を配列に変換することによって結果が得られます。次のようになります。
        Array(
            [status] => 200
            [header] => Array(
                [date] => Wed, 01 Jul 2015 09:55:18 GMT
                [content-length] => 0
                [connection] => close
                [server] => AliyunOSS
                [x-oss-request-id] => 5593B906031C87E546154CC1
            )

            [body] => 
        )
  • バケットの削除
    • サンプルコード
        $bucket_name = "バケット名";
        $options = null;
        $response = $client->delete_bucket($bucket_name,$options);
  • パラメーターの説明
        $bucket_name: 必須パラメーター。バケットの命名規則に準拠している必要があります。
        $options: オプション
  • 応答結果
    得られた応答を配列に変換することによって結果が得られます。次のようになります。
        Array(
            [status] => 204
            [header] => Array(
                [date] => Wed, 01 Jul 2015 10:08:45 GMT
                [content-length] => 0
                [connection] => close
                [server] => AliyunOSS
                [x-oss-request-id] => 5593BC2D58DB3AB752155156
            )

            [body] => 
        )
  • バケット ACL の取得
    • サンプルコード
        $bucket_name = "バケット名";
        $options = null;
        $response = $client->get_bucket_acl($bucket_name,$options);
  • パラメーターの説明
        $bucket_name: 必須パラメーター。バケットの命名規則に準拠している必要があります。
        $options: オプション
  • 応答結果
    得られた応答を配列に変換することによって結果が得られます。次のようになります。

        Array(
            [status] => 200
            [header] => Array(
                [date] => Wed, 01 Jul 2015 10:17:41 GMT
                [content-type] => application/xml
                [content-length] => 239
                [connection] => close
                [server] => AliyunOSS
                [x-oss-request-id] => 5593BE45031C87E54615500F
            )

            [body] => Array(
                [AccessControlPolicy] => Array(
                    [Owner] => Array(
                        [ID] => 128257
                        [DisplayName] => 128257
                    )

                    [AccessControlList] => Array(
                        [Grant] => public-read
                    )
                )
            )
        )
  • バケット ACL の設定
    • サンプルコード
        $bucket_name = "バケット名";
        $options = null;
        $response = $client->set_bucket_acl($bucket_name,$options);            
  • パラメーターの説明
        $bucket_name: 必須パラメーター。バケットの命名規則に準拠している必要があります。
        $options: オプション
  • 応答結果
    得られた応答を配列に変換することによって結果が得られます。次のようになります。
        Array(
            [status] => 200
            [header] => Array(
                [date] => Wed, 01 Jul 2015 11:08:31 GMT
                [content-length] => 0
                [connection] => close
                [server] => AliyunOSS
                [x-oss-request-id] => 5593CA2F031C87E5461557B5
            )

            [body] => 
        )

オブジェクト関連の操作

  • オブジェクトリストの取得
    • サンプルコード
        $bucket_name = 'バケット名';
        $options = array(
            'delimiter' => '/',
            'prefix' => '',
            'max-keys' => 5,
            'marker' => '',
        );

        $response = $client->list_object($$bucket_name,$options);
  • パラメーターの説明
        $bucket_name: 必須パラメーター。バケットの命名規則に準拠している必要があります。
        $options: 次に説明するオプション
            delimiter はオブジェクト名をグループ化するために使用する文字です。指定されたプレフィックスが名前に含まれ、delimiter 文字の間に最初に現れるすべてのオブジェクトは要素のグループとして使用されます。
            (CommonPrefixes)。
            prefix を指定すると、返されるオブジェクトキーにプレフィックスが付いている必要があります。プレフィックスを使用して照会を行うと、
            返されるキーにもプレフィックスが含まれます。
            max-keys は、1 件のリクエストに対して返されるオブジェクトの最大数を制限します。指定されていない場合のデフォルト値は 100 です。max-keys の値は 1,000 以下にする必要があります。
            marker を指定すると、アルファベット順で marker より後の最初のエントリから結果を返すように設定されます。
  • 応答結果
    得られた応答を配列に変換することによって結果が得られます。次のようになります。

        Array(
            [status] => 200
            [header] => Array(
                [date] => Thu, 02 Jul 2015 07:59:32 GMT
                [content-type] => application/xml
                [content-length] => 1466
                [connection] => close
                [server] => AliyunOSS
                [x-oss-request-id] => 5594EF64031C87E546160F24
            )

            [body] => Array(
                [ListBucketResult] => Array(
                    [Name] => common-bucket
                    [Prefix] => 
                    [Marker] => 
                    [MaxKeys] => 5
                    [Delimiter] => /
                    [IsTruncated] => true
                    [NextMarker] => metro_driver.dll
                    [Contents] => Array(
                        [0] => Array(
                            [Key] => chrome_elf.dll
                            [LastModified] => 2015-07-01T03:44:58.000Z
                            [ETag] => "78CE940FD1CCDF6F743EE1A9AED8AAD8"
                            [Type] => Normal
                            [Size] => 133960
                            [StorageClass] => Standard
                            [Owner] => Array(
                                [ID] => 128257
                                [DisplayName] => 128257
                            )
                        )

                        [1] => Array(
                            [Key] => delegate_execute.exe
                            [LastModified] => 2015-06-29T09:18:41.000Z
                            [ETag] => "37C49C4E0EC4E0D96B6EBBA2190E8824"
                            [Type] => Normal
                            [Size] => 692040
                            [StorageClass] => Standard
                            [Owner] => Array(
                                [ID] => 128257
                                [DisplayName] => 128257
                            )
                        )
                    }

                    [CommonPrefixes] => Array(
                        [0] => Array(
                            [Prefix] => common-folder/
                        )

                        [1] => Array(
                            [Prefix] => common-folder2/
                        )
                    )
                )
            )
        )
  • シミュレーションフォルダーの作成
    • サンプルコード
        $bucket_name = 'バケット名';
        $dir_name = 'ディレクトリ名';
        $options = null;
        $response  = $client->create_object_dir($bucket_name,$dir_name,$options);
  • パラメーターの説明
        $bucket_name: 必須パラメーター。バケットの命名規則に準拠している必要があります。
        $dir_name: 必須パラメーター。オブジェクトの命名規則に準拠している必要があります。
        $options: オプション。シミュレーションフォルダーにヘッダー 'Header' を設定する必要はありません。            
  • 応答結果
    得られた応答を配列に変換することによって結果が得られます。次のようになります。

        Array(
            [status] => 200
            [header] => Array(
                [date] => Thu, 02 Jul 2015 08:10:16 GMT
                [content-length] => 0
                [connection] => close
                [etag] => "D41D8CD98F00B204E9800998ECF8427E"
                [server] => AliyunOSS
                [x-oss-request-id] => 5594F1E8031C87E5461610B9
            )

            [body] => 
        )
  • ファイルのアップロード (コンテンツを直接指定)
    • サンプルコード
        $bucket_name = 'バケット名';
        $object_name = 'オブジェクト名';
        $content  = 'オブジェクトのコンテンツ';
        $options = array(
            'content' => $content,
            'length' => strlen($content),
            ALIOSS::OSS_HEADERS => array(
                'Expires' => 'Fri, 28 Feb 2012 05:38:42 GMT',
                'Cache-Control' => 'no-cache',
                'Content-Disposition' => 'attachment;filename=oss_download.log',
                'Content-Encoding' => 'utf-8',
                'Content-Language' => 'zh-CN',
                'x-oss-server-side-encryption' => 'AES256',
            ),
        );    
        $response = $obj->upload_file_by_content($bucket_name,$object_name,$options);
  • パラメーターの説明
        $bucket_name: 必須パラメーター。バケットの命名規則に準拠している必要があります。
        $object_name: 必須パラメーター。オブジェクトの命名規則に準拠している必要があります。
        $options: 必須パラメーター。アップロードに必要なさまざまな情報を指定します。詳細を次に示します。
            content: アップロードするオブジェクトのコンテンツ
            length: アップロードするオブジェクトのサイズ
            ALIOSS::OSS_HEADERS: オプションのパラメーター。指定した場合、このオブジェクトのメタ情報を示し、次のヘッダー情報を設定できます。
                Expires は有効期限です (ミリ秒単位)。
                Cache-Control はオブジェクトがダウンロードされる際の Web ページのキャッシュ動作を指定します。
                Content-Disposition はダウンロードされる際のオブジェクトの名前を指定します。
                Content-Encoding はオブジェクトがダウンロードされる際のコンテンツのエンコーディング形式を指定します。
                Content-Language はダウンロードされる際のオブジェクトの言語を指定します。
                x-oss-server-side-encryption は OSS によってオブジェクトが作成される際に使用されるサーバー側の暗号化アルゴリズムを指定します。
  • 応答結果
    得られた応答を配列に変換することによって結果が得られます。次のようになります。

        Array(
            [status] => 200
            [header] => Array(
                [date] => Thu, 02 Jul 2015 08:24:11 GMT
                [content-length] => 0
                [connection] => close
                [etag] => "9BA9EF6DDFBE14916FA2D3337B427774"
                [server] => AliyunOSS
                [x-oss-request-id] => 5594F52B031C87E5461612D1
            )

            [body] => 
        )
  • ファイルのアップロード (ファイルパスを指定)
    • サンプルコード
        $bucket_name = 'バケット名';
        $object_name = 'オブジェクト名';
        $file_path = "アップロードするファイルのパス";
        $options = array(
            ALIOSS::OSS_HEADERS => array(
                'Expires' => 'Fri, 28 Feb 2012 05:38:42 GMT',
                'Cache-Control' => 'no-cache',
                'Content-Disposition' => 'attachment;filename=oss_download.gz',
                'Content-Encoding' => 'utf-8',
                'Content-Language' => 'zh-CN',
                'x-oss-server-side-encryption' => 'AES256',

            ),
        );
        $response = $obj->upload_file_by_file($bucket,$object,$file_path,$upload_file_options);
  • パラメーターの説明
        $bucket_name: 必須パラメーター。バケットの命名規則に準拠している必要があります。
        $object_name: 必須パラメーター。オブジェクトの命名規則に準拠している必要があります。
        $file_path: 必須パラメーター。ファイルのパスを示します。
        $options: 必須パラメーター。アップロードに必要なさまざまな情報を指定します。詳細を次に示します
            content: アップロードするオブジェクトのコンテンツ
            length: アップロードするオブジェクトのサイズ
            ALIOSS::OSS_HEADERS: オプションのパラメーター。指定した場合、このオブジェクトのメタ情報を示し、次のヘッダー情報を設定できます。
                Expires は有効期限です (ミリ秒単位)
                Cache-Control はオブジェクトがダウンロードされる際の Web ページのキャッシュ動作を指定します。
                Content-Disposition はダウンロードされる際のオブジェクトの名前を指定します。
                Content-Encoding はオブジェクトがダウンロードされる際のコンテンツのエンコーディング形式を指定します。
                Content-Language はダウンロードされる際のオブジェクトの言語を指定します。
                x-oss-server-side-encryption は OSS によってオブジェクトが作成される際に使用されるサーバー側の暗号化アルゴリズムを指定します。
  • 応答結果
    得られた応答を配列に変換することによって結果が得られます。次のようになります。

        Array(
            [status] => 200
            [header] => Array(
                [date] => Thu, 02 Jul 2015 08:41:10 GMT
                [content-length] => 0
                [connection] => close
                [etag] => "4B12FF064A3BBFE0AE5A1314E77FF0DF"
                [server] => AliyunOSS
                [x-oss-request-id] => 5594F91358DB3AB7521617CA
            )

            [body] => 
        )
  • オブジェクトのコピー
    • サンプルコード
        $from_bucket = 'コピー元のバケット';
        $from_object = 'コピー元のオブジェクト';
        $to_bucket = 'コピー先のバケット';
        $to_object = 'コピー先のオブジェクト';
        $options = array(
            ALIOSS::OSS_HEADERS => array(
                'x-oss-copy-source-if-match' => 'E024E425254F1EEDB237F69F854CE883',
                'x-oss-copy-source-if-none-match' => 'Thu, 18 Jun 2015 08:50:31 GMT',
                'x-oss-copy-source-if-unmodified-since' => 'Thu, 18 Jun 2015 08:50:31 GMT',
                'x-oss-copy-source-if-modified-since' => 'Thu, 18 Jun 2015 09:50:31 GMT',
                'x-oss-metadata-directive' => 'COPY',
                'x-oss-server-side-encryption' => 'AES256'
            )
        );

        $response = $obj->copy_object($from_bucket,$from_object,$to_bucket,$to_object,$options);
  • パラメーターの説明
        $from_bucket: 必須パラメーター。ソースバケットを示し、バケットの命名規則に準拠している必要があります。
        $from_object: 必須パラメーター。ソースオブジェクト。オブジェクトの命名規則に準拠している必要があります。
        $to_bucket: 必須パラメーター。コピー先のバケット。バケットの命名規則に準拠している必要があります。
        $to_object: 必須パラメーター。コピー先のオブジェクト。オブジェクトの命名規則に準拠している必要があります。
        $options: オプションのパラメーター。指定した場合、次に示す複数のオプションを含む ALIOSS::OSS_HEADERS ヘッダーパラメーターを定義できます。
            x-oss-copy-source-if-match: ソースオブジェクトの ETAG 値とユーザーが指定した ETag が同じ場合は、コピー操作が実行されます。
            それ以外の場合は、412 HTTP エラーコード (前処理の失敗) が返されます。
            x-oss-copy-source-if-none-match: ユーザーが指定した日時以降にソースオブジェクトが変更されていない場合は、コピー操作が実行されます。
            それ以外の場合は、412 HTTP エラーコード (前処理の失敗) が返されます。
            x-oss-copy-source-if-unmodified-since: パラメーター内の時間がファイルの実際の変更時間と同じかそれよりも遅い場合、ファイルは通常どおり送信され
            200 OK が返されます。それ以外の場合は、412 前提条件の失敗の例外がスローされます。
            x-oss-copy-source-if-modified-since: ユーザーが指定した日時以降にソースオブジェクトが変更されている場合は、コピー操作が実行されます。
            それ以外の場合は、412 HTTP エラーコード (前処理の失敗) が返されます。
            x-oss-metadata-directive: 値には COPY と REPLACE があります。このパラメーターが COPY に設定されている場合、新しいオブジェクトのメタはすべてソースオブジェクトからコピーされます。
            このパラメーターが REPLACE に設定されている場合、ソースオブジェクトのメタは無視され、このリクエストでユーザーが指定したメタ値が使用されます。それ以外の値を設定した場合は、400 HTTP エラーコードが返される可能性があります。
            この値が COPY の場合でも、ソースオブジェクトの x-oss-server-side-encryption のメタ値はコピーされません。デフォルト値は COPY です。
            x-oss-server-side-encryption は、OSS によってターゲットオブジェクトが作成される際に使用するサーバーエントロピ暗号化アルゴリズムを指定します。現在、AES256 のみがサポートされています。
  • 応答結果
    得られた応答を配列に変換することによって結果が得られます。次のようになります。

        Array(
            [status] => 200
            [header] => Array(
                [content-type] => application/xml
                [content-length] => 184
                [connection] => close
                [date] => Thu, 02 Jul 2015 09:26:28 GMT
                [etag] => "E024E425254F1EEDB237F69F854CE883"
                [server] => AliyunOSS
                [x-oss-request-id] => 559503C458DB3AB752161E83
                [x-oss-server-side-encryption] => AES256
            )

            [body] => Array(
                [CopyObjectResult] => Array(
                    [LastModified] => 2015-07-02T09:26:28.000Z
                    [ETag] => "E024E425254F1EEDB237F69F854CE883"
                )
            )
        )
  • オブジェクトのメタデータの取得
    • サンプルコード
        $bucket_name = 'バケット名';
        $object_name = 'オブジェクト名';
        $options = null;
        $response = $client->get_object_meta($bucket_name,$object_name,$options);
  • パラメーターの説明
        $bucket_name: 必須パラメーター。バケットの命名規則に準拠している必要があります。
        $object_name: 必須パラメーター。オブジェクトの命名規則に準拠している必要があります。
        $options: オプション
  • 応答結果
        Array(
            [status] => 200
            [header] => Array(
                [date] => Thu, 02 Jul 2015 09:03:40 GMT
                [content-type] => plain/text
                [content-length] => 10
                [connection] => close
                [accept-ranges] => bytes
                [cache-control] => no-cache
                [content-disposition] => attachment;filename=oss_download.log
                [content-encoding] => utf-8
                [content-language] => zh-CN
                [etag] => "9BA9EF6DDFBE14916FA2D3337B427774"
                [expires] => Fri, 28 Feb 2012 05:38:42 GMT
                [last-modified] => Thu, 02 Jul 2015 08:38:10 GMT
                [server] => AliyunOSS
                [x-oss-object-type] => Normal
                [x-oss-request-id] => 5594FE6C031C87E5461618B6
                [x-oss-server-side-encryption] => AES256
            )

            [body] => 
        )
  • 1 つのオブジェクトの削除
    • サンプルコード
        $bucket_name = 'バケット名';
        $object_name = 'オブジェクト名';
        $options = null;
        $response = $client->delete_object($bucket_name,$object_name,$options);
  • パラメーターの説明
        $bucket_name: 必須パラメーター。バケットの命名規則に準拠している必要があります。
        $object_name: 必須パラメーター。オブジェクトの命名規則に準拠している必要があります。
        $options: オプション
  • 応答結果
    得られた応答を配列に変換することによって結果が得られます。次のようになります。

        Array(
            [status] => 204
            [header] => Array(
                [content-length] => 0
                [connection] => close
                [date] => Thu, 02 Jul 2015 10:01:00 GMT
                [server] => AliyunOSS
                [x-oss-request-id] => 55950BDC58DB3AB75216239D
            )

            [body] => 
        )
  • 複数オブジェクトの削除
    • サンプルコード
        $bucket_name = 'バケット名';
        $objects = array(
            'delete object 1',
            'delete object 2',
            ...
        );

        $options = array(
            'quiet' => false,
        );

        $response = $client->delete_objects($bucket_name,$objects,$options);
  • パラメーターの説明
        $bucket_name: 必須パラメーター。バケットの命名規則に準拠している必要があります。
        $objects: 必須パラメーター。このパラメーター内のオブジェクトはオブジェクトの命名規則に準拠している必要があります。
        $options: オプションのパラメーター。実際の状況に基づいて削除モードを選択できます。quite パラメーターは true|false の 2 つの値を取ります。
            true: OSS から返されるメッセージ本文には、削除処理中にエラーが発生したオブジェクトの結果のみが含まれます。すべてのオブジェクトが正常に削除された場合、メッセージ本文はありません。
            false: OSS から返されるメッセージ本文には、削除される各オブジェクトの結果が含まれます。
  • 応答結果
    得られた応答を配列に変換することによって結果が得られます。次のようになります。

        Array(
        [status] => 200
        [header] => Array(
            [content-type] => application/xml
            [content-length] => 188
            [connection] => close
            [date] => Thu, 02 Jul 2015 10:06:00 GMT
            [server] => AliyunOSS
            [x-oss-request-id] => 55950D0858DB3AB752162459
        )

        [body] => Array(
            [DeleteResult] => Array(
                [Deleted] => Array(
                    [0] => Array(
                        [Key] => delegate_execute.exe
                    )

                    [1] => Array(
                        [Key] => metro_driver.dll
                    )
                )
            )
        )
  • オブジェクトのダウンロード
    • サンプルコード
        $bucket_name = 'ダウンロードするバケット';
        $object_name = 'ダウンロードするオブジェクト';

        $options = array(
            ALIOSS::OSS_FILE_DOWNLOAD => "download path",
            ALIOSS::OSS_RANGE  => '0-1',
        );    

        $response = $client>get_object($bucket_name,$object_name,$options);
  • パラメーターの説明
        $bucket_name: 必須パラメーター。バケットの命名規則に準拠している必要があります。
        $object_name: 必須パラメーター。オブジェクトの命名規則に準拠している必要があります。
        $options: 必須パラメーター。このパラメーターでは、実際の状況に基づいて ALIOSS::OSS_FILE_DOWNLOAD オプションと ALIOSS::OSS_RANGE オプションを指定する必要があります。
        指定しない場合、デフォルトですべてのコンテンツがダウンロードされます。
  • 応答結果
    得られた応答を配列に変換することによって結果が得られます。次のようになります。

        Array(
            [status] => 206
            [header] => Array(
            )

            [body] => 
        )

MultipartUpload 関連操作

  • multipartUpload の初期化
    • サンプルコード
        $bucket_name = 'バケット名';
        $object_name = 'オブジェクト名';
        $options = array(
            ALIOSS::OSS_HEADERS => array(
                'Expires' => 'Fri, 28 Feb 2012 05:38:42 GMT',
                'Cache-Control' => 'no-cache',
                'Content-Disposition' => 'attachment;filename=oss_download.log',
                'Content-Encoding' => 'utf-8',
                'Content-Type' => 'plain/text',
                'Content-Language' => 'zh-CN',
                'x-oss-server-side-encryption' => 'AES256',
            ),
        );
        $response = $client->initiate_multipart_upload($bucket_name,$object_name,$options);
  • パラメーターの説明
        $bucket_name: 必須パラメーター。バケットの命名規則に準拠している必要があります。
        $object_name: 必須パラメーター。オブジェクトの命名規則に準拠している必要があります。
        $options: 必須パラメーター。アップロードに必要なさまざまな情報を指定します。詳細を次に示します。
            ALIOSS::OSS_HEADERS: オプションのパラメーター。指定した場合、このオブジェクトのメタ情報を示し、次のヘッダー情報を設定できます。
                Expires は有効期限です (ミリ秒単位)。
                Cache-Control はオブジェクトがダウンロードされる際の Web ページのキャッシュ動作を指定します。
                Content-Disposition はダウンロードされる際のオブジェクトの名前を指定します。
                Content-Encoding はオブジェクトがダウンロードされる際のコンテンツのエンコーディング形式を指定します。
                'Content-Type' => 'plain/text' は、オブジェクト応答の際の MIME タイプを指定します。
                Content-Language はダウンロードされる際のオブジェクトの言語を指定します。
                x-oss-server-side-encryption は OSS によってオブジェクトが作成される際に使用されるサーバー側の暗号化アルゴリズムを指定します。
  • 応答結果
    得られた応答を配列に変換することによって結果が得られます。次のようになります。

        Array(
            [status] => 200
            [header] => Array(
                [content-type] => application/xml
                [content-length] => 234
                [connection] => close
                [date] => Thu, 02 Jul 2015 11:35:36 GMT
                [server] => AliyunOSS
                [x-oss-request-id] => 5595220858DB3AB7521631B1
                [x-oss-server-side-encryption] => AES256
            )

            [body] => Array(
                [InitiateMultipartUploadResult] => Array(
                    [Bucket] => common-bucket
                    [Key] => multipart-upload-1435836936
                    [UploadId] => 154A34BD1FE24A90A025EB800AA392CC
                )
            )
        )
  • パートのアップロード
    • サンプルコード
        $bucket_name = 'バケット名';
        $object_name = 'オブジェクト名';
        $upload_id = 'upload id';
        $options = array(
            'fileUpload' => 'upload path',
            'partNumber' => 1,
            'seekTo' => 1,
            'length' => 5242880,
        );

        $response = $client->upload_part($bucket_name,$object_name, $upload_id, $options);
  • パラメーターの説明
        $bucket_name: 必須パラメーター。バケットの命名規則に準拠している必要があります。
        $object_name: 必須パラメーター。オブジェクトの命名規則に準拠している必要があります。
        $upload_id: 必須パラメーター。マルチパートアップロード ID に対応するパートをアップロードします。
        $options: 必須パラメーター。アップロードに必要なさまざまな情報を指定します。詳細を次に示します。
            fileUpload: アップロードするファイルのパス
            partNumber: アップロードするパートのシリアル番号
            seekTo: アップロードファイルにアクセスするときの開始バイト
            length: スライスサイズ
  • 応答結果
    得られた応答を配列に変換することによって結果が得られます。次のようになります。

        Array(
            [status] => 200
            [header] => Array(
                [content-length] => 0
                [connection] => close
                [date] => Thu, 02 Jul 2015 11:35:36 GMT
                [etag] => "3AE3AD480200A26738F10CBF2FFBE8B6"
                [server] => AliyunOSS
                [x-oss-request-id] => 5595220858DB3AB7521631B3
                [x-oss-server-side-encryption] => AES256
            )

            [body] => 
        )
  • アップロードパートのコピー
    • サンプルコード
        $from_bucket = 'コピー元のバケット';
        $from_object = 'コピー元のオブジェクト';
        $to_bucket = 'コピー先のバケット';
        $to_object = 'コピー先のオブジェクト';
        $part_number = 1;
        $upload_id = 'コピー先のアップロード ID';
        $options = array(
            'start' => 0,
            'end' => 25000032,
        );

        $response = $client->copy_upload_part($from_bucket,$from_object,$to_bucket,$to_object,$part_number,$upload_id,$options);
  • パラメーターの説明
        $from_bucket: 必須パラメーター。ソースバケットを示し、バケットの命名規則に準拠している必要があります。
        $from_object: 必須パラメーター。ソースオブジェクト。オブジェクトの命名規則に準拠している必要があります。
        $to_bucket: 必須パラメーター。コピー先のバケット。バケットの命名規則に準拠している必要があります。
        $to_object: 必須パラメーター。コピー先のオブジェクト。オブジェクトの命名規則に準拠している必要があります。
        $part_number: 必須パラメーター。範囲 1 ~ 10,000
        $upload_id: 必須パラメーター。multipartupload の初期化によって返されるアップロード ID
        $options: オプションのパラメーター。isFullCopy、startRange、endRange、 
            ALIOSS::OSS_HEADERS などのパラメーターを提供します。ALIOSS::OSS_HEADERS で設定可能なパラメーターを次に示します。
                x-oss-copy-source-if-match: ソースオブジェクトの ETAG 値とユーザーが指定した ETag が同じ場合は、コピー操作が実行されます。
                それ以外の場合は、412 HTTP エラーコード (前処理の失敗) が返されます。
                x-oss-copy-source-if-none-match: ユーザーが指定した日時以降にソースオブジェクトが変更されていない場合は、コピー操作が実行されます。
                それ以外の場合は、412 HTTP エラーコード (前処理の失敗) が返されます。
                x-oss-copy-source-if-unmodified-since: パラメーター内の時間がファイルの実際の変更時間と同じかそれよりも遅い場合、ファイルは通常どおり送信され
                200 OK が返されます。それ以外の場合は、412 前提条件の失敗の例外がスローされます。
                x-oss-copy-source-if-modified-since: ユーザーが指定した日時以降にソースオブジェクトが変更されている場合は、コピー操作が実行されます。
                それ以外の場合は、412 HTTP エラーコード (前処理の失敗) が返されます。
            isFullCopy: 全体コピーが有効かどうか。このパラメーターが true に設定されている場合、startRange および endRange を設定する必要はありません。
            startRange: isFullCopy が false の場合、このパラメーターが有効になり、ソースオブジェクトのコピー開始位置を指定します。
            endRange: isFullCopy が false の場合、このパラメーターが有効になり、ソースオブジェクトのコピー終了位置を指定します。
  • 応答結果

     得られた応答を配列に変換することによって結果が得られます。次のようになります。
    
         Array
         (
             [success] => 1
             [status] => 200
             [header] => Array
                 (
                     [date] => Thu, 06 Aug 2015 18:13:59 GMT
                     [content-type] => application/xml
                     [content-length] => 180
                     [connection] => keep-alive
                     [content-range] => bytes 11304368-11534335/11534336
                     [etag] => "E95C28888F15B92B9C49C9ECEC53C958"
                     [server] => AliyunOSS
                     [x-oss-bucket-version] => 1438864637
                     [x-oss-request-id] => 55C3A3E79646C3C03F40EA5E
                 )
    
             [body] => Array
                 (
                     [CopyPartResult] => Array
                         (
                             [LastModified] => 2015-08-06T18:13:59.000Z
                             [ETag] => "E95C28888F15B92B9C49C9ECEC53C958"
                         )
    
                 )
    
         )
  • パートリストの取得
    • サンプルコード
        $bucket_name = 'バケット名';
        $object_name = 'オブジェクト名';
        $upload_id = 'upload id';
        $options = null;
        $response = $client->list_parts($bucket_name,$object_name, $upload_id,$options);
  • パラメーターの説明
        $bucket_name: 必須パラメーター。バケットの命名規則に準拠している必要があります。
        $object_name: 必須パラメーター。オブジェクトの命名規則に準拠している必要があります。
        $upload_id: 必須パラメーター。マルチパートアップロード ID に対応するパートをアップロードします。
        $options: オプション
  • 応答結果
    得られた応答を配列に変換することによって結果が得られます。次のようになります。

        Array(
            [status] => 200
            [header] => Array(
                [content-type] => application/xml
                [content-length] => 584
                [connection] => close
                [date] => Thu, 02 Jul 2015 11:35:40 GMT
                [server] => AliyunOSS
                [x-oss-request-id] => 5595220C031C87E546162F44
            )

            [body] => Array(
                [ListPartsResult] => Array(
                    [Bucket] => common-bucket
                    [Key] => multipart-upload-1435836813
                    [UploadId] => B4D4B89F8B064A3D835D83D7805B49F3
                    [StorageClass] => Standard
                    [PartNumberMarker] => 0
                    [NextPartNumberMarker] => 1
                    [MaxParts] => 1000
                    [IsTruncated] => false
                    [Part] => Array(
                        [PartNumber] => 1
                        [LastModified] => 2015-07-02T11:35:40.000Z
                        [ETag] => "3AE3AD480200A26738F10CBF2FFBE8B6"
                        [Size] => 5242880
                    )
                )
            )
        )
  • multipartUpload リストの取得
    • サンプルコード
        $bucket_name = 'バケット名';
        $options = array(
            'delimiter' => '/',
            'max-uploads' => 2,
            'key-marker' => '',
            'prefix' => '',
            'upload-id-marker' => ''
        );
        $response = $client->list_multipart_uploads($bucket_name,$options);
  • パラメーターの説明
        $bucket_name: 必須パラメーター。バケットの命名規則に準拠している必要があります。
        $options: オプションのパラメーター。次のパラメーターを指定します。
            delimiter はオブジェクト名をグループ化するために使用する文字です。指定されたプレフィックスが名前に含まれ、delimiter 文字の間に最初に現れるすべてのオブジェクトは要素のグループとして使用されます。
            (CommonPrefixes)。max-uploads は 1 件のリクエストに対して返されるマルチパートアップロードイベントの最大数を指定します。指定しない場合、デフォルト値は 1,000 です。max-keys の値は 1,000 を超えることはできません。
            key-marker は upload-id-marker パラメーターと共に使用され、返される結果の開始位置を指定します。upload-id-marker パラメーターが指定されていない場合は、クエリ結果には次が含まれます。
            辞書式順序のすべてのオブジェクト名が key-marker パラメーターの値を超えているマルチパートイベント。l upload-id-marker パラメーターが指定されている場合は、クエリ結果には次が含まれます。
            辞書式順序のすべてのオブジェクト名が key-marker パラメーターの値を超えているマルチパートイベントと、オブジェクト名が key-marker パラメーターの値と同じだがアップロード ID が upload-id-marker パラメーターの値を超えているすべてのマルチパートアップロードイベント
            prefix を指定すると、返されるオブジェクトキーにプレフィックスが付いている必要があります。プレフィックスを使用するクエリから返されるキーにはそのプレフィックスも含まれることに注意してください。
            upload-id-marker は key-marker パラメーターと共に使用され、返される結果の開始位置を指定します。key-marker パラメーターが指定されていない場合、OSS は upload-id-marker パラメーターを無視します。
             key-marker パラメーターが指定されている場合、クエリ結果には、辞書式順序のすべてのオブジェクト名が key-marker パラメーターの値を超えているマルチパートイベントと、オブジェクト名が key-marker パラメーターの値と同じだがアップロード ID が upload-id-marker パラメーターの値を超えているすべてのマルチパートアップロードイベントが含まれます。
  • 応答結果
    得られた応答を配列に変換することによって結果が得られます。次のようになります。

        Array(
            [status] => 200
            [header] => Array(
                [content-type] => application/xml
                [content-length] => 876
                [connection] => close
                [date] => Thu, 02 Jul 2015 12:01:50 GMT
                [server] => AliyunOSS
                [x-oss-request-id] => 5595282E031C87E546163301
            )

            [body] => Array(
                [ListMultipartUploadsResult] => Array(
                    [Bucket] => common-bucket
                    [KeyMarker] => 
                    [UploadIdMarker] => 
                    [NextKeyMarker] => multipart-upload-1435835648
                    [NextUploadIdMarker] => 5C79DDEC71DE478AA4AD9E9AA8BFE6DE
                    [Delimiter] => /
                    [Prefix] => 
                    [MaxUploads] => 2
                    [IsTruncated] => true
                    [Upload] => Array(
                        [0] => Array(
                            [Key] => multipart-upload-1435835395
                            [UploadId] => 799C914C0EC3448BAC126849A1B1D6D0
                            [StorageClass] => Standard
                            [Initiated] => 2015-07-02T11:09:55.000Z
                        )

                        [1] => Array(
                            [Key] => multipart-upload-1435835648
                            [UploadId] => 5C79DDEC71DE478AA4AD9E9AA8BFE6DE
                            [StorageClass] => Standard
                            [Initiated] => 2015-07-02T11:14:08.000Z
                        )
                    )
                )
            )
        )
  • multipartUpload の中止
    • サンプルコード
        $bucket_name = 'バケット名';
        $object_name = 'オブジェクト名';
        $upload_id = 'upload id';
        $options = null;
        $response = $client->abort_multipart_upload($bucket_name,$object_name,$upload_id,$options);
  • パラメーターの説明
        $bucket_name: 必須パラメーター。バケットの命名規則に準拠している必要があります。
        $object_name: 必須パラメーター。オブジェクトの命名規則に準拠している必要があります。
        $upload_id: 必須パラメーター。マルチパートアップロード ID に対応するパートをアップロードします。
        $options: オプション
  • 応答結果
    得られた応答を配列に変換することによって結果が得られます。次のようになります。

        Array(
            [status] => 204
            [header] => Array(
                [content-length] => 0
                [connection] => close
                [date] => Thu, 02 Jul 2015 11:53:52 GMT
                [server] => AliyunOSS
                [x-oss-request-id] => 55952650031C87E5461631E7
            )

            [body] => 
        )
  • multipartUpload の完了
    • サンプルコード
        $bucket_name = 'バケット名';
        $object_name = 'オブジェクト名';
        $upload_id = 'upload id';

        $upload_parts = array();
        $upload_parts[] = array(
            'PartNumber' => 1,
            'ETag' => '3AE3AD480200A26738F10CBF2FFBE8B6'
        );
        $options = null;
        $response = $client->complete_multipart_upload($bucket_name,$object_name,$upload_id,$upload_parts,$options);
  • パラメーターの説明
        $bucket_name: 必須パラメーター。バケットの命名規則に準拠している必要があります。
        $object_name: 必須パラメーター。オブジェクトの命名規則に準拠している必要があります。
        $upload_id: 必須パラメーター。マルチパートアップロード ID に対応するパートをアップロードします。
        $upload_parts: パートを含む配列。PartNumber と Etag を含む必要があります。
        $options: オプション
  • 応答結果
    得られた応答を配列に変換することによって結果が得られます。次のようになります。

        Array(
            [status] => 200
            [header] => Array(

                [content-type] => application/xml
                [content-length] => 331
                [connection] => close
                [date] => Thu, 02 Jul 2015 11:35:40 GMT
                [etag] => "003B6AEB546001A97D838E411025239A-1"
                [server] => AliyunOSS
                [x-oss-request-id] => 5595220C031C87E546162F45
                [x-oss-server-side-encryption] => AES256
            )

            [body] => Array(
                [CompleteMultipartUploadResult] => Array(
                    [Location] => http://common-bucket.oss-cn-shanghai.aliyuncs.com/multipart-upload-1435836813
                    [Bucket] => common-bucket
                    [Key] => multipart-upload-1435836813
                    [ETag] => "003B6AEB546001A97D838E411025239A-1"
                )
            )
        )

ライフサイクル管理

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

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

  • 応答結果
    得られた応答を配列に変換することによって結果が得られます。次のようになります。

        Array(
            [status] => 200
            [header] => Array(
                [date] => Thu, 02 Jul 2015 06:32:57 GMT
                [content-length] => 0
                [connection] => close
                [server] => AliyunOSS
                [x-oss-request-id] => 5594DB19031C87E5461601D1
            )

            [body] => 
        )
  • ライフサイクルルールの取得
    • サンプルコード
        $bucket_name = "バケット名";
        $options = null;
        $response = $client->get_bucket_lifecycle($bucket_name,$options);
  • パラメーターの説明
        $bucket_name: 必須パラメーター。バケットの命名規則に準拠している必要があります。
        $options: オプション
  • 応答結果
    得られた応答を配列に変換することによって結果が得られます。次のようになります。

        Array(
            [status] => 200
            [header] => Array(
                [date] => Thu, 02 Jul 2015 06:32:57 GMT
                [content-type] => application/xml
                [content-length] => 243
                [connection] => close
                [server] => AliyunOSS
                [x-oss-request-id] => 5594DB1958DB3AB75216045C
            )

            [body] => Array(
                [LifecycleConfiguration] => Array(
                    [Rule] => Array(
                        [ID] => DaysRule
                        [Prefix] => days/
                        [Status] => Enabled
                        [Expiration] => Array(
                            [Days] => 1
                        )
                    )
                )
            )
        )
  • ライフサイクルルールの削除
    • サンプルコード
        $bucket_name = "バケット名";
        $options = null;
        $response = $client->delete_bucket_lifecycle($bucket_name,$options);
  • パラメーターの説明
        $bucket_name: 必須パラメーター。バケットの命名規則に準拠している必要があります。
        $options: オプション
  • 応答結果
    得られた応答を配列に変換することによって結果が得られます。次のようになります。

        Array(
            [status] => 204
            [header] => Array(
                [date] => Thu, 02 Jul 2015 06:32:58 GMT
                [content-length] => 0
                [connection] => close
                [server] => AliyunOSS
                [x-oss-request-id] => 5594DB1A58DB3AB75216045D
            )

            [body] => 
        )

CORS (Cross-Origin Resource Sharing)

  • CORS ルールの作成
    • サンプルコード
        $bucket_name = 'バケット名';

        $cors_rule = array();

        $cors_rule[ALIOSS::OSS_CORS_ALLOWED_HEADER]=array("x-oss-test");
        $cors_rule[ALIOSS::OSS_CORS_ALLOWED_METHOD]=array("GET");
        $cors_rule[ALIOSS::OSS_CORS_ALLOWED_ORIGIN]=array("http://www.b.com");
        $cors_rule[ALIOSS::OSS_CORS_EXPOSE_HEADER]=array("x-oss-test1");
        $cors_rule[ALIOSS::OSS_CORS_MAX_AGE_SECONDS] = 10;

        $cors_rules=array($cors_rule);

        $options = null;
        $response = $obj->set_bucket_cors($bucket_name, $cors_rules,$options);            
  • パラメーターの説明
        $bucket_name: 必須パラメーター。バケットの命名規則に準拠している必要があります。
        $cors_rules: CORS ルールの配列を定義します。各ルールには、次の要素が含まれている必要があります。
            ALIOSS::OSS_CORS_ALLOWED_ORIGIN: 必須パラメーター。クロスオリジンリクエストの許可されるオリジンを指定します。各ルールに 2 つ以上の "*" 記号を含めることはできません。
            ALIOSS::OSS_CORS_ALLOWED_METHOD: 必須パラメーター。許可されるクロスオリジンリクエストメソッドを指定します。GET、PUT、POST、DELETE、HEAD から 1 つ以上を選択します。
            ALIOSS::OSS_CORS_ALLOWED_HEADER: オプション。このパラメーターは、OPTIONS のプリフェッチコマンドの Access-Control-Request-Headers で指定されたヘッダーを許可するかどうかを決定します。
            Access-Control-Request-Headers で指定された各ヘッダーが AllowedHeader の値と一致している必要があります。各ルールでは、2 つ以上のワイルドカード "*" はサポートされません。
            ALIOSS::OSS_CORS_EXPOSE_HEADER: オプション。このパラメーターは、ユーザーがアプリケーション (Javascript の 1 つの XMLHttpRequest オブジェクトなど) からアクセスできる応答ヘッダーを示します。
            ワイルドカード "*" は使用できません。
            ALIOSS::OSS_CORS_MAX_AGE_SECONDS: オプション。このパラメーターは、特定のリソースに対するブラウザープリフェッチ (OPTIONS) リクエストの結果のキャッシュ時間 (秒数) を指定します。
            CORSRule ごとに 1 つのパラメーターを指定できます。

        $options: オプション
  • 応答結果
    得られた応答を配列に変換することによって結果が得られます。次のようになります。

        Array(
            [status] => 200
            [header] => Array(
                [date] => Thu, 02 Jul 2015 07:03:29 GMT
                [content-length] => 0
                [connection] => close
                [server] => AliyunOSS
                [x-oss-request-id] => 5594E241031C87E546160697
            )

            [body] => 
        )
  • CORS ルールの取得
    • サンプルコード
        $bucket = 'バケット名';
        $options = null;
        $response = $client->get_bucket_cors($bucket_name,$options);
  • パラメーターの説明
        $bucket_name: 必須パラメーター。バケットの命名規則に準拠している必要があります。
        $options: オプション
  • 応答結果
    得られた応答を配列に変換することによって結果が得られます。次のようになります。

        Array(
            [status] => 200
            [header] => Array(
                [date] => Thu, 02 Jul 2015 07:03:39 GMT
                [content-type] => application/xml
                [content-length] => 327
                [connection] => close
                [server] => AliyunOSS
                [x-oss-request-id] => 5594E24B58DB3AB752160920
            )

            [body] => Array(
                [CORSConfiguration] => Array(
                    [CORSRule] => Array(
                        [AllowedOrigin] => http://www.b.com
                        [AllowedMethod] => GET
                        [AllowedHeader] => x-oss-test
                        [ExposeHeader] => x-oss-test1
                        [MaxAgeSeconds] => 10
                    )
                )
            )
        )
  • クロスオリジンリクエストが許可されるかどうかの決定
    • サンプルコード
        $bucket_name = 'バケット名';
        $object_name ='オブジェクト名';
        $origin = 'http://www.b.com';
        $request_method = ALIOSS::OSS_HTTP_GET;
        $request_headers = 'x-oss-test';
        $options = null;

        $response = $obj->options_object($bucket_name, $object_name, $origin, $request_method, $request_headers,$options);
  • パラメーターの説明
        $bucket_name: 必須パラメーター。バケットの命名規則に準拠している必要があります。
        $object_name: 必須パラメーター。オブジェクトの命名規則に準拠している必要があります。
        $origin: 必須パラメーター。リクエストのオリジンを示します。クロスオリジンリクエストを識別するために使用されます。
        $request_method: 必須パラメーター。実際のリクエストで使用されるメソッドを示します。
        $request_headers: 必須パラメーター。実際のリクエストで使用されるヘッダーを示します (単純なヘッダーは除く)。
        $options: オプション
  • 応答結果
    得られた応答を配列に変換することによって結果が得られます。次のようになります。

        Array(
            [status] => 200
            [header] => Array(
                [date] => Thu, 02 Jul 2015 07:03:39 GMT
                [content-length] => 0
                [connection] => close
                [server] => AliyunOSS
                [x-oss-request-id] => 5594E24B031C87E5461606A1
            )

            [body] => 
        )
  • CORS ルールの削除
    • サンプルコード
        $bucket_name = "バケット名";
        $options = null;
        $response = $client->delete_bucket_cors($bucket_name,$options);
  • パラメーターの説明
        $bucket_name: 必須パラメーター。バケットの命名規則に準拠している必要があります。
        $options: オプション
  • 応答結果
    得られた応答を配列に変換することによって結果が得られます。次のようになります。

        Array
        (
            [status] => 204
            [header] => Array(
                [date] => Thu, 02 Jul 2015 07:03:39 GMT
                [content-length] => 0
                [connection] => close
                [server] => AliyunOSS
                [x-oss-request-id] => 5594E24B031C87E5461606A2
            )

            [body] => 
        )

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

  • Web サイトの設定
    • サンプルコード
        $bucket_name = 'バケット名';
        $index_document = 'index.html';
        $error_document = 'error.html';    
        $options = null;    
        $response = $client->set_bucket_website($bucket_name,$index_document,$error_document,$options);
  • パラメーターの説明
        $bucket_name: 必須パラメーター。バケットの命名規則に準拠している必要があります。
        $index_document: 必須パラメーター。Web サイト機能が有効な場合、index_document パラメーターを設定する必要があります。
        $error_document: オプションのパラメーター。Web サイト機能が有効な場合、error_document を設定するかどうか選択できます。
        $options: オプション
  • 応答結果
    得られた応答を配列に変換することによって結果が得られます。次のようになります。

        Array(
            [status] => 200
            [header] => Array(
                [date] => Thu, 02 Jul 2015 02:39:23 GMT
                [content-length] => 0
                [connection] => close
                [server] => AliyunOSS
                [x-oss-request-id] => 5594A45B58DB3AB75215E239
            )

            [body] => 
        )            
  • Web サイト設定の取得
    • サンプルコード
        $bucket_name = "バケット名";
        $options = null;
        $response = $client->get_bucket_website($bucket_name,$options);
  • パラメーターの説明
        $bucket_name: 必須パラメーター。バケットの命名規則に準拠している必要があります。
        $options: オプション
  • 応答結果
    得られた応答を配列に変換することによって結果が得られます。次のようになります。

        Array(
            [status] => 200
            [header] => Array(
                [date] => Thu, 02 Jul 2015 02:39:24 GMT
                [content-type] => application/xml
                [content-length] => 218
                [connection] => close
                [server] => AliyunOSS
                [x-oss-request-id] => 5594A45C031C87E54615DF98
            )

            [body] => Array(
                [WebsiteConfiguration] => Array(
                    [IndexDocument] => Array(
                        [Suffix] => index.html
                    )

                   [ErrorDocument] => Array(
                        [Key] => error.html
                    )
                )
            )
        )    
  • Web サイトの削除
    • サンプルコード
        $bucket_name = "バケット名";
        $options = null;
        $response = $client->delete_bucket_website($bucket_name,$options);
  • パラメーターの説明
        $bucket_name: 必須パラメーター。バケットの命名規則に準拠している必要があります。
        $options: オプション
  • 応答結果
    得られた応答を配列に変換することによって結果が得られます。次のようになります。

        Array(
            [status] => 204
            [header] => Array(
                [date] => Thu, 02 Jul 2015 02:39:24 GMT
                [content-length] => 0
                [connection] => close
                [server] => AliyunOSS
                [x-oss-request-id] => 5594A45C031C87E54615DF99
            )
            [body] => 
        )            

ログ

  • ログの設定
    • サンプルコード
        $bucket_name = "バケット名";
        $target_bucket_name = "ログ対象のバケット";
        $target_prefix = "ログファイルのプレフィックス";
        $options = null;
        $response = $client->set_bucket_logging($bucket_name,$target_bucket_name,$target_prefix,$options);
  • パラメーターの説明
        $bucket_name: 必須パラメーター。バケットの命名規則に準拠している必要があり、オーナーの既存のバケットである必要があります。
        $target_bucket_name: 必須パラメーター。ログの保存先のバケットを示し、ログの対象のバケットと同じクラスターに存在しなければなりません。
        $target_prefix: オプションのパラメーター。このパラメーターが指定されている場合、ログファイル名は $target_prefix + OSS ログ命名規則になります。
        $options: オプション
  • 応答結果
    得られた応答を配列に変換することによって結果が得られます。次のようになります。

        Array(
            [status] => 200
            [header] => Array(
                [date] => Thu, 02 Jul 2015 01:59:06 GMT
                [content-length] => 0
                [connection] => close
                [server] => AliyunOSS
                [x-oss-request-id] => 55949AEA031C87E54615D996
            )

            [body] => 
        )
  • ログ設定の取得
    • サンプルコード
        $bucket_name = "バケット名";
        $options = null;
        $response = $client->get_bucket_logging($bucket_name,$options);
  • パラメーターの説明
        $bucket_name: 必須パラメーター。バケットの命名規則に準拠している必要があります。
        $options: オプション
  • 応答結果
    得られた応答を配列に変換することによって結果が得られます。次のようになります。

        Array(
            [status] => 200
            [header] => Array(
                [date] => Thu, 02 Jul 2015 02:14:09 GMT
                [content-length] => 235
                [connection] => close
                [server] => AliyunOSS
                [x-oss-request-id] => 55949E7158DB3AB75215DE78
            )

            [body] => Array(
                [BucketLoggingStatus] => Array(
                    [LoggingEnabled] => Array(
                        [TargetBucket] => a-00000000000000000003
                        [TargetPrefix] => common-bucket-logging-
                    )
                )
            )
        )
  • ログの削除
    • サンプルコード
        $bucket_name = "バケット名";
        $options = null;
        $response = $client->get_bucket_logging($bucket_name,$options);            
  • パラメーターの説明
        $bucket_name: 必須パラメーター。バケットの命名規則に準拠している必要があります。
        $options: オプション
  • 応答結果
    得られた応答を配列に変換することによって結果が得られます。次のようになります。

        Array(
            [status] => 204
            [header] => Array(
                [date] => Thu, 02 Jul 2015 02:29:12 GMT
                [content-length] => 0
                [connection] => close
                [server] => AliyunOSS
                [x-oss-request-id] => 5594A1F858DB3AB75215E0C4
            )

            [body] => 
        )

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

  • リファラー Anti-leech 保護の設定
    • サンプルコード
        $bucket_name = 'バケット名';
        $is_allow_empty_referer = true;
        $referer_list = array(
            'http://aliyun.com',
            'http://sina.com.cn'
        );
        $options = null;
        $response = $client->set_bucket_referer($bucket_name,$is_allow_empty_referer,$referer_list,$options);
  • パラメーターの説明
        $bucket_name: 必須パラメーター。バケットの命名規則に準拠している必要があります。
        $is_allow_empty_referer: 必須パラメーター。リファラーを空白にできるかどうかを決定します。デフォルトは true です。
        $referer_list: 必須パラメーター。許可されるリファラーのホワイトリストを示します。各レコードは http:// で始まる必要があります。
        $options: オプション        
  • 応答結果
    得られた応答を配列に変換することによって結果が得られます。次のようになります。

        Array(
            [status] => 200
            [header] => Array(
                [date] => Thu, 02 Jul 2015 03:30:46 GMT
                [content-length] => 0
                [connection] => close
                [server] => AliyunOSS
                [x-oss-request-id] => 5594B06658DB3AB75215E9EC
            )

            [body] => 
        )
  • リファラー設定の取得
    • サンプルコード
        $bucket_name = 'バケット名';
        $options = null;
        $response = $client->get_bucket_referer($bucket_name,$options);
  • パラメーターの説明
        $bucket_name: 必須パラメーター。バケットの命名規則に準拠している必要があります。
        $options: オプション
  • 応答結果
    得られた応答を配列に変換することによって結果が得られます。次のようになります。

        Array(
            [status] => 200
            [header] => Array(
                [date] => Thu, 02 Jul 2015 03:30:46 GMT
                [content-type] => application/xml
                [content-length] => 248
                [connection] => close
                [server] => AliyunOSS
                [x-oss-request-id] => 5594B06658DB3AB75215E9F2
            )

            [body] => Array(
                [RefererConfiguration] => Array(
                    [AllowEmptyReferer] => true
                    [RefererList] => Array(
                        [Referer] => Array(
                            [0] => http://aliyun.com
                            [1] => http://sina.com.cn
                        )
                    )
                )
            )
        )

URL 署名操作

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