API use

UltiHash offers a powerful, S3-compatible API that allows developers to interact with storage clusters using familiar commands and libraries designed for Amazon S3. In addition to supporting standard S3 operations, UltiHash extends the functionality by providing unique features like as deduplication metrics.

For developers looking to explore SDKs across various languages and environments, we highly recommend visiting AWS Developer Tools, which offers comprehensive support for integrating with S3-compatible APIs, including UltiHash.

Essential Operations

UltiHash supports a wide range of S3 API operations, enabling you to manage your data effectively. Here are the core operations you can perform:

  • CreateBucket: Create new buckets in your UltiHash storage.

  • PutObject: Upload files to your UltiHash buckets.

  • GetObject: Retrieve files from your UltiHash storage.

  • ListObjectsV2: List the contents of your buckets.

  • CompleteMultipartUpload: Finalize multi-part uploads, essential for handling large files.

  • DeleteBucket & DeleteObject: Manage your storage by removing unnecessary buckets and objects.

All supported API Functions

S3 Compatibility Layer

  • AbortMultipartUpload

  • CreateMultipartUpload

  • CompleteMultipartUpload

  • CopyObject

  • CreateBucket

  • DeleteBucket

  • DeleteBucketPolicy

  • DeleteObject

  • DeleteObjects

  • GetBucketPolicy

  • GetObject

  • HeadBucket

  • HeadObject

  • ListBuckets

  • ListMultipartUploads

  • ListObjects

  • ListObjectsV2

  • PutBucketPolicy

  • PutObject

  • UploadPart

IAM Compatibility Layer

  • CreateAccessKey

  • CreateUser

  • DeleteAccessKey

  • DeleteUser

  • DeleteUserPolicy

  • GetUserPolicy

  • ListUserPolicies

  • PutUserPolicy

Deduplication Metrics

(get_effective_size.py) https://github.com/UltiHash/scripts/tree/main/boto3/ultihash_info

UltiHash extends beyond the standard S3 API with features like deduplication metrics, which allow you to query the effective size of your data after deduplication. This unique functionality is crucial for optimizing storage and understanding your actual storage usage.

Example:

# Retrieve deduplicated data size from UltiHash
get_effective_size.py --url <https://ultihash>

Uploading Data

(uh_upload.py) https://github.com/UltiHash/scripts/tree/main/boto3/multithread_upload

# Example: Upload a folder to a bucket on UltiHash
python3 uh_upload.py --url <https://ultihash> --bucket mybucket folder/

Downloading Data

(uh_download.py) https://github.com/UltiHash/scripts/tree/main/boto3/multithread_download

# Example: Download a bucket from UltiHash
python3 uh_download.py --url <https://ultihash> --path local-folder mybucket

These scripts provide a straightforward way to interact with UltiHash storage using the S3-compatible API. For more advanced scenarios, refer to the comprehensive SDKs available at AWS Developer Tools.

Last updated