本篇内容介绍了“怎么在OpenStack4j进行OpenStack开发”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
一、说明
项目通过Maven(3.x)进行构建,然后使用的是openstack JAVA版的SDK工具openstack4j。
注意:开发前,必须在主机的hosts文件中添加openstack控制节点的主机信息,如下图所示是在windows系统下修改hosts文件(文件地址:C:\Windows\System32\drivers\etc\hosts)
二、pom.xml设置
pom文件中添加对slf4j-api、slf4j-log4j12和openstack4j的依赖,由于本人开发环境使用的jdk是1.7,所以使用的openstack4j版本为2.x,如果jdk是1.8的话,则可以使用3.x
<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.21</version> </dependency> <!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-log4j12 --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.21</version> </dependency> <!-- OpenStack4j --> <dependency> <groupId>org.pacesys</groupId> <artifactId>openstack4j</artifactId> <version>2.20</version> <classifier>withdeps</classifier> </dependency>
三、测试代码
写的java的测试代码如下,实现以下功能:1)创建OSClient实例;2)获取Swfit中container信息;3)新建一个名为xhhuangContainer的container
package com.xhhuang.openstack; import java.util.HashMap; import java.util.List; import java.util.Map; import org.openstack4j.model.identity.User; import org.openstack4j.model.storage.object.SwiftAccount; import org.openstack4j.model.storage.object.SwiftContainer; import org.openstack4j.model.storage.object.options.CreateUpdateContainerOptions; import org.openstack4j.openstack.OSFactory; import org.openstack4j.api.OSClient; /** * Hello world! * */ public class App { public static void main( String[] args ) { // 开始认证 System.out.println("开始认证:"); OSClient os = OSFactory.builder() .endpoint("http://10.3.1.123:5000/v2.0") .credentials("pipsCloud", "pipsCloudTeam") .tenantName("pipsCloud") .authenticate(); System.out.println("完成认证:"+os.toString()); System.out.println("获取Swift账户:"); SwiftAccount swiftAccount = os.objectStorage().account().get(); System.out.println(swiftAccount); System.out.println("获取对象存储元数据信息:"); Map<String, String> metadata = new HashMap<String, String>(); boolean result = os.objectStorage().account().updateMetadata(metadata); System.out.println(result); System.out.println("获取容器信息:"); List<? extends SwiftContainer> containers = os.objectStorage().containers().list(); int containerCount = (int) swiftAccount.getContainerCount(); for(int i=0; i<containerCount; i++){ System.out.println(containers.get(i).getName()+containers.get(i).getTotalSize()+"\n"); } System.out.println("新建容器:"); os.objectStorage().containers().create("xhhuangContainer", CreateUpdateContainerOptions.create() .accessAnybodyRead() ); } }
测试结果如下:
(console端)
openstack container查看
“怎么在OpenStack4j进行OpenStack开发”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。