如何运行Openstack-Swift java api?

时间:2013-11-05 08:40:18

标签: openstack openstack-swift

我尝试运行 Openstack-Swift java sdk示例。 我有swift和keystone项目只能使用swift。 我找到了这个项目:https://github.com/woorea/openstack-java-sdk 但是,我不知道如何在 Window Eclipse 中运行该项目。 我应该在maven中构建所有项目(nova等)吗? 你知道如何运行这个以常规顺序发布run-way的项目或网站吗?

2 个答案:

答案 0 :(得分:3)

@stream

我没有尝试Woorea,但我知道很多开发人员正在使用Jclouds,链接http://developer.rackspace.com/#home-sdks有很好的文档指南以及如何使用Java SDK的示例。

希望它有所帮助。

答案 1 :(得分:0)

看起来你可以独立构建SWIFT(woorea peoject的一部分) 正如它在自述文件中所述:

(com.woorea swift-client 3.0.0-SNAPSHOT)

  

https://github.com/woorea/openstack-java-sdk

Maven工件ID应该是:     开栈的Java-SDK

这是一个很好的手段:

https://github.com/woorea/openstack-java-sdk/wiki/Swift-Tutorial

它有一个使用SWIFT的java api的例子,

例如,此代码段(链接中的更多详细信息):

Properties properties = System.getProperties();
properties.put("verbose", "true");
properties.put("auth.credentials", "passwordCredentials");
properties.put("auth.username", "demo");
properties.put("auth.password", "secret0");
properties.put("auth.tenantName", "demo");
properties.put("identity.endpoint.publicURL","http://192.168.1.43:5000/v2.0");

OpenStackClient openstack = OpenStackClient.authenticate(properties);

AccountResource account = openstack.getStorageEndpoint();

account.container("hellocontainer").put();

account.container("hellocontainer").object("dir1").put();

account.container("hellocontainer").object("test1")
    .put(new File("pom.xml"), new SwiftStorageObjectProperties() {{
      setContentType("application/xml");
      getCustomProperties().putAll(new HashMap<String, String>() {{
        put("customkey.1", "customvalue.1");
              }});
    }});

List<SwiftStorageObject> objects = account.container("hellocontainer").get();
  • 请记住,当使用openstack的API时,您很可能需要进行身份验证(获取令牌等等),以便您还需要Keystone lib www.programcreek.com/java-api-examples/index.php?api=com.woorea.openstack.keystone.Keystone

希望这会有所帮助。