디렉터리 버킷에서 객체 다운로드 - Amazon Simple Storage Service

디렉터리 버킷에서 객체 다운로드

다음 코드 예제는 GetObject API 작업을 사용하여 Amazon S3 디렉터리 버킷의 객체에서 데이터를 읽는(다운로드하는) 방법을 보여줍니다.

SDK for Java 2.x

다음 코드 예제는 AWS SDK for Java 2.x를 사용하여 디렉터리 버킷의 객체에서 데이터를 읽는 방법을 보여줍니다.

public static void getObject(S3Client s3Client, String bucketName, String objectKey) { try { GetObjectRequest objectRequest = GetObjectRequest .builder() .key(objectKey) .bucket(bucketName) .build(); ResponseBytes GetObjectResponse objectBytes = s3Client.getObjectAsBytes(objectRequest); byte[] data = objectBytes.asByteArray(); //Print object contents to console String s = new String(data, StandardCharsets.UTF_8); System.out.println(s); } catch (S3Exception e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } }
SDK for Python

다음 코드 예제는 AWS SDK for Python (Boto3)을 사용하여 디렉터리 버킷의 객체에서 데이터를 읽는 방법을 보여줍니다.

import boto3 from botocore.exceptions import ClientError from botocore.response import StreamingBody def get_object(s3_client: boto3.client, bucket_name: str, key_name: str) -> StreamingBody: """ Gets the object. :param s3_client: :param bucket_name: The bucket that contains the object. :param key_name: The key of the object to be downloaded. :return: The object data in bytes. """ try: response = s3_client.get_object(Bucket=bucket_name, Key=key_name) body = response['Body'].read() print(f"Got object '{key_name}' from bucket '{bucket_name}'.") except ClientError: print(f"Couldn't get object '{key_name}' from bucket '{bucket_name}'.") raise else: return body def main(): s3_client = boto3.client('s3') resp = get_object(s3_client, 'doc-example-bucket--use1-az4--x-s3', 'sample.txt') print(resp) if __name__ == "__main__": main()

다음 get-object 예제 명령은 AWS CLI를 사용하여 Amazon S3에서 객체를 다운로드하는 방법을 보여줍니다. 이 명령은 디렉터리 버킷 bucket-base-name--zone-id--x-s3에서 KEY_NAME 객체를 가져옵니다. 객체는 LOCAL_FILE_NAME라는 파일로 다운로드됩니다. 이 명령을 실행하려면 user input placeholders를 사용자의 정보로 대체합니다.

aws s3api get-object --bucket bucket-base-name--zone-id--x-s3 --key KEY_NAME LOCAL_FILE_NAME

자세한 정보는 AWS CLI 명령 참조get-object 섹션을 참조하세요.