日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

PHP SDK使用說(shuō)明

更新時(shí)間:

物聯(lián)網(wǎng)平臺(tái)提供PHP語(yǔ)言的云端SDK供開(kāi)發(fā)人員使用。本文介紹云端PHP SDK的安裝和配置,及使用PHP SDK調(diào)用云端API的示例。

物聯(lián)網(wǎng)平臺(tái)云端PHP語(yǔ)言的升級(jí)版SDK中包含了接口參數(shù)處理,請(qǐng)求格式組裝及返回值處理等OpenAPI請(qǐng)求的主要邏輯,脫離了對(duì)SDK Core的依賴(lài),開(kāi)發(fā)者依賴(lài)物聯(lián)網(wǎng)平臺(tái)云端SDK包開(kāi)發(fā)即可。升級(jí)版SDK和原版SDK的詳細(xì)信息,請(qǐng)參見(jiàn)SDK信息中心

安裝SDK

  1. 安裝PHP開(kāi)發(fā)環(huán)境。您需安裝PHP 5.6或更高版本。

    訪問(wèn)PHP官網(wǎng)下載PHP安裝包,并完成安裝。

  2. 安裝Composer。

    通過(guò)Composer管理IoT PHP SDK(推薦),因此需在系統(tǒng)中安裝Composer。

    • Windows系統(tǒng)用戶(hù),請(qǐng)?jiān)L問(wèn)getcomposer.org,下載安裝Composer-Setup.exe

    • 使用cURL命令安裝Composer。

      curl -sS https://getcomposer.org/installer | php
      說(shuō)明

      如果由于網(wǎng)絡(luò)問(wèn)題無(wú)法安裝,可以使用阿里云Composer全量鏡像

  3. 安裝SDK核心庫(kù)OpenAPI。

    如果已在系統(tǒng)上全局安裝Composer(具體內(nèi)容,請(qǐng)參見(jiàn)全局安裝Composer),請(qǐng)直接在項(xiàng)目目錄中運(yùn)行以下命令安裝Alibaba Cloud SDK for PHP作為依賴(lài)項(xiàng):

    composer require alibabacloud/darabonba-openapi
    重要

    執(zhí)行以上命令安裝SDK的PHP運(yùn)行版本要小于或等于實(shí)際運(yùn)行時(shí)的PHP版本。

    例如,在PHP 7.2環(huán)境下安裝SDK后生成vendor目錄,只能在PHP 7.2或以上版本使用,如果拷貝到PHP 5.6環(huán)境下使用,會(huì)出現(xiàn)依賴(lài)版本不兼容問(wèn)題。

  4. 添加以下依賴(lài),安裝IoT PHP SDK。

    composer require alibabacloud/iot-20180120

    升級(jí)版SDK的命名方式為alibabacloud/${產(chǎn)品名}-${OpenAPI版本號(hào)}。PHP SDK詳情和使用指導(dǎo),請(qǐng)參見(jiàn)alibabacloud-php-sdk/iot-20180120/

初始化SDK

  1. 創(chuàng)建對(duì)象$config,存放SDK初始化信息(AccessKey IDAccessKey Secret、地域ID等)。

  2. 創(chuàng)建Iot對(duì)象實(shí)例$client,通過(guò)Iot($iClientProfile)方法,加載SDK信息,完成SDK客戶(hù)端初始化。

以華東2(上海)地域及其服務(wù)接入地址為例,初始代碼如下。實(shí)際場(chǎng)景設(shè)置中,需使用您的物聯(lián)網(wǎng)平臺(tái)服務(wù)所在地域。

use AlibabaCloud\SDK\Iot\V20180120\Iot;
use AlibabaCloud\Tea\Config;

$config = new Config([]);
// 您的AccessKey ID。
$config->accessKeyId = getenv('ACCESS_KEY_ID');
// 您的AccessKey Secret。
$config->accessKeySecret = getenv('ACCESS_KEY_SECRET');
// 您的可用區(qū)ID。
$config->regionId = "cn-shanghai";
$client = new Iot($config);

參數(shù)

說(shuō)明

accessKeyId

您阿里云賬號(hào)的AccessKey ID

您可在阿里云官網(wǎng)控制臺(tái)AccessKey管理中創(chuàng)建或查看您的AccessKey。

accessKeySecret

您阿里云賬號(hào)的AccessKey Secret

regionId

您的物聯(lián)網(wǎng)平臺(tái)服務(wù)的地域ID,用于拼接服務(wù)接入地址,格式為:iot.${RegionId}.aliyuncs.com。

您可在物聯(lián)網(wǎng)平臺(tái)控制臺(tái)左上方,查看當(dāng)前服務(wù)所在地域。

地域ID的表達(dá)方法,請(qǐng)參見(jiàn)地域和可用區(qū)

SDK客戶(hù)端的HTTP請(qǐng)求配置、代理配置、超時(shí)機(jī)制、重試機(jī)制等配置方式,請(qǐng)參見(jiàn)V2.0 PHP SDK(推薦)

發(fā)起調(diào)用

物聯(lián)網(wǎng)平臺(tái)云端SDK為每個(gè)API封裝了一個(gè)類(lèi),命名為${API名稱(chēng)}+"Request",用于API的調(diào)用請(qǐng)求。

調(diào)用步驟

  1. 已完成SDK客戶(hù)端初始化。具體內(nèi)容,請(qǐng)參見(jiàn)初始化SDK

  2. 創(chuàng)建對(duì)應(yīng)API的調(diào)用請(qǐng)求,生成${API名稱(chēng)}+"Request"類(lèi)對(duì)象實(shí)例$request

  3. 通過(guò)對(duì)象實(shí)例$request,使用"set"+${請(qǐng)求參數(shù)的名稱(chēng)}方法,設(shè)置API所需的請(qǐng)求參數(shù)值。

  4. 通過(guò)初始化SDK的對(duì)象實(shí)例$client,使用${API名稱(chēng)}($request)方法,返回API調(diào)用結(jié)果。

