edit-icon download-icon

初期化

最終更新日: Jun 03, 2019

OSS/OSSClientはSDKのクライアントクラスで、バケットやオブジェクトを管理するための一連のインターフェイスを提供します。

エンドポイントを決定する

エンドポイントは、リージョン内のAlibaba Cloud OSのアドレスです。現在、2つの形式をサポートしています。

エンドポイントタイプ 説明
OSSリージョンアドレス OSSバケットが配置されているリージョンのアドレス。さまざまなリージョンのエンドポイントの詳細については、OSS アクセスドメイン名参照してください。
ユーザー定義のドメイン名 ユーザーが定義したドメイン名。CNAMEはOSSドメインにリダイレクトされます。

OSSリージョンアドレス

次の2つの方法のいずれかを使用して、OSSバケットが配置されているリージョンのアドレスにマップされたエンドポイントを検索できます。

  • エンドポイントとリージョン間のマッピング関係を照会する。詳細は、OSS アクセスドメイン名クリックしてください。

  • Alibaba Cloud OSS Consoleにログオンし、[概要]ページを開き、バケットドメインの接尾辞を見つけます。たとえば、バケットドメイン「bucket-1.oss-cn-hangzhou.aliyuncs.com」の接尾辞「oss-cn-hangzhou.aliyuncs.com」は、インターネット上のバケットのエンドポイントです。

CNAME

CNAMEを使用してドメインをバケットにバインドし、ドメインを介してバケット内のオブジェクトにアクセスできます。

たとえば、Shenzhenの image という名前のバケットにnew-image.xxxxx.comドメインをバインドする必要がある場合は、次のようにします。

http:// new-image.xxxxx.comhttp://image.oss-cn-shenzhen.aliyuncsと解決するために、使用される新しいドメイン名解決レコードを設定するには、ドメインホスティングプロバイダにxxxxx.com.comと設定します。レコードタイプはCNAMEです。

アクセスキーを設定する

Alibaba Cloud OSSにアクセスするには、署名認証のために有効なアクセスキーのペア(AccesskeyIDとAccessKeySecret)が必要です。アクセスキーは、以下の手順で取得できます。

AccessKeyIdとAccessKeySecretを取得したら、次の手順に従って初期化を行うことができます。

OSSClientを作成する

OSSドメインを使用してOSSClientを作成する

  1. <?php
  2. use OSS\OssClient;
  3. use OSS\Core\OssException;
  4. $accessKeyID = "<AccessKeyID that you obtain from OSS>";
  5. $accessKeySecret = "<AccessKeySecret that you obtain from OSS>";
  6. $endpoint = "<Domain that you select to access an OSS data center, such as http://oss-cn-hangzhou.aliyuncs.com>";
  7. try {
  8. $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);
  9. } catch (OssException $e) {
  10. print $e->getMessage();
  11. }

OSSのすべてのノードのリストについては、OSS アクセスドメイン名参照してください。

カスタムドメイン名(CNAME)を使用してOSSClientを作成する

  1. <?php
  2. use OSS\OssClient;
  3. use OSS\Core\OssException;
  4. $accessKeyId = "<AccessKeyID that you obtain from OSS>";
  5. $accessKeySecret = "<AccessKeySecret that you obtain from OSS>";
  6. $endpoint = "<your custom domain name bound to a bucket>";
  7. try {
  8. $ossClient = new OssClient(
  9. $accessKeyId, $accessKeySecret, $endpoint, true /* use cname */);
  10. } catch (OssException $e) {
  11. print $e->getMessage();
  12. }

OssClientコンストラクタでは、4番目のパラメータはカスタムドメイン名を使用するかどうかを示します。CNAMEが使用されているときは、このパラメータを trueに設定する必要があります。正式なOSSドメインを使用している場合は、パラメータを設定するか、または「false」に設定する必要はありません。

注意: ListBucketsインターフェイスは、CNAMEがエンドポイントとして使用されている場合は使用できません。

OssClient を作成するためにプロキシサーバーを使用する

  1. <?php
  2. use OSS\OssClient;
  3. use OSS\Core\OssException;
  4. $accessKeyId = "<AccessKeyID that you obtain from OSS>";
  5. $accessKeySecret = "<AccessKeySecret that you obtain from OSS>";
  6. $requestProxy = "<Your proxy server address>,such as http://<your username>:<your password>@< proxy ip>:<proxy port>";
  7. $endpoint = "<Domain that you select to access an OSS data center,such as http://oss-cn-hangzhou.aliyuncs.com>";
  8. try {
  9. $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint, false, false$requestProxy);
  10. } catch (OssException $e) {
  11. print $e->getMessage();
  12. }

注意:oss-php-sdk の利用に伴うプロキシを使用する場合は、PHPのバージョンを5.3より大きくすることをお勧めします。

ネットワークパラメータを設定する

ClientConfiguration を使用していくつかのネットワークパラメータを設定することができます:

  1. <?php
  2. $ossClient->setTimeout(3600 /* seconds */);
  3. $ossClient->setConnectTimeout(10 /* seconds */);

具体的には:

  • setTimeout パラメータは要求タイムアウト時間を秒単位で示します。デフォルト値は 5,184,000 秒です。パラメータを大きな値に設定することをお勧めします。それ以外の場合は、大きなファイルをアップロードするのに時間がかかります。

  • setConnectTimeout パラメータは、接続タイムアウト時間を秒単位で示します。デフォルト値は 10 秒です。