A simple library to sign AWS request using AWS Signature Version 4.
The implementation is inspired from sorah/aws4_signer.
Add this to your application's shard.yml
:
dependencies:
aws4_signer:
github: dtan4/aws4_signer.cr
require "aws4_signer"
require "aws4_signer"
require "http/client"
require "uri"
bucket = "your-bucket"
signer = Aws4Signer.new(ENV["AWS_ACCESS_KEY_ID"], ENV["AWS_SECRET_ACCESS_KEY"], "ap-northeast-1", "s3")
uri = URI.parse("https://s3-ap-northeast-1.amazonaws.com/#{bucket}")
HTTP::Client.new(uri.host.to_s) do |client|
headers = signer.sign_headers("GET", uri)
response = client.get(uri.path.to_s, headers)
puts response.body
end
- Fork it ( https://github.com/dtan4/aws4_signer.cr/fork )
- Create your feature branch (git checkout -b my-new-feature)
- Commit your changes (git commit -am 'Add some feature')
- Push to the branch (git push origin my-new-feature)
- Create a new Pull Request
- @dtan4 Daisuke Fujita - creator, maintainer