PHP code example of dzgrief / bce-sdk

1. Go to this page and download the library: Download dzgrief/bce-sdk library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

dzgrief / bce-sdk example snippets


use Dzgrief\Bce\Services\Tsdb\DataClient;
use Dzgrief\Bce\Signer;

$access_key_id = 'xxxxxx';
$secret_access_key = 'xxxxxx';
$tsdb_name = 'xxx';

$signer = new Signer($access_key_id, $secret_access_key);
$data_client = new DataClient($signer, $tsdb_name);

// 写入数据点
$data_client->setDataPoints([
    [
        'metric' => 'chlorine',
        'field' => 'value',
        'tags' => [
            'host' => 'server1',
            'rack' => 'rack1',
        ],
        'timestamp' => (int) (microtime(true) * 1000),
        'value' => 0.32,
    ],
    [
        'metric' => 'chlorine',
        'field' => 'value',
        'tags' => [
            'host' => 'server2',
            'rack' => 'rack2',
        ],
        'timestamp' => (int) (microtime(true) * 1000),
        'value' => 0.23,
    ],
]);

// 获取标签列表
$tags = $data_client->getTags('chlorine');
var_dump($tags);


$data_client = new \Dzgrief\Bce\Services\Tsdb\DataClient($signer, $tsdb_name);
$data_client->setDataPoints(datapoints);
$data_client->getMetrics(parameters);
$data_client->getTags(metric, parameters);
$data_client->getDataPoints(parameters);
$data_client->getFields(metric);
$data_client->export(path, parameters);

$management_client = new \Dzgrief\Bce\Services\Tsdb\ManagementClient($signer);
$management_client->getDatabase(id);
$management_client->getDatabases();

$endpoint_client = new \Dzgrief\Bce\Services\IotHub\EndpointClient($signer);
$endpoint_client->getEndpoints(parameters);
$endpoint_client->getEndpoint(endpoint);
$endpoint_client->setEndpoint(endpoint);
$endpoint_client->unsetEndpoint(endpoint);

$thing_client = new \Dzgrief\Bce\Services\IotHub\ThingClient($signer);
$thing_client->getThings(endpoint, parameters);
$thing_client->getThing(endpoint, thing);
$thing_client->setThing(endpoint, thing);
$thing_client->unsetThing(endpoint, thing);

$principal_client = \Dzgrief\Bce\Services\IotHub\PrincipalClient($signer);
$principal_client->getPrincipals(endpoint);
$principal_client->getPrincipal(endpoint, principal);
$principal_client->setPrincipal(endpoint, principal);
$principal_client->resetPassword(endpoint, principal);
$principal_client->unsetPrincipal(endpoint, principal);

$policy_client = \Dzgrief\Bce\Services\IotHub\PolicyClient($signer);
$policy_client->getPolicies(endpoint, principal, parameters);
$policy_client->getPolicy(endpoint, policy);
$policy_client->setPolicy(endpoint, policy);
$policy_client->unsetPolicy(endpoint, policy);

$permission_client = \Dzgrief\Bce\Services\IotHub\PermissionClient($signer);
$permission_client->getPermissions(endpoint, policy, parameters);
$permission_client->getPermission(endpoint, permission_uuid);
$permission_client->setPermission(endpoint, policy, operations, topic);
$permission_client->updatePermission(endpoint, permission_uuid, operations, topic);
$permission_client->unsetPermission(endpoint, permission_uuid);

$authentication_client = \Dzgrief\Bce\Services\IotHub\AuthenticationClient($signer);
$authentication_client->authenticate(username, password);
$authentication_client->authorize(principal_uuid, action, topic);

$action_client = \Dzgrief\Bce\Services\IotHub\ActionClient($signer);
$action_client->unsetPrincipal(endpoint, thing_name, principal);
$action_client->setPrincipal(endpoint, thing_name, principal);
$action_client->setPolicy(endpoint, principal, policy);
$action_client->unsetPolicy(endpoint, principal, policy);

$client = \Dzgrief\Bce\Services\IotHub\Client($signer);
$client->isOnline(endpoint, client_id);
$client->isOnlines(endpoint, client_ids);

$mqtt_client = \Dzgrief\Bce\Services\IotHub\MqttClient($username, $password);
$mqtt_client->publishMessage(message, qos, topic, retain);

$amount_client = \Dzgrief\Bce\Services\IotHub\AmountClient($signer);
$amount_client->getUsage();
$amount_client->getUsageByEndpoint(endpoint);
$amount_client->getUsageByQuery(endpoint, start_date, end_date);