IoT PlatformはPHP用のSDKを提供しています。 このトピックでは、IoT Platform SDK for PHPをインストールおよび設定する方法について説明します。 このトピックでは、SDKを使用してIoT PlatformのAPI操作を呼び出す方法に関するサンプルコードも提供します。
SDK のインストール
IoT Platform SDK for PHPは、Alibaba Cloud SDK for PHPの一部です。 Alibaba Cloud SDK for PHPをインストールしている場合、IoT Platform SDK for PHPをインストールする必要はありません。
PHP開発環境をインストールします。
PHP 5.5.0以降がサポートされています。 公式PHP WebサイトからPHPインストールパッケージをダウンロードし、PHPをインストールします。
Composerをインストールします。
Composerは、IoT Platform SDK for PHPの管理に使用されます。 したがって、システムにComposerをインストールする必要があります。
Windowsを使用している場合は、getcomposer.org WebサイトからComposer-Setup.exeプログラムをダウンロードして、Composerをインストールできます。
以下のcurlコマンドを実行してComposerをインストールすることもできます。
カール-sS https://getcomposer.org/installer | php
説明ネットワークの例外によりインストールが失敗した場合は、Alibaba Cloud Composerの完全なイメージを使用できます。
次の依存関係を追加して、IoT Platform SDK for PHPをインストールします。
が必要作曲家はalibabacloud/iot
詳細については、openapi-sdk-php-iotおよびAlibaba Cloud SDK For PHPをご参照ください。
SDKの初期化
次の例は、IoT Platformサービスが中国 (上海) リージョンにある場合にSDKを初期化する方法を示しています。
SDK初期化情報を格納する $iClientProfileオブジェクトを作成します。 次に、DefaultAcsClientクラスの $clientインスタンスを作成します。 DefaultAcsClient($iClientProfile)
メソッドを呼び出して、SDKの初期化情報を読み込みます。
include_once 'aliyun-php-sdk-core/Config.php';
\Iot\Request\V20180120をIotとして使用します。// AccessKey ID、AccessKey secret、ProductKeyを設定します。
$accessKeyId = getenv('ACCESS_KEY_ID ');
$accessSecret = getenv('ACCESS_KEY_SECRET ');
$iClientProfile = DefaultProfile::getProfile("cn-shanghai" 、$accessKeyId、$accessSecret);
$client = new DefaultAcsClient($iClientProfile);
パラメーター | 説明 |
$iClientプロファイル | SDKの初期化情報を格納するために使用されるオブジェクト。 IoT Platformコンソールの左上隅にリージョンを表示できます。 リージョンIDの詳細については、「サポートされているリージョン」をご参照ください。 |
リクエストを開始するInitiate a request
SDKは、API操作ごとにクラスをカプセル化します。 クラス名は ${API操作名} + 「リクエスト」
形式です。 クラスを使用してAPIリクエストを開始できます。 このクラスの $request
インスタンスを作成し、"set" +${Request parameter}
メソッドを呼び出してリクエストパラメーターを指定できます。 次に、$clientインスタンスのgetAcsResponse($request)
メソッドを呼び出して応答を取得します。
IoT PlatformのAPI操作の詳細については、「関数別の操作のリスト」をご参照ください。 各API操作のrequest
およびresponse
パラメーターの詳細については、APIのドキュメントをご参照ください。
次の例は、Pub操作を呼び出してメッセージをトピックに公開する方法を示しています。 リクエストパラメーターの詳細については、「Pub」をご参照ください。
次のサンプルコードでは、${iotInstanceId}
にインスタンスのIDを指定します。 インスタンスのIDは、IoT Platformコンソールの [概要] ページで確認できます。
インスタンスにIDがある場合は、このパラメーターにIDを指定する必要があります。 それ以外の場合、要求は失敗します。
インスタンスに対して [概要] ページまたはIDが生成されていない場合、このパラメーターを指定する必要はありません。 IotInstanceIdパラメーターに関連するリクエストコードを削除するか、パラメーターに空の文字列 (
""
) を指定する必要があります。 それ以外の場合、要求は失敗します。
IoT Platformインスタンスの詳細については、「概要」をご参照ください。 インスタンスの購入方法の詳細については、「Enterprise Editionインスタンスの購入」をご参照ください。 よくある質問の詳細については、「IoT Platformインスタンスに関するFAQ」をご参照ください。
$request = new Iot\PubRequest();
$request->setIotInstanceId("iotInstanceId");
$request->setProductKey("productKey");
$request->setMessageContent("aGVsbG93b3JsZA="); // hello world Base64 String。
$request->setTopicFullName("/productKey/deviceName/get"); // メッセージの公開に使用されるトピックの完全な名前。
$response = $client->getAcsResponse($request);
print_r($応答);
付録: サンプルコード
のAPI操作のサンプルコードを表示またはダウンロードできます。 IoT Platform SDKサンプルセンター Java、Python、PHPなどのSDKのサンプルコード。NETおよびGoが提供されます。
Alibaba Cloud OpenAPI Explorerは、API操作用のオンラインデバッグツールを提供します。 [APIデバッグ] ページでは、API操作の検索、API操作の呼び出し、およびさまざまなSDKのAPI操作のサンプルコードの生成ができます。 ページの右側で、SDKのサンプルコードを [サンプルコード] タブに表示できます。 [デバッグ結果] タブでは、実際のリクエストURLとレスポンスをJSON形式で表示できます。