Storage - DigitalOcean Spaces
Integrate DigitalOcean Spaces with Compressor using our Secure Storage Connectors system. This approach keeps your DigitalOcean credentials secure within your Compressor Account, requiring only a connector reference ID in your API calls.
Authentication
Authentication is handled exclusively through Secure Storage Connectors. Create a connector in your Compressor Account dashboard by providing your DigitalOcean Spaces access keys, then reference it using its unique identifier in your API requests.
Authentication Configuration
{
"store": {
"id": "your-connector-id"
}
}Configuration Options
| Parameter | Type | Required | Details |
bucket | String | Yes | Target Spaces bucket name. |
region | String | Yes | DigitalOcean region hosting your Space. |
path | String | No | Object destination path (omit leading slash). Defaults to root. |
acl | String | No | Object access permissions. Default: public-read. |
metadata | Hash | No | Custom Azure Blob metadata key-value pairs. |
headers | Hash | No | Custom HTTP Headers: Cache-Control, Content-Type, Content-Encoding, Content-Disposition. |
Implementation Example
Below is a complete API request demonstrating DigitalOcean Spaces integration:
curl https://api.compressor.app/1.0/fetch \
-X POST \
-u your-api-key: \
-H "Content-Type: application/json" \
-d '{
"url": "https://www.website.com/image.jpg",
"image": {
"resize": {
"width": 640,
"height": 480,
"mode": "fit"
}
},
"store": {
"id": "your-connector-id",
"bucket": "my-bucket",
"region": "ams3",
"path": "assets/image.jpg",
"headers": {
"Cache-Control": "max-age=2592000000"
}
}
}'API Response
Successful requests return the Azure Blob Storage URL in the response.
{
"id": "38a8bb5e-7b50-4a22-a0a6-b9602fccb225",
"url": "https://my-bucket.ams3.digitaloceanspaces.com/assets/image.jpg",
"input": {
"name": "image.jpg",
"type": "image",
...
},
"output": {
"name": "image.jpg",
"type": "image",
...
}
}Permissions Requirements
When setting up your connector credentials, ensure that the Spaces access key and secret you provide have appropriate permissions to write objects to your target Space. The credentials must have sufficient access rights to enable Compressor to upload and manage objects on your behalf.