S3 (Simple Storage Service)

This document contains information about the S3 service supported in Handel. This Handel service provisions an S3 bucket for use by your applications.


For static websites in S3, see the S3 Static Site service.

Service Limitations

This service currently only provisions a bare-bones S3 bucket for data storage. It does support versioning, but the following other features are not currently supported:

  • CORS configuration
  • Bucket lifecycle
  • Bucket logging
  • Cross-region replication


This service takes the following parameters:

Parameter Type Required Default Description
type string Yes   This must always be s3 for this service type.
bucket_name string No <appName>-<environmentName>-<serviceName>-<serviceType> The name of the bucket to create. This name must be globally unique across all AWS accounts, so ‘myBucket’ will likely be taken. :)
bucket_acl string No disabled Warning: A canned access control list (ACL) that grants predefined permissions to the bucket. These are global permissions ie, PublicRead means the bucket is open to the world. Allowed values: AuthenticatedRead, AwsExecRead, BucketOwnerRead, BucketOwnerFullControl, LogDeliveryWrite, Private, PublicRead
versioning string No disabled Whether to enable versioning on the bucket. Allowed values: enabled, disabled
logging string No disabled Whether to enable logging on the bucket. Allowed values: enabled, disabled.
tags Tags No   Any tags you want to apply to your S3 bucket


The Tags element is defined by the following schema:

 <your_tag_name>: <your_tag_value>


Handel automatically applies some tags for you. See Default Tags for information about these tags.

Example Handel File

This Handel file shows an S3 service being configured:

version: 1

name: my-s3-bucket

      type: s3
      # Because we don't specify a bucket_name, the bucket will be named 'my-s3-bucket-dev-mybucket-s3' (see default in table above)
      versioning: enabled

Depending on this service

This service outputs the following environment variables:

Environment Variable Description
<ENV_PREFIX>_BUCKET_NAME The name of the created bucket
<ENV_PREFIX>_BUCKET_URL The HTTPS URL of the created bucket
<ENV_PREFIX>_REGION_ENDPOINT The domain of the S3 region endpoint, which you can use when configuring your AWS SDK

The <ENV_PREFIX> is a consistent prefix applied to all information injected for service dependencies. See Environment Variable Prefix for information about the structure of this prefix.

Events produced by this service

The S3 service does not currently produce events for other Handel services. Support is planned to be added in the future.

Events consumed by this service

The S3 service does not consume events from other Handel services.