eurofiber/megaport-php-sdk
使用PHP 7编写的Megaport API实现
Requires
- php: ^7.1
- ext-json: *
- guzzlehttp/guzzle: ^6.5
- jms/serializer: ^3.2
Requires (Dev)
- dg/bypass-finals: ^1.1
- phpunit/phpunit: ^8.4
- symfony/var-dumper: ^4.3
This package is auto-updated.
Last update: 2024-09-22 11:33:43 UTC
README
此包包含Megaport提供的服务中API之上的简单API客户端。它抽象了构建客户端代码的必要性,并将使用PHP中的纯面向对象技术与应用程序中的API进行通信。
此包不是由Megaport员工编写的,因此需要社区帮助完成和更新此包,因为Megaport也会对其API进行更改。
Megaport
Megaport是一家全球云服务提供商,提供数据中心和云之间的连接。更多信息请访问 http://www.megaport.com。有关API文档,请参阅: https://dev.megaport.com
基础知识
代码全部封装在Client对象中。每个实例化的客户端对象都包含两个变量: $login
和 root_uri
。在登录客户端的情况下,登录变量为 null
,或者在您想执行其他操作时,为登录客户端返回的Login实例。这是必要的,因为封装的代码将添加必要的头信息以便登录Megaport API。默认情况下,root_uri
变量指向megaport的测试环境。在您的实现中将此参数更改为生产URL将确保代码针对生产API执行。
安全功能
登录功能存在于MegaportClient对象上。
登录
<?php use Megaport\Client\MegaportClient; use Megaport\Component\Environment; $client = new MegaportClient(Environment::ENV_STAGING); $client->auth('MY_MEGAPORT_USERNAME', 'MY_MEGAPORT_PASSWORD');
产品详情
以下方法在MegaportClient
上可用:
- getProducts
- getProduct
这些方法允许您获取Megaport中可用产品的详细信息。
获取所有产品信息的示例
<?php use Megaport\Client\MegaportClient; use Megaport\Component\Environment; $client = new MegaportClient(Environment::ENV_STAGING); $client->auth('MY_MEGAPORT_USERNAME', 'MY_MEGAPORT_PASSWORD'); $products = $client->getProducts();
获取特定产品信息的示例
<?php use Megaport\Client\MegaportClient; use Megaport\Component\Environment; $client = new MegaportClient(Environment::ENV_STAGING); $client->auth('MY_MEGAPORT_USERNAME', 'MY_MEGAPORT_PASSWORD'); $product = $client->getProduct('PRODUCT_UUID');
用于订购功能列表
对于这些功能,在订购命名空间中提供了一个名为ListClient
的单独客户端。
这些功能包括获取位置、PartnerMegaports和InternetExchanges的功能。
获取列表订购数据的示例
<?php use Megaport\Model\Order\Location; use Megaport\Client\MegaportClient; use Megaport\Component\Environment; $client = new MegaportClient(Environment::ENV_STAGING); $client->auth('MY_MEGAPORT_USERNAME', 'MY_MEGAPORT_PASSWORD'); try { $locations = $client->getLocations(); $partnerMps = $client->getPartnerMegaports(); $ix = $client->getInternetExchanges($locations[0]->getId()); } catch (Exception $e) { die('an error occurred'); }
将完成更多客户端和数据元素
标准API订单
- 购买端口
- 购买VXC
- 购买IX
- 服务密钥
云合作伙伴API订单
- AWS(订单)
- Azure(查找和订单)
- Oracle(查找和订单)
- 阿里巴巴(订单)
- 谷歌(查找和订单)
- Nutanix(查找和订单)