tencentcloudbase / tcb-manager-php
腾讯云基础组件 PHP 管理端 SDK
2.0.0
2020-12-03 14:12 UTC
Requires
- php: ^7.0.0
- ext-json: *
- nelexa/zip: ^3.1
- tencentcloudbase/tcb-php-sdk: 1.0.2
- tencentcloudbase/tencentcloud-client-php: 1.1.4
- webmozart/path-util: ^2.3
Requires (Dev)
- phpunit/php-code-coverage: ^7.0
- phpunit/phpunit: ^8.1
This package is auto-updated.
Last update: 2024-09-29 05:02:34 UTC
README
使用步骤
安装 SDK
-
【推荐】通过
composer安装:安装
composer,见:https://composer.php.ac.cn/doc/00-intro.mdcomposer require tencentcloudbase/tcb-manager-php:
-
手动安装源码包:
- 前往源码仓库下载源码包,仓库地址:https://github.com/TencentCloudBase/tcb-manager-php
- 将源码包放到项目合适位置;
引入 SDK
如果项目使用 composer 管理依赖,则会自动引入,可跳过此步骤
require_once "/path/to/tcb-manager-php/autoload.php"
使用 SDK
引用 SDK 后,便可以使用了,SDK 命名空间:TcbManager。
初始化 SDK
通过腾讯云 API 密钥初始化:
$tcbManager = TcbManager::init([ "secretId" => "Your SecretId", "secretKey" => "Your SecretKey", "secretToken" => "Your SecretToken", // 使用临时凭证需要此字段 "envId" => "Your envId" // TCB环境ID,可在腾讯云TCB控制台获取 ]);
注意:需要提前开通 TCB 服务并创建环境,否则 SDK 无法使用
腾讯云 TCB 控制台地址:https://console.cloud.tencent.com/tcb
在云函数环境下,支持免密钥初始化:
$tcbManager = TcbManager::init([ "envId" => "Your envId" ]);
初始化后得到一个 TcbManager 实例,注意,该实例是单例的,多次调用 TcbManager::init 只会初始化一次。
你也可以通过 new TcbManager 创建实例:
$tcbManager = new TcbManager([ "secretId" => "Your SecretId", "secretKey" => "Your SecretKey", "secretToken" => "Your SecretToken", // 使用临时凭证需要此字段 "envId" => "Your envId" // TCB环境ID,可在腾讯云TCB控制台获取 ])
每次初始化都会得到一个全新的 TcbManager 实例,如果需要管理多个腾讯云账号下的 TCB 服务,可通过此种方式创建多个 TcbManager 实例。
初始化完成之后,便可以使用相关功能了。
完整示例
list-functions(源码):
<?php // 使用 composer 时不需要 ../autoload.php -> tcb-manager-php/autoload.php require_once "../autoload.php"; use TcbManager\TcbManager; // 1. 初始化 TcbManager $tcbManager = TcbManager::init([ "secretId" => "Your SecretId", "secretToken" => "Your SecretToken", // 使用临时凭证需要此字段 "envId" => "Your envId" // TCB环境ID,可在腾讯云TCB控制台获取 ]); // 2. 获得云函数管理示例 $funcManager = $tcbManager->getFunctionManager(); // 3. 调用 getFunction 获取云函数详情 $result = $funcManager->getFunction("hellotcb"); // 4. 打印结果 print_r($result);
输出示例:
stdClass Object
(
[TotalCount] => 14
[Functions] => Array
(
[0] => stdClass Object
(
[ModTime] => 2019-05-20 11:40:55
[Status] => Active
[StatusDesc] =>
[FunctionName] => unit_test_3q4zyU
[Tags] => Array
(
)
[AddTime] => 2019-05-20 11:40:50
[Runtime] => Nodejs8.9
[Namespace] => demo-619e0a
[FunctionId] => lam-0mykhmki
[Description] => this is new description.
)
...
)
[RequestId] => 5caec8d9-88c1-4c29-b776-67e4a6a2823e
)