mafikes / cdn77api
CDN77.com 的 API 客户端
2.0.3
2022-02-17 12:21 UTC
Requires
- php: >=5.4.0
- ext-json: *
- guzzlehttp/guzzle: ^5.3
README
用于与 v3 cdn77.com 通信的 PHP 客户端。
安装
composer require mafikes/cdn77api
示例
示例可以在 examples 文件夹中找到。
创建客户端
use \Mafikes\Cdn77Api\Client; $client = new Client('your_token_here'); // full example use \Mafikes\Cdn77Api\Client; $client = new Client('mySecretTokenBla12121212'); var_dump($client->cdnResource->getDetail(123139340032));
如何从 API 获取数据
客户端中的函数与 CDN77 API 的原始函数相似。前往官方文档。
API 结构
CDN 资源
获取可用资源的列表
$client->cdnResource->getList();
获取可用资源的列表
$client->cdnResource->create([ // All CNAMEs should be mapped via DNS to CDN URL. Otherwise it's not possible to generate SSL certificate. Maximum number of CNAMEs is "10". To add more, contact our support. 'cnames' => [ 'cname.your-domain.com' ], // The label helps you to identify your CDN Resource. 'label' => 'My cdn', // ID of attached Origin (content source for CDN Resource). More information in our Origin API documentation. 'origin_id' => 'e56564d1-8d3e-4457-93a6-082b054bc736' ]);
CDN 资源详情
$client->cdnResource->getDetail('cdn_id');
编辑 CDN 资源
这是一个示例,不是所有数据都必须包含在内。更多内容请参阅官方文档。
$client->cdnResource->edit('cdn_id', array( 'cache' => [ 'max_age' => 1448, 'requests_with_cookies_enabled' => true ], 'cnames' => [ "cname.your-domain.com" ], 'geo_protection' => [ 'countries' => ['UK'], 'type' => 'passlist' ], 'headers' => [ 'cors_enabled' => true, 'host_header_forwarding_enabled' => true ], 'hotlink_protection' => [ 'domains' => ["some-domain.com"], 'type' => 'passlist', 'empty_referer_denied' => true ], 'https_redirect' => [ 'code' => 301, 'enabled' => true ], 'instant_ssl' => [ 'enabled' => true ], 'ip_protection' => [ 'ips' => ["8.8.8.8"], 'type' => 'passlist' ], 'label' => 'My cdn', 'mp4_pseudo_streaming' => [ 'enabled' => true ], 'origin_id' => 'e56564d1-8d3e-4457-93a6-082b054bc736', 'query_string' => [ 'parameters' => ["utm"], 'ignore_type' => 'all' ], 'quic' => [ 'enabled' => true, ], 'secure_token' => [ 'token' => 'T9WQQX4SV5', 'type' => 'parameter' ], 'waf' => [ 'enabled' => true ] ));
删除 CDN 资源
$client->cdnResource->delete('cdn_id');
CNAME 列表
$client->cdnResource->getListCnames('cdn_id');
添加 CNAME
$client->cdnResource->createCname('cdn_id', [ "cname" => "test.cname.com" ]);
启用数据中心
$client->cdnResource->enableDatacenters('cdn_id', array("65b63934-2278-40aa-affa-f4c0d1e7c029")); // [uuid] array of strings, format uuid
数据中心列表
$client->cdnResource->getListDatacenter('cdn_id');
账单
信用余额
$client->billing->getDetails();
作业
作业列表
返回特定 CDN 资源和类型的作业的筛选列表。
$client->job->getList('cdn_id', $client->job::JOB_TYPE_PREFETCH); // All types of jobs $client->job::JOB_TYPE_PURGE $client->job::JOB_TYPE_PREFETCH $client->job::JOB_TYPE_PURGE_ALL
作业详情
返回有关特定数据操作 API 请求的详细信息。
$client->job->getDetail('cdn_id', 'job_id');
预取
允许您将某些文件预先填充到所有数据中心的 CDN 缓存中。对于减少来自新内容的源服务器负载非常有用。
$client->job->prefetch('cdn_id', [ // List of file paths, that are being processed in the job. 'paths' => [ 'img/my-image.png', 'img/second-image.jpg' ], // Use when host header forwarding is active on your CDN Resource. 'upstream_host' => 'your-domain.com' ]);
清除
允许您将某些文件从缓存中轮换出去。特别有用,可以防止过时的响应。
$client->job->purge('cdn_id', [ 'paths' => [ 'img/my-image.png', 'img/background.jpg' ] ]);
全部清除
允许您立即从所有数据中心删除所有缓存内容。
$client->job->purgeAll('cdn_id');
源
源列表
$client->origin->getList();
创建您的源
$client->origin->create([ "base_dir" => "/pictures/images/", "label" => "My URL Origin", "port" => 8080, "scheme" => "https", "host" => "my-domain.com" ]);
您的源详情
$client->origin->getDetail('origin_id');
编辑源
源的更改会影响您分配的所有 CDN 资源。
$client->origin->edit('origin_id', [ "aws_access_key_id" => "KLAMIDYDRAP8CJYC1DN", "aws_access_key_secret" => "3a1F8jM+xJyDkHdUQazbcq5mDI2gW0vFsFbLi6PW", "aws_region" => "us-east-1", "base_dir" => "/pictures/images/", "label" => "My AWS Origin", "scheme" => "https", "host" => "my.s3.amazonaws.com", "port" => "1000" ]);
删除源
$client->origin->delete('origin_id');
创建 AWS 源
$client->origin->createAwsOrigin([ "aws_access_key_id" => "KLAMIDYDRAP8CJYC1DN", "aws_access_key_secret" => "3a1F8jM+xJyDkHdUQazbcq5mDI2gW0vFsFbLi6PW", "aws_region" => "us-east-1", "base_dir" => "/pictures/images/", "label" => "My AWS Origin", "scheme" => "https", "host" => "my.s3.amazonaws.com", "port" => 1000 ]);
原始日志
CDN 资源原始日志列表
$client->rawLogs->getList();
为 CDN 资源激活原始日志
$client->rawLogs->activateRawLog('cdn_id');
为 CDN 资源停用原始日志
$client->rawLogs->deactivateRawLog('cdm_id');
下载 CDN 资源的每日原始日志文件
$client->rawLogs->download('cdn_id', 'fileName');
统计信息
获取统计数据
$dateFrom = new DateTime('2020-01-01'); $dateTo = new DateTime('2020-08-06'); //$client->stats->get($type, $dateFrom, $dateTo, $cdnIds = null, $locationIds = null, $aggregation = null) $client->stats->get($client->stats::TYPE_BANDWIDTH, $dateFrom->getTimestamp(), $dateTo->getTimestamp()); // All Types $client->stats::TYPE_BANDWIDTH $client->stats::TYPE_COSTS $client->stats::TYPE_HEADERS $client->stats::TYPE_HEADERS_DETAIL $client->stats::TYPE_HIT_MISS $client->stats::TYPE_HIT_MISS_DETAIL $client->stats::TYPE_TRAFFIC $client->stats::TYPE_TRAFFIC_DETAIL $client->stats::TYPE_TRAFFIC_MISS
存储位置
存储位置列表
$client->storage->getList();
存储位置详情
$client->storage->detail('storage_id');
希望这个包能帮到您。您可以通过PayPal捐赠给我。