Objects
Objects are the files you store in Fil One. Each object consists of the file data, a key (the file path/name), and metadata.
Uploading objects
- App
- AWS CLI
- Python (boto3)
- Open a bucket from the dashboard.
- Click Upload.
- Select one or more files.
- Objects appear in the file list immediately after upload completes.
# Upload a single file
aws s3 cp my-file.txt s3://my-bucket/my-file.txt \
--endpoint-url https://s3.fil.one
# Upload a directory
aws s3 sync ./local-folder s3://my-bucket/folder/ \
--endpoint-url https://s3.fil.one
# Upload a file
s3.upload_file("my-file.txt", "my-bucket", "my-file.txt")
# Upload with metadata
s3.put_object(
Bucket="my-bucket",
Key="report.pdf",
Body=open("report.pdf", "rb"),
ContentType="application/pdf",
)
For files larger than 5 GB, use multipart upload.
Downloading objects
- App
- AWS CLI
- Python (boto3)
Click on any object in the file list and select Download.
aws s3 cp s3://my-bucket/my-file.txt ./my-file.txt \
--endpoint-url https://s3.fil.one
s3.download_file("my-bucket", "my-file.txt", "my-file.txt")
Listing objects
aws s3 ls s3://my-bucket/ --endpoint-url https://s3.fil.one
For programmatic listing with pagination:
paginator = s3.get_paginator("list_objects_v2")
for page in paginator.paginate(Bucket="my-bucket"):
for obj in page.get("Contents", []):
print(obj["Key"], obj["Size"])
Deleting objects
- App
- AWS CLI
Select one or more objects and click Delete. Confirm by typing delete.
aws s3 rm s3://my-bucket/my-file.txt \
--endpoint-url https://s3.fil.one
Deletion is immediate and permanent. There is no recycle bin or soft-delete.
Objects with active Compliance retention cannot be deleted. The request will return a 403 AccessDenied error with the retention expiry date. See Object Lock for details.
Presigned URLs
Generate a temporary URL that grants time-limited access to a specific object without requiring API credentials.
# Generate a download URL valid for 1 hour
url = s3.generate_presigned_url(
"get_object",
Params={"Bucket": "my-bucket", "Key": "shared-report.pdf"},
ExpiresIn=3600,
)
print(url)
Presigned URLs work for both GetObject (downloads) and PutObject (uploads).