您好,登錄后才能下訂單哦!
本篇內(nèi)容介紹了“怎么在OpenStack4j進行OpenStack開發(fā)”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!
一、說明
項目通過Maven(3.x)進行構(gòu)建,然后使用的是openstack JAVA版的SDK工具openstack4j。
注意:開發(fā)前,必須在主機的hosts文件中添加openstack控制節(jié)點的主機信息,如下圖所示是在windows系統(tǒng)下修改hosts文件(文件地址:C:\Windows\System32\drivers\etc\hosts)
二、pom.xml設(shè)置
pom文件中添加對slf4j-api、slf4j-log4j12和openstack4j的依賴,由于本人開發(fā)環(huán)境使用的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的測試代碼如下,實現(xiàn)以下功能:1)創(chuàng)建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("獲取對象存儲元數(shù)據(jù)信息:"); 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() ); } }
測試結(jié)果如下:
(console端)
openstack container查看
“怎么在OpenStack4j進行OpenStack開發(fā)”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。