物聯(lián)網(wǎng)平臺(tái)云端API,請(qǐng)參見(jiàn)API列表。有關(guān)request中請(qǐng)求參數(shù)說(shuō)明,及response中返回參數(shù)說(shuō)明,請(qǐng)參見(jiàn)對(duì)應(yīng)API文檔。

本文以調(diào)用Pub接口發(fā)布消息到Topic為例。請(qǐng)求參數(shù)信息,請(qǐng)參見(jiàn)Pub

重要

以下代碼中iotInstanceId為實(shí)例ID。實(shí)例的詳細(xì)說(shuō)明,請(qǐng)參見(jiàn)實(shí)例概述

購(gòu)買(mǎi)實(shí)例方法,請(qǐng)參見(jiàn)購(gòu)買(mǎi)企業(yè)版實(shí)例

獲取實(shí)例ID方法,請(qǐng)參見(jiàn)物聯(lián)網(wǎng)平臺(tái)實(shí)例相關(guān)問(wèn)題

$request = new PubRequest([
  // 物聯(lián)網(wǎng)平臺(tái)實(shí)例ID。
  "iotInstanceId" => "${iotInstanceId}",
  // 產(chǎn)品ProductKey。
  "productKey" => "${productKey}",
  // 要發(fā)送的消息主體,hello world Base64 String。
  "messageContent" => "eyJ0ZXN0IjoidGFzayBwdWIgYnJvYWRjYXN0In0=",
  // 要接收消息的設(shè)備的自定義Topic。
  "topicFullName" => "/${productKey}/${deviceName}/user/get",
  // 指定消息的發(fā)送方式,支持QoS0和QoS1。
  "qos" => 0
]);
//調(diào)用pub接口。
$response = $client->pub($request);
print_r($response);

完整示例代碼

說(shuō)明

實(shí)際場(chǎng)景中,請(qǐng)參照上文的參數(shù)說(shuō)明,替換對(duì)應(yīng)參數(shù)值。

<?php
namespace AlibabaCloud\SDK\Sample;

use AlibabaCloud\SDK\Iot\V20180120\Iot;
use AlibabaCloud\Tea\Tea;
use AlibabaCloud\Tea\Utils\Utils;
use AlibabaCloud\Tea\Console\Console;
use \Exception;
use AlibabaCloud\Tea\Exception\TeaError;
use Darabonba\OpenApi\Models\Config;
use AlibabaCloud\SDK\Iot\V20180120\Models\PubRequest;

class Sample {

    /**
     * 使用AK&SK初始化Client
     */
    public static function createClient() {
    $config = new Config([]);
    // 您的AccessKey ID。
    $config->accessKeyId = getenv('ACCESS_KEY_ID');
    // 您的AccessKey Secret。
    $config->accessKeySecret = getenv('ACCESS_KEY_SECRET');
    // 您的可用區(qū)ID。
    $config->regionId = "cn-shanghai";
    return new Iot($config);
}

    }

    /**
     * @param string[] $args
     * @return void
     */
    public static function main($args){
        try {
            $client = self::createClient("${accessKey}", "${accessKeySecret}");
            $request = new PubRequest([
                // 物聯(lián)網(wǎng)平臺(tái)實(shí)例ID。
                "iotInstanceId" => "${iotInstanceId}",
                // 產(chǎn)品ProductKey。
                "productKey" => "${productKey}",
                // 要發(fā)送的消息主體,hello world Base64 String。
                "messageContent" => "eyJ0ZXN0IjoidGFzayBwdWIgYnJvYWRjYXN0In0=",
                // 要接收消息的設(shè)備的自定義Topic。
                "topicFullName" => "/${productKey}/${deviceName}/user/get",
                // 指定消息的發(fā)送方式,支持QoS0和QoS1。
                "qos" => 0
            ]);
            $response = $client->pub($request);
            Console::log(Utils::toJSONString(Tea::merge($response)));
        }
        catch (Exception $error) {
            if (!($error instanceof TeaError)) {
                $error = new TeaError([], $error->getMessage(), $error->getCode(), $error);
            }
            Console::log($error->message);
        }
    }
}
$path = __DIR__ . \DIRECTORY_SEPARATOR . '..' . \DIRECTORY_SEPARATOR . 'vendor' . \DIRECTORY_SEPARATOR . 'autoload.php';
if (file_exists($path)) {
    require_once $path;
}
Sample::main(array_slice($argv, 1));

附錄:示例代碼

前往物聯(lián)網(wǎng)平臺(tái)云端SDK示例中心查看或下載API調(diào)用的示例代碼。示例代碼中包含Java、Python、PHP、Node.js、Go、C++和.NET等版本SDK示例。

阿里云OpenAPI開(kāi)發(fā)者門(mén)戶(hù)提供API在線調(diào)試工具。在API調(diào)試頁(yè)面,您可以快速檢索和體驗(yàn)調(diào)用API。系統(tǒng)會(huì)根據(jù)您輸入的參數(shù)同步生成各語(yǔ)言SDK的代碼示例。各語(yǔ)言SDK代碼示例顯示在頁(yè)面右側(cè)SDK示例頁(yè)簽下供您參考。在調(diào)用結(jié)果頁(yè)簽下,可查看API調(diào)用的真實(shí)請(qǐng)求URL和JSON格式的返回結(jié)果。