Heim >Backend-Entwicklung >PHP-Tutorial >Rackspace Cloud SDK for PHP入门指南_PHP教程

Rackspace Cloud SDK for PHP入门指南_PHP教程

WBOY
WBOYOriginal
2016-07-15 13:21:451144Durchsuche

Rackspace Cloud SDK for PHP入门指南

 
Rackspace Cloud SDK for PHP 是一个用来帮助PHP开发者更方便的开发基于OpenStack和Rackspace云(包括公有和私有云)应用的SDK。
 
该SDK包括以下组件:
 
1.      php-opencloud语言绑定(在”lib”目录下)
2.      文档(在”docs/”目录下)
3.      示例代码(在”samples/”目录下)
 
如何安装SDK
 
该SDK可以通过Rackspace的GitHub源中获得。http://github.com/rackspace/php-opencloud
获取最容易得到的发行版本(稳定版)的代码:
 
Rackspace Cloud SDK for PHP入门指南_PHP教程
 
1.      点击Tags链接
2.      选择最新的版本,点击下面的”zip”或者”.tar.gz”按钮
3.      在你的下载目录中找到你刚下载的文件。记住目录位置,你待会会用到它。
 
创建一些云服务器
 
在这个例子中,你将会写代码来创建两个运行Ubuntu13.04系统的1GB的云服务器。你需要一个文本编辑器来编辑如下代码。下面是完整的代码:
 
   
   require('/path/to/lib/php-opencloud.php');
 
   define('IMAGE_UBUNTU', '9922a7c7-5a42-4a56-bc6a-93f857ae2346');
   define('FLAVOR_1GB', '3');
 
   // 创建证书
   $connection = new \OpenCloud\Rackspace(
       RACKSPACE_US,
       array( 'username' => 'USERNAME',
                    'password' => 'PASSWORD'));
 
   // 连接compute service
   $compute = $connection->Compute('cloudServersOpenStack', 'ORD');
 
   // 寻找镜像
   $image = $compute->Image(IMAGE_UBUNTU);
 
    // 获取flavor object
   $flavor = $compute->Flavor(FLAVOR_1GB);
 
   // 创建服务器
   for ($i=0; $i
                   $server= $compute->Server();                 //get a blank server
                   $resp= $server->Create(array(
                            'name'=> sprintf('server-%d', $i),
                            'image'=> $image,
                            'flavor'=> $flavor));
                   //检查错误
                   if($resp->HttpStatus() > 204)
                            die("Errorbuilding server. Response is ".$resp->HttpBody());
                   //显示root密码
                   printf("Server[%s] is building. Root password is [%s]\n",
                            $server->Name(),$server->adminPass);
    }
 
 
理解这个程序
 
   
   require('/path/to/lib/php-opencloud.php');
Require()语句包含了**php-opencloud**库。你要编辑这个字段来指明php-opencloud.php文件的准确路径(在你刚下载的目录的lib/文件夹下)。
 
   define('IMAGE_UBUNTU', '9922a7c7-5a42-4a56-bc6a-93f857ae2346');
    define('FLAVOR_1GB','3');
这两个常量定义了Ubuntu13.04镜像的镜像ID,和1GB的flavor。要想使用不同的flavor或者镜像,使用novaclient CLI在Rackspace Control Panle中查询可用值。
 
   // establish our credentials
   $connection = new \OpenCloud\Rackspace(
       RACKSPACE_US,
       array( 'username' => 'USERNAME',
                    'password' => 'PASSWORD'));
 
这样创建了一个’$connection’对象使用’\OpenCloud\Rackspace’ connector。该对象需要两个参数:
1. authentication endpoint的URL(`RACKSPACE_US`是**php-opencloud**提供的一个很有用的常量).
2. 一个包含你的用户名和密码的数组。编辑`'USERNAME'``'PASSWORD'`的值来映射你自己的用户名和密码。
 
   // 现在,连接 compute service
   $compute = $connection->Compute('cloudServersOpenStack', 'ORD');
 
创建一个”Compute”类,在ORD region中到指定服务实力的连接(在这种情况下,该服务被命名为”cloudServersOpenStack”),
在每次调用时Compute()方法返回一个到服务新的连接。
 
   // first, find the image
   $image = $compute->Image(IMAGE_UBUNTU);
   // get a flavor object
   $flavor = $compute->Flavor(FLAVOR_1GB);
 
这是另外两个工厂方法,分别返回一个”Image”对象和一个”Flavor”对象。
 
   // create the server
   for ($i=0; $i
                   $server= $compute->Server();                 //get a blank server
                   $resp= $server->Create(array(
                            'name'=> sprintf('server-%d', $i),
                            'image'=> $image,
                            'flavor'=> $flavor));
                   //check for errors
                   if($resp->HttpStatus() > 204)
                            die("Errorbuilding server. Response is ".$resp->HttpBody());
                   //display the root password
                   printf("Server[%s] is building. Root password is [%s]\n",
                            $server->Name(),$server->adminPass);
}
 
这实际上创建了服务器。从”$compute”服务中创建了一个新的,空的服务器对象,使用的是”Server()”方法。
最后,”Server”对象调用”Create”方法,需要传递一个属性数组作为参数。’name’, ‘image’, ‘flavor’是创建一个新的服务器需要的属性。

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/477125.htmlTechArticleRackspace Cloud SDK for PHP入门指南 Rackspace Cloud SDK for PHP 是一个用来帮助PHP开发者更方便的开发基于OpenStack和Rackspace云(包括公有和私有云)应用...
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn