Descarga de un objeto desde un bucket de directorio - Amazon Simple Storage Service

Descarga de un objeto desde un bucket de directorio

En los siguientes ejemplos de código, se muestra cómo leer datos de un objeto (descargado) en un bucket de directorio de Amazon S3 mediante una operación de la API GetObject.

SDK for Java 2.x

En el siguiente ejemplo de código se muestra cómo leer datos de un objeto en un bucket de directorio mediante 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

En el siguiente ejemplo de código se muestra cómo leer datos de un objeto en un bucket de directorio mediante 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()

En el siguiente comando de ejemplo de get-object, se muestra cómo puede utilizar la AWS CLI para descargar un objeto de Amazon S3. Este comando obtiene el objeto KEY_NAME del bucket bucket-base-name--zone-id--x-s3. El objeto se descargará en un archivo denominado LOCAL_FILE_NAME. Para ejecutar este comando, sustituya los user input placeholders con su propia información.

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

Para obtener más información, consulte get-object en la Referencia de los comandos de AWS CLI.