Uploading an Item with Metadata to an Amazon S3 Bucket - AWS SDK for Ruby

Uploading an Item with Metadata to an Amazon S3 Bucket

The following example uploads the item (file) C:file.txt with the metadata key-value pair answer and 42 to the bucket my-bucket in the us-west-2 region. Because C:file.txt is the fully qualified name of the file, the name of the item is set to the file name.

# Copyright 2010-2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. # # This file is licensed under the Apache License, Version 2.0 (the "License"). # You may not use this file except in compliance with the License. A copy of the # License is located at # # http://aws.amazon.com/apache2.0/ # # This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS # OF ANY KIND, either express or implied. See the License for the specific # language governing permissions and limitations under the License. require 'aws-sdk-s3' # v2: require 'aws-sdk' s3 = Aws::S3::Resource.new(region: 'us-west-2') file = 'C:\file.txt' bucket = 'my-bucket' # Get just the file name name = File.basename(file) # Create the object to upload obj = s3.bucket(bucket).object(name) # Metadata to add metadata = {"answer" => "42"} # Upload it obj.upload_file(file, metadata: metadata)