Skip to content

Instantly deploy and manage your S3 buckets with Serverless Components.

License

Notifications You must be signed in to change notification settings

DaySmart/aws-s3

 
 

Repository files navigation

aws-s3

Instantly deploy and manage your S3 buckets with Serverless Components. Supports acceleration as well as file & directory uploads.

 

  1. Install
  2. Create
  3. Configure
  4. Deploy
  5. Upload

 

1. Install

$ npm install -g serverless

2. Create

Just create a serverless.yml file

$ touch serverless.yml
$ touch .env      # your AWS api keys
# .env
AWS_ACCESS_KEY_ID=XXX
AWS_SECRET_ACCESS_KEY=XXX

3. Configure

# serverless.yml

myBucket:
  component: "@serverless/aws-s3"
  inputs:
    accelerated: false # default is true. Enables upload acceleartion for the bucket
    region: us-east-1
    cors:
      CORSRules:
      - AllowedHeaders:
        - "*"
        AllowedMethods:
        - PUT
        - POST
        - DELETE
        AllowedOrigins:
        - http://www.example.com
        MaxAgeSeconds: 3000

4. Deploy

$ serverless

5. Upload

If you're using this component programmatically within another component, you could also easily upload files and/or directories to your bucket.

const bucket = await this.load('@serverless/aws-s3')

// deploy
await bucket({
  accelerated: true
})

// upload directory
await bucket.upload({ dir: './my-files' })

// upload file
await bucket.upload({ file: './my-file.txt' })

For a full example on how this component could be used, take a look at how the website component is using it.

 

New to Components?

Checkout the Serverless Components repo for more information.

About

Instantly deploy and manage your S3 buckets with Serverless Components.

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%