项目作者: joyent

项目描述 :
Java Manta Client SDK
高级语言: Java
项目地址: git://github.com/joyent/java-manta.git
创建时间: 2012-12-20T19:29:31Z
项目社区:https://github.com/joyent/java-manta

开源协议:Other

下载


Build Status

Java Manta Client SDK

java-manta is a community-maintained Java
SDK for interacting with Joyent’s Manta system.

Projects Using the Java Manta Client SDK

Installation

Java 1.8 is required for SDK compilation.
It effectively supports both Java 8 and Java 11
in application usage. The main client module can be installed by adding the following dependency using
Maven 3.1.x:

  1. <dependency>
  2. <groupId>com.joyent.manta</groupId>
  3. <artifactId>java-manta-client</artifactId>
  4. <version>LATEST</version>
  5. </dependency>

and the unshaded module can be installed by adding the following dependency using Maven 3.1.x:

  1. <dependency>
  2. <groupId>com.joyent.manta</groupId>
  3. <artifactId>java-manta-client-unshaded</artifactId>
  4. <version>LATEST</version>
  5. </dependency>

Please refer to the installation documentation for more details about the following topics:

Configuration

Configuration can be done through system properties or environment variables.
Listed below are the most commonly used configuration options:

System Property Environment Variable Default
manta.url MANTA_URL https://us-east.manta.joyent.com:443
manta.user MANTA_USER
manta.key_id MANTA_KEY_ID
manta.key_path MANTA_KEY_PATH $HOME/.ssh/id_rsa (if exists)
  • manta.url ( MANTA_URL )
    The URL of the manta service endpoint to test against
  • manta.user ( MANTA_USER )
    The account name used to access the manta service. If accessing via a subuser,
    you will specify the account name as “user/subuser”.
  • manta.key_id: ( MANTA_KEY_ID)
    The fingerprint for the public key used to access the manta service. Can be obtained using ssh-keygen -l -f ${MANTA_KEY_PATH} -E md5 | cut -d' ' -f 2
  • manta.key_path ( MANTA_KEY_PATH)
    The name of the file that will be loaded for the account used to access the manta service.

Please refer to the configuration documentation for example code and the full
list of configuration options which include retry and performance tuning in addition to encryption and authentication
parameters.

Usage

You’ll need a manta login, an associated key, and its corresponding key
fingerprint.

You will then create or use an implementation of ConfigContext to set up
your configuration. Once you have an instance of your configuration class,
you will then construct a MantaClient instance. The MantaClient class
is intended to be used per Manta account. It is thread-safe and you should
share one instance across multiple threads.

For detailed usage instructions consult the provided JavaDoc and examples. The
JavaDoc can also be browsed online at javadoc.io

General Examples

Job Examples

Jobs can be created directly with the MantaClient class or they can be created
using the MantaJobBuilder class. MantaJobBuilder provides a fluent interface
that allows for an easier API for job creation and it provides a number of
useful functions for common use cases.

For more examples, check the included examples module and the
integration test module.

FAQs

Known edge cases and other topics are covered in the FAQ.

Contributions

Contributions are welcome! Please read the CONTRIBUTING.md document for details
on getting started.

Developing

There are portions of the SDK that are somewhat complex or fiddly. Please read the DEVELOPING.md
document for details, before developing the Java SDK.

Testing

Contributing developers are strongly encouraged to add unit-tests and integration-tests. Refer to the testing documentation
for information on full test suite requirements.

Releasing

Please refer to the release documentation.

Bugs

See https://github.com/joyent/java-manta/issues.

License

Java Manta is licensed under the MPLv2. Please see the LICENSE.txt
file for more details. The license was changed from the MIT license to the MPLv2
license starting at version 2.3.0.

Credits

We are grateful for the functionality provided by the libraries that this project
depends on. Without them, we would be building everything from scratch. A thank you
goes out to: