메뉴
Amazon Simple Storage Service
개발자 안내서 (API Version 2006-03-01)

Ruby용 AWS SDK를 사용하여 객체 업로드

다음 작업은 두 가지 버전의 Ruby용 SDK에 대해 객체를 업로드하는 Ruby 스크립트를 사용하는 방법을 보여줍니다.

Ruby용 AWS SDK - 버전 2 사용

Ruby용 AWS SDK - 버전 2는 Amazon S3로 객체를 업로드하는 2가지 방법을 제공합니다. 첫 번째 방법은 간편하게 디스크에서 모든 크기의 파일을 업로드할 수 있는 관리형 파일 업로더입니다.

파일 업로드

1

Aws::S3::Resource 클래스의 인스턴스를 만듭니다.

2

버킷 이름과 키로 대상 객체를 참조합니다. 객체가 버킷에 상주하며 객체를 식별하는 고유의 키가 있습니다.

2

객체의 #upload_file을 호출합니다.

Copy
require 'aws-sdk' s3 = Aws::S3::Resource.new(region:'us-west-2') obj = s3.bucket('bucket-name').object('key') obj.upload_file('/path/to/source/file')

Ruby용 SDK - 버전 2에서 객체를 업로드하는 두 번째 방법은 Aws::S3::Object#put 메서드를 사용하는 것입니다. 객체가 문자열이거나 디스크에 저장된 파일이 아닌 IO 객체인 경우 이 방법이 유용합니다.

Put Object

1

Aws::S3::Resource 클래스의 인스턴스를 만듭니다.

2

버킷 이름과 키로 대상 객체를 참조합니다.

2

문자열 또는 IO 객체를 전달하는 #put을 호출합니다.

Copy
require 'aws-sdk' s3 = Aws::S3::Resource.new(region:'us-west-2') obj = s3.bucket('bucket-name').object('key') # string data obj.put(body: 'Hello World!') # IO object File.open('source', 'rb') do |file| obj.put(body: file) end

Ruby용 AWS SDK - 버전 1 사용

API는 데이터 업로드 방식을 지정하는 옵션을 사용할 수 있는 #write 메서드를 제공합니다.

객체 업로드 - Ruby용 SDK - 버전 1

1

AWS 자격 증명을 제공하여 AWS::S3 클래스의 인스턴스를 만듭니다.

2

데이터 파라미터와 옵션 해시를 제공하는 AWS::S3::S3Object#write 메서드를 사용하여 파일 또는 스트림의 데이터를 업로드합니다.

다음 Ruby용 SDK - 버전 1의 코드 예제는 위에 설명한 작업을 수행하기 위해 options 해시 :file을 사용하여 업로드할 파일의 경로를 지정하는 방법을 보여줍니다.

Copy
s3 = AWS::S3.new # Upload a file. key = File.basename(file_name) s3.buckets[bucket_name].objects[key].write(:file => file_name)

다음 Ruby용 SDK - 버전 1 스크립트 예제는 Amazon S3 버킷에 파일을 업로드합니다. 실제 예제를 작성하여 테스트하는 방법에 대한 자세한 내용은 Ruby용 AWS SDK 사용 - 버전 2을 참조하십시오.

Copy
#!/usr/bin/env ruby require 'rubygems' require 'aws-sdk' bucket_name = '*** Provide bucket name ***' file_name = '*** Provide file name ****' # Get an instance of the S3 interface. s3 = AWS::S3.new # Upload a file. key = File.basename(file_name) s3.buckets[bucket_name].objects[key].write(:file => file_name) puts "Uploading file #{file_name} to bucket #{bucket_name}."