このトピックでは、PHP SDK を使用して、ご利用の Alibaba Cloud アカウント内のすべてのアプリケーションをクエリする方法について説明します。
環境変数の設定
ALIBABA_CLOUD_ACCESS_KEY_ID および ALIBABA_CLOUD_ACCESS_KEY_SECRET 環境変数を設定します。
Alibaba Cloud アカウント (root ユーザー) の AccessKey ペアは、すべての API オペレーションにアクセスするために使用できます。API オペレーションを呼び出す、またはルーチン O&M を実行するには、Resource Access Management (RAM) (RAM) ユーザーを使用することを推奨します。RAM ユーザーの使用方法の詳細については、「RAM ユーザーの作成」をご参照ください。
AccessKey ペアの作成方法の詳細については、「AccessKey ペアの作成」をご参照ください。
RAM ユーザーの AccessKey ペアを使用する場合は、ご利用の Alibaba Cloud アカウントを使用して、必要な権限が AliyunServiceRoleForOpenSearch ロールに付与されていることを確認してください。詳細については、「AliyunServiceRoleForOpenSearch」および「アクセス権限付与ルール」をご参照ください。
ご利用の AccessKey ペアを、プロジェクトコードなど、他の人が簡単にアクセスできる資料に含めないことを推奨します。そうしないと、ご利用の AccessKey ペアが漏洩し、アカウント内のリソースが安全でなくなる可能性があります。
Linux および macOS
次のコマンドを実行します。
<access_key_id>および<access_key_secret>を、ご利用の RAM ユーザーの AccessKey ID および AccessKey Secret に置き換えます。export ALIBABA_CLOUD_ACCESS_KEY_ID=<access_key_id> export ALIBABA_CLOUD_ACCESS_KEY_SECRET=<access_key_secret>Windows
環境変数ファイルを作成し、そのファイルに ALIBABA_CLOUD_ACCESS_KEY_ID および ALIBABA_CLOUD_ACCESS_KEY_SECRET 環境変数を追加し、環境変数をそれぞれご利用の AccessKey ID および AccessKey Secret に設定します。
AccessKey ペアを有効にするには、Windows を再起動します。
構成を含むヘッダーファイルの作成
Config ファイルには、ドキュメントのクエリおよびプッシュに必要な重要なパラメーターが含まれています。これらのパラメーターには、AccessKey、ホスト、アプリケーション名、検索候補名、およびオプションが含まれます。
<?php
// ヘッダーファイルをインポートします。
require_once("../OpenSearch/Autoloader/Autoloader.php");
use OpenSearch\Client\OpenSearchClient;
// ユーザーID情報。
// 環境変数から AccessKey ID と AccessKey Secret を読み取ります。
// サンプルコードを実行する前に、環境変数を設定する必要があります。詳細については、「環境変数の設定」セクションをご参照ください。
// ご利用の AccessKey ID に置き換えます。
$accessKeyId = getenv('ALIBABA_CLOUD_ACCESS_KEY_ID');
// ご利用の AccessKey Secret に置き換えます。
$secret = getenv('ALIBABA_CLOUD_ACCESS_KEY_SECRET');
// ご利用のリージョンの API エンドポイントに置き換えます。エンドポイントは、コンソールのご利用のアプリケーションの [基本情報] ページで確認できます。
$endPoint = '<region endPoint>';
// ご利用のアプリケーション名に置き換えます。
$appName = '<app name>';
// ご利用の検索候補モデルの名前に置き換えます。
$suggestName = '<suggest name>';
// デバッグモードを有効にします。
$options = array('debug' => true);
// OpenSearchClient オブジェクトを作成します。
$client = new OpenSearchClient($accessKeyId, $secret, $endPoint, $options);
現在の Alibaba Cloud アカウント内のアプリケーションリストの取得
次の取得クエリは、現在の Alibaba Cloud アカウント内のすべてのアプリケーションを返します。
<?php
// ヘッダーファイルをインポートします。
require_once("Config.inc.php");
use OpenSearch\Client\AppClient;
use OpenSearch\Generated\Common\Pageable;
// Pageable オブジェクトを作成します。
$pageable = new Pageable(array('page' => 1, 'size' => 10));
// AppClient オブジェクトを作成します。
$appClient = new AppClient($client);
// クエリを実行し、アプリケーションのリストを返します。
$ret = $appClient->listAll($pageable);
// アプリケーションのリストを表示します。
print_r($ret);
// デバッグ情報を表示します。
echo $ret->traceInfo->tracer;