Quick Start
Ask your AI assistant:“Add an S3 bucket called ‘uploads’ to my project”Or add it directly to your
neptune.json:
neptune.json
“Provision my resources and deploy”
How It Works
When you provision a storage bucket, Neptune:- Creates an S3 bucket with a physical name (e.g.,
neptune-abc123-uploads) for global uniqueness - Configures all necessary IAM permissions so your running service can access it
- Returns the physical bucket name to your AI assistant
The physical bucket name is different from the logical name you define in
neptune.json. For example, if you name your bucket uploads, the actual AWS bucket might be called neptune-abc123-uploads.Getting the Bucket Name
After provisioning, ask your AI assistant for the bucket name:“What’s the bucket name for my uploads bucket?”Or:
“Show me the deployment status”Your AI assistant will call
get_deployment_status which returns the resource details including the physical aws_id:
Using in Your Application
All permissions are pre-configured, so you can useboto3 (or other AWS SDKs) out of the box without any credential configuration.
- Python
- Node.js
- Rust
Configuration Options
| Field | Type | Required | Description |
|---|---|---|---|
kind | string | Yes | Must be "StorageBucket" |
name | string | Yes | Logical name for this bucket (Neptune generates a unique physical name) |
Managing Files
You can ask your AI assistant to help manage bucket contents:| Task | Example Request |
|---|---|
| List files | ”List the files in my uploads bucket” |
| Get a file | ”Show me the contents of config.json in my bucket” |
| Check status | ”Is my storage bucket ready?” |
Presigned URLs
For user uploads or temporary access, generate presigned URLs:Best Practices
Organize with prefixes
Organize with prefixes
Use prefixes (folders) to organize your files:
Set content types
Set content types
Always set the
ContentType when uploading to ensure proper handling:Use presigned URLs for direct uploads
Use presigned URLs for direct uploads
For user uploads, generate presigned URLs to upload directly to S3 from the browser. This avoids passing large files through your server.