aws-sdk-s3で署名付きURLのスタブを生成
Gemの aws-sdk-s3
を使った署名付きURLのスタブの生成について、以下のissueにやり方が書いてあったのでメモ。
Stubbing issue with Presigner#presigned_url · Issue #2092 · aws/aws-sdk-ruby
s = Aws::S3::Client.new(stub_responses: true) #=> #<Aws::S3::Client> p = Aws::S3::Presigner.new(client: s) #=> #<Aws::S3::Presigner:0x007fdbcb4d9758 @client=#<Aws::S3::Client>> p.presigned_url(:put_object, bucket: 'foo', key: 'bar') #=> "https://foo.s3.us-stubbed-1.amazonaws.com/bar?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=stubbed-akid%2F20210322%2Fus-stubbed-1%2Fs3%2Faws4_request&X-Amz-Date=20210322T064324Z&X-Amz-Expires=900&X-Amz-SignedHeaders=host&X-Amz-Signature=6f6b14b2ee48dca1e0f02a1e6ea5ea59bfb3f7ba4b33797ad252639d5593604b"