欢迎使用京东云开发者PHP工具套件(PHP SDK)。使用京东云PHP SDK,您无需复杂编程就可以访问京东云提供的各种服务。
为了方便您理解SDK中的一些概念和参数的含义,使用SDK前建议您先查看京东云OpenAPI使用入门。要了解每个API的具体参数和含义,请参考程序注释或参考OpenAPI&SDK下具体产品线的API文档。
1.京东云PHP SDK适用于PHP 5.5及以上。
2.在开始调用京东云open API之前,需提前在京东云用户中心账户管理下的AccessKey管理页面申请accesskey和secretKey密钥对(简称AK/SK)。AK/SK信息请妥善保管,如果遗失可能会造成非法用户使用此信息操作您在云上的资源,给你造成数据和财产损失。
建议使用Composer安装京东云Php SDK:
首先在composer.json添加
"require" : { "php" : ">=5.5", "jdcloud-api" : ">=1.0", }
然后使用Composer安装
php composer.phar install
composer install
您还可以下载sdk源代码自行使用,源代码地址为:PHP SDK。
SDK使用中的任何问题,欢迎您在Github项目SDK使用问题反馈页面交流。
注意:
京东云并没有提供其他下载方式,请务必使用上述官方下载方式!
version 的版本号需要使用京东云产品提供的最新版本号。例如:示例中VM所使用的最新版本号可到官方提供的API 更新历史 中查询到。
每支云产品都有自己的Client,当调用该产品API时,需使用该产品的Client。例如:使用云主机的VmClient只能调用云主机(Vm)的接口;使用高可用组的AgClient只能调用高可用组(Ag)的接口。
以下是创建单个云主机实例详情的调用示例
useJdcloud\Credentials\Credentials;useJdcloud\Result;useJdcloud\Vm\VmClient;publicfunctiontestCreateInstances(){$vm = new VmClient([ 'credentials' => new Credentials('XXXXXXXXX', 'XXXXXXXXX'), 'version' => 'latest', 'scheme' => 'https', 'http' => [ 'verify' => 'C:/ca-bundle.crt' ] ]); try{ $res = $vm->createInstances([ 'regionId' => 'cn-north-1', 'instanceSpec' => [ 'az' => 'cn-north-1a', 'imageId' => '8e187a0a-ea7c-4ad1-ba32-f21e52fb8926', 'instanceType' => 'g.n2.medium', 'name' => 'phpcreate', 'primaryNetworkInterface' => [ 'networkInterface' => [ 'subnetId' => 'subnet-ll47yy373i' ] ], 'systemDisk' => [ 'diskCategory' => 'local' ] ] ]); print_r($res); print("Request Id: ". $res['requestId']. "\n"); print_r($res['result']); }catch (\Jdcloud\Exception\JdcloudException $e) { print("Detail Message: " . $e->getMessage(). "\n"); print("Request Id: ". $e->getJdcloudRequestId(). "\n"); print("Error Type: ". $e->getJdcloudErrorType(). "\n"); print("Error Code: " . $e->getJdcloudErrorCode(). "\n"); print("Error Detail Status: ". $e->getJdcloudErrorStatus(). "\n"); print("Error Detail Message: ". $e->getJdcloudErrorMessage(). "\n"); }}
如果需要设置额外的header,例如要调用开启了MFA操作保护的接口,需要传递x-jdcloud-security-token,则按照如下方式:
$res = $vm->deleteInstances([ 'regionId' => 'cn-north-1', 'instanceId' => 'xxx', 'extraHeaders' => [ 'x-jdcloud-security-token' => 'xxxx' ] ]);
PHP
|