Datatalks API: Authenticating with Ruby
Here is an example on how to authenticate with the AWS SDK for Ruby:
Signing AWS API request
require 'net/http' require 'uri' require 'json' require 'aws-sigv4' signer = Aws::Sigv4::Signer.new( service: 'execute-api', region: 'eu-west-1', # static credentials access_key_id: 'AKIAJ7BIEEA2LJGI73WA', secret_access_key: '8YS76N7b+tLxJRohTcrF8eppO5BBDn0EDvgVM9LD', ) uri = URI('https://example.execute-api.eu-west-1.amazonaws.com/test/foo') headers = { 'Content-Type' => 'application/json; charset=utf8', } signature = signer.sign_request( http_method: 'GET', url: uri, headers: headers, body: nil # String or IO object ) headers['host'] = signature.headers['host'] headers['x-amz-date'] = signature.headers['x-amz-date'] headers['x-amz-security-token'] = signature.headers['x-amz-security-token'] headers['x-amz-content-sha256'] = signature.headers['x-amz-content-sha256'] headers['authorization'] = signature.headers['authorization'] http = Net::HTTP.new(uri.host, uri.port) http.use_ssl = true request = Net::HTTP::Get.new(uri.request_uri, headers) response = http.request(request) body = JSON.parse(response.body)