Documentation

SDKs & Tools

Use your favorite programming language or tool to interact with ElasticLake.

Official AWS SDKs

Since ElasticLake is S3-compatible, you can use official AWS SDKs with our endpoint.

Python

Python

boto3

pip install boto3
View Documentation →
Node.js

Node.js

@aws-sdk/client-s3

npm install @aws-sdk/client-s3
View Documentation →
Go

Go

aws-sdk-go-v2

go get github.com/aws/aws-sdk-go-v2
View Documentation →

Java

aws-java-sdk-s3

software.amazon.awssdk:s3
View Documentation →
.NET

.NET

AWSSDK.S3

dotnet add package AWSSDK.S3
View Documentation →
Ruby

Ruby

aws-sdk-s3

gem install aws-sdk-s3
View Documentation →

Command Line Tools

AWS CLI

Official AWS command line tool

# Configure for ElasticLake
aws configure set default.s3.endpoint_url https://lake.elasticlake.com

# List buckets
aws s3 ls

# Upload file
aws s3 cp file.txt s3://lake1--pond1--my-bucket/
Install AWS CLI →
Rclone

Rclone

Sync files to cloud storage

# Configure remote
rclone config

# Sync directory
rclone sync /local/path elasticlake:bucket

# List files
rclone ls elasticlake:bucket
Install Rclone →

Quick Start Examples

Python

Python with boto3

import boto3

# Create client
s3 = boto3.client(
    's3',
    endpoint_url='https://lake.elasticlake.com',
    aws_access_key_id='YOUR_ACCESS_KEY',
    aws_secret_access_key='YOUR_SECRET_KEY'
)

# Create bucket
s3.create_bucket(Bucket='lake1--pond1--my-bucket')

# Upload file
s3.upload_file('local-file.txt', 'lake1--pond1--my-bucket', 'remote-file.txt')

# Download file
s3.download_file('lake1--pond1--my-bucket', 'remote-file.txt', 'downloaded.txt')

# List objects
response = s3.list_objects_v2(Bucket='lake1--pond1--my-bucket')
for obj in response.get('Contents', []):
    print(obj['Key'])
Node.js

Node.js with AWS SDK v3

import { S3Client, PutObjectCommand, GetObjectCommand } from '@aws-sdk/client-s3';

// Create client
const s3 = new S3Client({
  endpoint: 'https://lake.elasticlake.com',
  region: 'auto',
  credentials: {
    accessKeyId: 'YOUR_ACCESS_KEY',
    secretAccessKey: 'YOUR_SECRET_KEY'
  }
});

// Upload file
await s3.send(new PutObjectCommand({
  Bucket: 'lake1--pond1--my-bucket',
  Key: 'hello.txt',
  Body: 'Hello, ElasticLake!'
}));

// Download file
const response = await s3.send(new GetObjectCommand({
  Bucket: 'lake1--pond1--my-bucket',
  Key: 'hello.txt'
}));
const body = await response.Body.transformToString();