jdcloud-api / jdcloud-sdk-php
JDCloud SDK for PHP
Installs: 4 526
Dependents: 0
Suggesters: 0
Security: 0
Stars: 10
Watchers: 3
Forks: 9
Open Issues: 13
Requires
- php: >=5.5
- ext-json: *
- ext-pcre: *
- ext-simplexml: *
- ext-spl: *
- guzzlehttp/guzzle: ^5.3.1|^6.2.1
- guzzlehttp/promises: ~1.0
- guzzlehttp/psr7: ^1.4.1
- mtdowling/jmespath.php: ~2.2
Requires (Dev)
- ext-dom: *
- andrewsville/php-token-reflection: ^1.4
- behat/behat: ~3.0
- doctrine/cache: ~1.4
- nette/neon: ^2.3
- phpunit/phpunit: ^4.8.35|^5.4.3
- psr/cache: ^1.0
Suggests
- ext-curl: To send requests using cURL
- ext-openssl: Allows using ssl
- 5.3.30
- 5.3.29
- 5.3.28
- 5.3.27
- 5.3.26
- 5.3.25
- 5.3.24
- 5.3.23
- 5.3.22
- 5.3.21
- 5.3.20
- 5.3.19
- 5.3.18
- 5.3.17
- 5.3.16
- 5.3.15
- 5.3.14
- 5.3.13
- 5.3.12
- 5.3.11
- 5.3.10
- 5.3.9
- 5.3.8
- 5.3.7
- 5.3.6
- 5.3.5
- 5.3.4
- 5.3.3
- 5.3.2
- 5.3.1
- 5.3.0
- 5.2.99
- 5.2.98
- 5.2.97
- 5.2.96
- 5.2.95
- 5.2.94
- 5.2.93
- 5.2.92
- 5.2.91
- 5.2.90
- 5.2.89
- 5.2.88
- 5.2.87
- 5.2.86
- 5.2.85
- 5.2.84
- 5.2.83
- 5.2.82
- 5.2.81
- 5.2.80
- 5.2.79
- 5.2.78
- 5.2.77
- 5.2.76
- 5.2.75
- 5.2.74
- 5.2.73
- 5.2.72
- 5.2.71
- 5.2.70
- 5.2.69
- 5.2.68
- 5.2.67
- 5.2.66
- 5.2.65
- 5.2.64
- 5.2.63
- 5.2.62
- 5.2.61
- 5.2.60
- 5.2.59
- 5.2.58
- 5.2.57
- 5.2.56
- 5.2.55
- 5.2.54
- 5.2.53
- 5.2.52
- 5.2.51
- 5.2.50
- 5.2.49
- 5.2.48
- 5.2.47
- 5.2.46
- 5.2.45
- 5.2.44
- 5.2.43
- 5.2.42
- 5.2.41
- 5.2.40
- 5.2.39
- 5.2.38
- 5.2.37
- 5.2.36
- 5.2.35
- 5.2.34
- 5.2.33
- 5.2.32
- 5.2.31
- 5.2.30
- 5.2.29
- 5.2.28
- 5.2.27
- 5.2.26
- 5.2.25
- 5.2.24
- 5.2.23
- 5.2.22
- 5.2.21
- 5.2.20
- 5.2.19
- 5.2.18
- 5.2.17
- 5.2.16
- 5.2.15
- 5.2.14
- 5.2.13
- 5.2.12
- 5.2.11
- 5.2.10
- 5.2.9
- 5.2.8
- 5.2.7
- 5.2.6
- 5.2.5
- 5.2.4
- 5.2.3
- 5.2.2
- 5.2.1
- 5.2.0
- 5.1.1
- 5.1.0
- 5.0.2
- 5.0.1
- 5.0.0
- 4.0.3
- 4.0.2
- 4.0.1
- 4.0.0
- 3.0.1
- 3.0.0
- 2.0.7
- 2.0.6
- 2.0.5
- 2.0.4
- 2.0.3
- 2.0.2
- 2.0.1
- 2.0.0
- 1.2.3
- 1.2.2
- 1.2.1
- 1.2.0
- 1.1.3
- 1.1.2
- 1.1.1
- 1.1.0
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.0
- 0.2.8
- 0.2.7
- 0.2.6
- 0.2.5
- 0.2.3
- 0.2.2
- 0.2.1
- 0.2.0
- 0.1.1
- dev-master / 0.1.0.x-dev
- 0.1.0
- dev-lidaobing-patch-1
This package is auto-updated.
Last update: 2025-03-21 05:27:31 UTC
README
欢迎使用京东云开发者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信息请妥善保管,如果遗失可能会造成非法用户使用此信息操作您在云上的资源,给你造成数据和财产损失。
SDK使用方法
建议使用Composer安装京东云Php SDK:
首先在composer.json添加
"require" : {
"php" : ">=5.5",
"jdcloud-api/jdcloud-sdk-php" : ">=4.0.0"
}
然后使用Composer安装
php composer.phar install
或
composer install
您还可以下载sdk源代码自行使用。
SDK使用中的任何问题,欢迎您SDK使用问题反馈页面交流。
注意:京东云并没有提供其他下载方式,请务必使用上述官方下载方式!
调用示例
以下是创建单个云主机实例详情的调用示例
use Jdcloud\Credentials\Credentials;
use Jdcloud\Result;
use Jdcloud\Vm\VmClient;
public function testCreateInstances()
{
$vm = new VmClient([
'credentials' => new Credentials('ak', 'sk'),
'version' => 'latest',
'scheme' => 'https'
]);
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'
]
]);
如果需要设置访问点,配置超时等,请参考如下更复杂的例子:
$fix_endpoint = EndpointProvider::patterns([
'*/*' => ['endpoint' => 'vm.cn-north-1.jdcloud-api.com'] //指定非默认访问地址 step 1
]);
$vm = new VmClient([
'credentials' => new Credentials('ak', 'sk'),
'version' => 'latest',
'debug' => [
'logfn' => function ($msg) { echo $msg . "\n"; }, //输出调试详细日志
],
'validate' => false, //关闭客户端参数验证
'endpoint_provider' => $fix_endpoint, //指定非默认访问地址 step 2
'scheme' => 'https',
'http' => [
'verify' => 'C:/ca-bundle.crt', //指定本地证书文件
'connect_timeout' => 20, //指定连接超时
'proxy' => 'http://192.168.16.1:10', //指定代理
'timeout' => 5 //指定请求超时
]
]);
更多调用示例参考 SDK使用Demo