|
|
|
@ -1,12 +1,19 @@
|
|
|
|
|
require 'aws-sdk'
|
|
|
|
|
|
|
|
|
|
def main
|
|
|
|
|
bucket = ENV.fetch('CPI_FEED_AWS_BUCKET')
|
|
|
|
|
key = ARGV.first || ENV.fetch('CPI_FEED_AWS_KEY')
|
|
|
|
|
class MiniS3put
|
|
|
|
|
def initialize(key: nil, instream: $stdin)
|
|
|
|
|
@bucket = ENV.fetch('CPI_FEED_AWS_BUCKET')
|
|
|
|
|
@key = key || ENV.fetch('CPI_FEED_AWS_KEY')
|
|
|
|
|
@instream = instream
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def put
|
|
|
|
|
Aws::S3::Resource.new.bucket(bucket).object(key).put(
|
|
|
|
|
body: instream.read
|
|
|
|
|
).on_success(&method(:on_put_success))
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
Aws::S3::Resource.new.bucket(bucket).object(key).put(
|
|
|
|
|
body: $stdin.read
|
|
|
|
|
).on_success do |response|
|
|
|
|
|
def on_put_success(response)
|
|
|
|
|
puts response.data
|
|
|
|
|
|
|
|
|
|
Aws::S3::Client.new.put_object_acl(
|
|
|
|
@ -15,10 +22,12 @@ def main
|
|
|
|
|
puts acl_response.data
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
return 0
|
|
|
|
|
0
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
1
|
|
|
|
|
private
|
|
|
|
|
|
|
|
|
|
attr_reader :bucket, :key, :instream
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
exit(main) if $PROGRAM_NAME == __FILE__
|
|
|
|
|
exit(MiniS3put.new(ARGV.first).put) if $PROGRAM_NAME == __FILE__
|
|
|
|
|