🦁
【sls】serverless-s3-localで署名付きURLを使用したオブジェクトのアップロードを可能にする
はじめに
serverless framework & s3 を利用した開発環境を整備するために調査した内容を投稿させていただきます。
実現したいこと
serverless-s3-localで署名付きURLを使用したオブジェクトのアップロードを可能にする。
設定・実装
serverless.yml
serverless-s3-localで署名付きURLを使用したオブジェクトのアップロードを可能にするためには以下の2つを有効化する必要がある。
- allowMismatchedSignatures
- CORS
serverless.yml
# 省略
plugins:
- serverless-s3-local
- serverless-offline
custom:
s3:
host: localhost
directory: /tmp
+ allowMismatchedSignatures: true
+ cors: config/s3_cors_rule.xml
# 省略
config/s3_cors_rule.xml
<CORSConfiguration>
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>PUT</AllowedMethod>
<MaxAgeSeconds>3000</MaxAgeSeconds>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>
HTML/JS
署名付きURLのリクエスト(HTML/JS)は以下のサイトが参考になった。
- Netlify: Develop & deploy the best web experiences in record time
- slsFileUploadHandler.js
- slsFileUploadClient.html
Discussion