Ejemplos de Amazon S3 que utilizan la AWS CLI - AWS Command Line Interface

Esta documentación es para la versión 1 de AWS CLI. Para obtener documentación relacionada con la versión 2 de AWS CLI, consulte la Guía del usuario de la versión 2.

Ejemplos de Amazon S3 que utilizan la AWS CLI

En los siguientes ejemplos de código se muestra cómo realizar acciones e implementar escenarios comunes usando AWS Command Line Interface con Amazon S3.

Las acciones son extractos de código de programas más grandes y deben ejecutarse en contexto. Mientras las acciones muestran cómo llamar a las funciones de servicio individuales, es posible ver las acciones en contexto en los escenarios relacionados.

En cada ejemplo se incluye un enlace al código de origen completo, con instrucciones de configuración y ejecución del código en el contexto.

Acciones

En el siguiente ejemplo de código, se muestra cómo utilizar abort-multipart-upload.

AWS CLI

Anular la carga multiparte especificada

El siguiente comando abort-multipart-upload anula una carga multiparte de la clave multipart/01 en el bucket my-bucket.

aws s3api abort-multipart-upload \ --bucket my-bucket \ --key multipart/01 \ --upload-id dfRtDYU0WWCCcH43C3WFbkRONycyCpTJJvxu2i5GYkZljF.Yxwh6XG7WfS2vC4to6HiV6Yjlx.cph0gtNBtJ8P3URCSbB7rjxI5iEwVDmgaXZOGgkk5nVTW16HOQ5l0R

El ID de carga requerido por este comando se genera mediante create-multipart-upload y también se puede recuperar con list-multipart-uploads.

  • Para obtener información sobre la API, consulte AbortMultipartUploads en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar complete-multipart-upload.

AWS CLI

El siguiente comando completa una carga multiparte de la clave multipart/01en el bucket my-bucket:

aws s3api complete-multipart-upload --multipart-upload file://mpustruct --bucket my-bucket --key 'multipart/01' --upload-id dfRtDYU0WWCCcH43C3WFbkRONycyCpTJJvxu2i5GYkZljF.Yxwh6XG7WfS2vC4to6HiV6Yjlx.cph0gtNBtJ8P3URCSbB7rjxI5iEwVDmgaXZOGgkk5nVTW16HOQ5l0R

El ID de carga requerido por este comando se genera mediante create-multipart-upload y también se puede recuperar con list-multipart-uploads.

La opción de carga multiparte del comando anterior utiliza una estructura JSON que describe las partes de la carga multiparte que se deben volver a ensamblar en el archivo completo. En este ejemplo, el prefijo file:// se usa para cargar la estructura JSON desde un archivo de la carpeta local denominada mpustruct.

mpustruct:

{ "Parts": [ { "ETag": "e868e0f4719e394144ef36531ee6824c", "PartNumber": 1 }, { "ETag": "6bb2b12753d66fe86da4998aa33fffb0", "PartNumber": 2 }, { "ETag": "d0a0112e841abec9c9ec83406f0159c8", "PartNumber": 3 } ] }

El valor de ETag de cada parte que se carga aparece cada vez que se carga una parte mediante el comando upload-part y también se puede recuperar mediante una llamada a list-parts o calcularse mediante la suma de comprobación MD5 de cada parte.

Salida:

{ "ETag": "\"3944a9f7a4faab7f78788ff6210f63f0-3\"", "Bucket": "my-bucket", "Location": "https://my-bucket.s3.amazonaws.com/multipart%2F01", "Key": "multipart/01" }
  • Para obtener información sobre la API, consulte CompleteMultipartUpload en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar copy-object.

AWS CLI

El siguiente comando copia un objeto de bucket-1 a bucket-2:

aws s3api copy-object --copy-source bucket-1/test.txt --key test.txt --bucket bucket-2

Salida:

{ "CopyObjectResult": { "LastModified": "2015-11-10T01:07:25.000Z", "ETag": "\"589c8b79c230a6ecd5a7e1d040a9a030\"" }, "VersionId": "YdnYvTCVDqRRFA.NFJjy36p0hxifMlkA" }
  • Para obtener información sobre la API, consulte CopyObject en la Referencia de comandos de AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar cp.

AWS CLI

Ejemplo 1: copia de un archivo local en S3

El siguiente comando cp copia un único archivo en un bucket y una clave específicos:

aws s3 cp test.txt s3://mybucket/test2.txt

Salida:

upload: test.txt to s3://mybucket/test2.txt

Ejemplo 2: copia de un archivo local en S3 con una fecha de caducidad

El siguiente comando cp copia un único archivo en un bucket y una clave específicos que expiran en una marca temporal ISO 8601 especificada:

aws s3 cp test.txt s3://mybucket/test2.txt \ --expires 2014-10-01T20:30:00Z

Salida:

upload: test.txt to s3://mybucket/test2.txt

Ejemplo 3: copia de un archivo desde S3 a S3

El siguiente comando cp copia un único objeto S3 en un bucket y una clave específicos:

aws s3 cp s3://mybucket/test.txt s3://mybucket/test2.txt

Salida:

copy: s3://mybucket/test.txt to s3://mybucket/test2.txt

Ejemplo 4: copia de un objeto de S3 en un archivo local

El siguiente comando cp copia un único objeto en un archivo específico localmente:

aws s3 cp s3://mybucket/test.txt test2.txt

Salida:

download: s3://mybucket/test.txt to test2.txt

Ejemplo 5: copia de un objeto de S3 desde un bucket a otro

El siguiente comando cp copia un único objeto en un bucket específico sin perder su nombre original:

aws s3 cp s3://mybucket/test.txt s3://mybucket2/

Salida:

copy: s3://mybucket/test.txt to s3://mybucket2/test.txt

Ejemplo 6: copia recursiva de objetos de S3 en un directorio local

Cuando se pasa con el parámetro --recursive, el siguiente comando cp copia de forma recursiva todos los objetos con un prefijo y un bucket específicos en un directorio concreto. En este ejemplo, el bucket mybucket contiene los objetos test1.txt y test2.txt:

aws s3 cp s3://mybucket . \ --recursive

Salida:

download: s3://mybucket/test1.txt to test1.txt download: s3://mybucket/test2.txt to test2.txt

Ejemplo 7: copia de archivos locales en S3

Cuando se pasa con el parámetro --recursive, el siguiente comando cp copia de forma recursiva todos los archivos de un directorio determinado en un bucket y prefijo específicos. También excluye algunos archivos con el parámetro --exclude. En este ejemplo, el directorio myDir contiene los archivos test1.txt y test2.jpg:

aws s3 cp myDir s3://mybucket/ \ --recursive \ --exclude "*.jpg"

Salida:

upload: myDir/test1.txt to s3://mybucket/test1.txt

Ejemplo 8: copia recursiva de objetos de S3 en otro bucket

Cuando se pasa con el parámetro --recursive, el siguiente comando --exclude copia de forma recursiva todos los objetos de un bucket determinado en otro bucket. También excluye algunos objetos con el parámetro cp. En este ejemplo, el bucket mybucket contiene los objetos test1.txt y another/test1.txt:

aws s3 cp s3://mybucket/ s3://mybucket2/ \ --recursive \ --exclude "another/*"

Salida:

copy: s3://mybucket/test1.txt to s3://mybucket2/test1.txt

Puede combinar las opciones --exclude y --include para copiar solo los objetos que coincidan con un patrón, excluyendo todos los demás:

aws s3 cp s3://mybucket/logs/ s3://mybucket2/logs/ \ --recursive \ --exclude "*" \ --include "*.log"

Salida:

copy: s3://mybucket/logs/test/test.log to s3://mybucket2/logs/test/test.log copy: s3://mybucket/logs/test3.log to s3://mybucket2/logs/test3.log

Ejemplo 9: configuración de la lista de control de acceso (ACL) al copiar un objeto de S3

En el siguiente comando cp, se copia un único objeto en un bucket y una clave específicos, y se configura ACL en public-read-write:

aws s3 cp s3://mybucket/test.txt s3://mybucket/test2.txt \ --acl public-read-write

Salida:

copy: s3://mybucket/test.txt to s3://mybucket/test2.txt

Tenga en cuenta que, si utiliza la opción --acl, debe asegurarse de que todas las políticas de IAM asociadas incluyan la acción "s3:PutObjectAcl":

aws iam get-user-policy \ --user-name myuser \ --policy-name mypolicy

Salida:

{ "UserName": "myuser", "PolicyName": "mypolicy", "PolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Action": [ "s3:PutObject", "s3:PutObjectAcl" ], "Resource": [ "arn:aws:s3:::mybucket/*" ], "Effect": "Allow", "Sid": "Stmt1234567891234" } ] } }

Ejemplo 10: concesión de permisos a un objeto de S3

El siguiente comando cp ilustra el uso de la opción --grants para conceder acceso de lectura a todos los usuarios identificados por su URI y el control total a un usuario específico identificado por su ID canónico:

aws s3 cp file.txt s3://mybucket/ --grants read=uri=http://acs.amazonaws.com/groups/global/AllUsers full=id=79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be

Salida:

upload: file.txt to s3://mybucket/file.txt

Ejemplo 11: carga de un flujo de archivos local a S3

PowerShell puede alterar la codificación o añadir un CRLF a la entrada canalizada.

El siguiente comando cp carga un flujo de archivos local desde la entrada estándar a un bucket y una clave específicos:

aws s3 cp - s3://mybucket/stream.txt

Ejemplo 12: carga de un flujo de archivos local de más de 50 GB a S3

El siguiente comando cp carga un flujo de archivos local de 51 GB desde la entrada estándar a un bucket y una clave específicos. Se debe proporcionar la opción --expected-size, ya que, de lo contrario, la carga podría fallar si se alcanza el límite predeterminado de 10 000 piezas:

aws s3 cp - s3://mybucket/stream.txt --expected-size 54760833024

Ejemplo 13: descarga de un objeto de S3 como flujo de archivos local

PowerShell podría alterar la codificación o agregar un CRLF a la salida canalizada o redirigida.

El siguiente comando cp descarga un objeto S3 de forma local como una transmisión de la salida estándar. La descarga como flujo no es compatible actualmente con el parámetro --recursive:

aws s3 cp s3://mybucket/stream.txt -

Ejemplo 14: carga de un punto de acceso de S3

El siguiente cp comando carga un único archivo (mydoc.txt) en el punto de acceso (myaccesspoint) en la clave (mykey):

aws s3 cp mydoc.txt s3://arn:aws:s3:us-west-2:123456789012:accesspoint/myaccesspoint/mykey

Salida:

upload: mydoc.txt to s3://arn:aws:s3:us-west-2:123456789012:accesspoint/myaccesspoint/mykey

Ejemplo 15: descarga desde un punto de acceso de S3

El siguiente cp comando descarga un único objeto (mykey) desde el punto de acceso (myaccesspoint) al archivo local (mydoc.txt):

aws s3 cp s3://arn:aws:s3:us-west-2:123456789012:accesspoint/myaccesspoint/mykey mydoc.txt

Salida:

download: s3://arn:aws:s3:us-west-2:123456789012:accesspoint/myaccesspoint/mykey to mydoc.txt
  • Para obtener información sobre la API, consulte Cp en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar create-bucket.

AWS CLI

Ejemplo 1: Creación de un bucket

En los siguientes ejemplos de create-bucket se crea un bucket denominado my-bucket:

aws s3api create-bucket \ --bucket my-bucket \ --region us-east-1

Salida:

{ "Location": "/my-bucket" }

Para obtener más información, consulte Crear un bucket en la Guía del usuario de Amazon S3.

Ejemplo 2: Creación de un bucket con propietario obligatorio

En el siguiente ejemplo de create-bucket se crea un bucket denominado my-bucket que utiliza la configuración Aplicada al propietario del bucket de S3 Object Ownership.

aws s3api create-bucket \ --bucket my-bucket \ --region us-east-1 \ --object-ownership BucketOwnerEnforced

Salida:

{ "Location": "/my-bucket" }

Para obtener más información, consulte Control de la propiedad de objetos y desactivación de las ACL en la Guía del usuario de Amazon S3.

Ejemplo 3: creación de un bucket fuera de la región us-east-1

En el siguiente ejemplo create-bucket, se crea un bucket denominado my-bucket en la región eu-west-1. Las regiones situadas fuera de us-east-1 requieren que se especifique el LocationConstraint correspondiente para poder crear el bucket en la región deseada.

aws s3api create-bucket \ --bucket my-bucket \ --region eu-west-1 \ --create-bucket-configuration LocationConstraint=eu-west-1

Salida:

{ "Location": "http://my-bucket.s3.amazonaws.com/" }

Para obtener más información, consulte Crear un bucket en la Guía del usuario de Amazon S3.

  • Para obtener información sobre la API, consulte CreateBucket en la Referencia de comandos de AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar create-multipart-upload.

AWS CLI

El siguiente comando crea una carga multiparte en el bucket my-bucket con la clave multipart/01:

aws s3api create-multipart-upload --bucket my-bucket --key 'multipart/01'

Salida:

{ "Bucket": "my-bucket", "UploadId": "dfRtDYU0WWCCcH43C3WFbkRONycyCpTJJvxu2i5GYkZljF.Yxwh6XG7WfS2vC4to6HiV6Yjlx.cph0gtNBtJ8P3URCSbB7rjxI5iEwVDmgaXZOGgkk5nVTW16HOQ5l0R", "Key": "multipart/01" }

El archivo completo se denominará 01 en una carpeta llamada multipart en el bucket my-bucket. Guarde el ID de carga, la clave y el nombre del bucket para usarlos con el comando upload-part.

  • Para obtener información sobre la API, consulte CreateMultipartUpload en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar delete-bucket-analytics-configuration.

AWS CLI

Eliminar una configuración de análisis de un bucket

En el siguiente ejemplo de delete-bucket-analytics-configuration, se elimina la configuración de análisis para el bucket e ID especificados.

aws s3api delete-bucket-analytics-configuration \ --bucket my-bucket \ --id 1

Este comando no genera ninguna salida.

En el siguiente ejemplo de código, se muestra cómo utilizar delete-bucket-cors.

AWS CLI

El siguiente comando elimina la configuración de uso compartido de recursos entre orígenes desde un bucket denominado my-bucket:

aws s3api delete-bucket-cors --bucket my-bucket
  • Para obtener información sobre la API, consulte DeleteBucketCors en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar delete-bucket-encryption.

AWS CLI

Eliminar la configuración de cifrado del servidor de un bucket

En el siguiente ejemplo de delete-bucket-encryption, se elimina la configuración de cifrado del servidor del bucket especificado.

aws s3api delete-bucket-encryption \ --bucket my-bucket

Este comando no genera ninguna salida.

  • Para obtener información sobre la API, consulte DeleteBucketEncryption en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar delete-bucket-intelligent-tiering-configuration.

AWS CLI

Para eliminar una configuración de S3 Intelligent-Tiering en un bucket

En el siguiente ejemplo de delete-bucket-intelligent-tiering-configuration, se elimina una configuración de S3 Intelligent-Tiering, denominada ExampleConfig, de un bucket.

aws s3api delete-bucket-intelligent-tiering-configuration \ --bucket DOC-EXAMPLE-BUCKET \ --id ExampleConfig

Este comando no genera ninguna salida.

Para obtener más información, consulte Uso de S3 Intelligent-Tiering en la Guía del usuario de Amazon S3.

En el siguiente ejemplo de código, se muestra cómo utilizar delete-bucket-inventory-configuration.

AWS CLI

Eliminar la configuración de inventario de un bucket

En el siguiente ejemplo de delete-bucket-inventory-configuration, se elimina la configuración de inventario con el ID 1 del bucket especificado.

aws s3api delete-bucket-inventory-configuration \ --bucket my-bucket \ --id 1

Este comando no genera ninguna salida.

En el siguiente ejemplo de código, se muestra cómo utilizar delete-bucket-lifecycle.

AWS CLI

El comando siguiente elimina una configuración del ciclo de vida de un bucket denominado my-bucket:

aws s3api delete-bucket-lifecycle --bucket my-bucket
  • Para obtener información sobre la API, consulte DeleteBucketLifecycle en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar delete-bucket-metrics-configuration.

AWS CLI

Eliminar una configuración de métricas de un bucket

En el siguiente ejemplo de delete-bucket-metrics-configuration, se elimina la configuración de métricas para el bucket e ID especificados.

aws s3api delete-bucket-metrics-configuration \ --bucket my-bucket \ --id 123

Este comando no genera ninguna salida.

En el siguiente ejemplo de código, se muestra cómo utilizar delete-bucket-ownership-controls.

AWS CLI

Para eliminar la configuración de propiedad de un bucket

En el siguiente ejemplo de delete-bucket-ownership-controls, se elimina la configuración de propiedad de un bucket.

aws s3api delete-bucket-ownership-controls \ --bucket DOC-EXAMPLE-BUCKET

Este comando no genera ninguna salida.

Para obtener más información, consulte Configuración de la propiedad de objetos en un bucket existente en la Guía del usuario de Amazon S3.

En el siguiente ejemplo de código, se muestra cómo utilizar delete-bucket-policy.

AWS CLI

El comando siguiente elimina una política de bucket de un bucket denominado my-bucket:

aws s3api delete-bucket-policy --bucket my-bucket
  • Para obtener información sobre la API, consulte DeleteBucketPolicy en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar delete-bucket-replication.

AWS CLI

El siguiente comando elimina la configuración de replicación de un bucket denominado my-bucket:

aws s3api delete-bucket-replication --bucket my-bucket
  • Para obtener información sobre la API, consulte DeleteBucketReplication en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar delete-bucket-tagging.

AWS CLI

El siguiente comando elimina la configuración de etiquetado de un bucket denominado my-bucket:

aws s3api delete-bucket-tagging --bucket my-bucket
  • Para obtener información sobre la API, consulte DeleteBucketTagging en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar delete-bucket-website.

AWS CLI

El siguiente comando elimina la configuración de un sitio web de un bucket denominado my-bucket:

aws s3api delete-bucket-website --bucket my-bucket
  • Para obtener información sobre la API, consulte DeleteBucketWebsite en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar delete-bucket.

AWS CLI

El comando siguiente elimina un bucket denominado my-bucket:

aws s3api delete-bucket --bucket my-bucket --region us-east-1
  • Para obtener información sobre la API, consulte DeleteBucket en la Referencia de comandos de AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar delete-object-tagging.

AWS CLI

Eliminar los conjuntos de etiquetas de un objeto

En el siguiente ejemplo de delete-object-tagging, se elimina del objeto doc1.rtf la etiqueta con la clave especificada.

aws s3api delete-object-tagging \ --bucket my-bucket \ --key doc1.rtf

Este comando no genera ninguna salida.

  • Para obtener información sobre la API, consulte DeleteObjectTagging en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar delete-object.

AWS CLI

El comando siguiente elimina un objeto denominado test.txt de un bucket denominado my-bucket:

aws s3api delete-object --bucket my-bucket --key test.txt

Si el control de versiones del bucket está activado, el resultado contendrá el ID de versión del marcador de eliminación:

{ "VersionId": "9_gKg5vG56F.TTEUdwkxGpJ3tNDlWlGq", "DeleteMarker": true }

Para obtener más información acerca de la eliminación de objetos, consulte Eliminación de objetos en la Guía para desarrolladores de Amazon S3.

  • Para obtener información sobre la API, consulte DeleteObject en la Referencia de comandos de AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar delete-objects.

AWS CLI

El comando siguiente elimina un objeto denominado de un bucket denominado my-bucket:

aws s3api delete-objects --bucket my-bucket --delete file://delete.json

delete.json es un documento JSON en el directorio actual que especifica el objeto que se va a eliminar:

{ "Objects": [ { "Key": "test1.txt" } ], "Quiet": false }

Salida:

{ "Deleted": [ { "DeleteMarkerVersionId": "mYAT5Mc6F7aeUL8SS7FAAqUPO1koHwzU", "Key": "test1.txt", "DeleteMarker": true } ] }
  • Para obtener información sobre la API, consulte DeleteObjects en la Referencia de comandos de AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar delete-public-access-block.

AWS CLI

Eliminar la configuración de bloqueo de acceso público de un bucket

En el siguiente ejemplo de delete-public-access-block, se elimina la configuración de bloqueo de acceso público en el bucket especificado.

aws s3api delete-public-access-block \ --bucket my-bucket

Este comando no genera ninguna salida.

  • Para obtener información sobre la API, consulte DeletePublicAccessBlock en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar get-bucket-accelerate-configuration.

AWS CLI

Recuperar la configuración acelerada de un bucket

En el siguiente ejemplo de get-bucket-accelerate-configuration, se recupera la configuración acelerada para el bucket especificado.

aws s3api get-bucket-accelerate-configuration \ --bucket my-bucket

Salida:

{ "Status": "Enabled" }

En el siguiente ejemplo de código, se muestra cómo utilizar get-bucket-acl.

AWS CLI

El siguiente comando recupera la lista de control de acceso de un bucket denominado my-bucket:

aws s3api get-bucket-acl --bucket my-bucket

Salida:

{ "Owner": { "DisplayName": "my-username", "ID": "7009a8971cd538e11f6b6606438875e7c86c5b672f46db45460ddcd087d36c32" }, "Grants": [ { "Grantee": { "DisplayName": "my-username", "ID": "7009a8971cd538e11f6b6606438875e7c86c5b672f46db45460ddcd087d36c32" }, "Permission": "FULL_CONTROL" } ] }
  • Para obtener información sobre la API, consulte GetBucketAcl en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar get-bucket-analytics-configuration.

AWS CLI

Recuperar la configuración de análisis de un bucket con un ID específico

En el siguiente ejemplo de get-bucket-analytics-configuration, se muestra la configuración de análisis para el bucket e ID especificados.

aws s3api get-bucket-analytics-configuration \ --bucket my-bucket \ --id 1

Salida:

{ "AnalyticsConfiguration": { "StorageClassAnalysis": {}, "Id": "1" } }

En el siguiente ejemplo de código, se muestra cómo utilizar get-bucket-cors.

AWS CLI

El siguiente comando recupera la configuración de uso compartido de recursos entre orígenes para un bucket denominado my-bucket:

aws s3api get-bucket-cors --bucket my-bucket

Salida:

{ "CORSRules": [ { "AllowedHeaders": [ "*" ], "ExposeHeaders": [ "x-amz-server-side-encryption" ], "AllowedMethods": [ "PUT", "POST", "DELETE" ], "MaxAgeSeconds": 3000, "AllowedOrigins": [ "http://www.example.com" ] }, { "AllowedHeaders": [ "Authorization" ], "MaxAgeSeconds": 3000, "AllowedMethods": [ "GET" ], "AllowedOrigins": [ "*" ] } ] }
  • Para obtener información sobre la API, consulte GetBucketCors en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar get-bucket-encryption.

AWS CLI

Recuperar la configuración de cifrado del servidor de un bucket

En el siguiente ejemplo de get-bucket-encryption, se recupera la configuración de cifrado del lado del servidor del bucket my-bucket.

aws s3api get-bucket-encryption \ --bucket my-bucket

Salida:

{ "ServerSideEncryptionConfiguration": { "Rules": [ { "ApplyServerSideEncryptionByDefault": { "SSEAlgorithm": "AES256" } } ] } }
  • Para obtener información sobre la API, consulte GetBucketEncryption en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar get-bucket-intelligent-tiering-configuration.

AWS CLI

Para obtener una configuración de S3 Intelligent-Tiering en un bucket

En el siguiente ejemplo de get-bucket-intelligent-tiering-configuration, se recupera una configuración de S3 Intelligent-Tiering, denominada ExampleConfig, de un bucket.

aws s3api get-bucket-intelligent-tiering-configuration \ --bucket DOC-EXAMPLE-BUCKET \ --id ExampleConfig

Salida:

{ "IntelligentTieringConfiguration": { "Id": "ExampleConfig2", "Filter": { "Prefix": "images" }, "Status": "Enabled", "Tierings": [ { "Days": 90, "AccessTier": "ARCHIVE_ACCESS" }, { "Days": 180, "AccessTier": "DEEP_ARCHIVE_ACCESS" } ] } }

Para obtener más información, consulte Uso de S3 Intelligent-Tiering en la Guía del usuario de Amazon S3.

En el siguiente ejemplo de código, se muestra cómo utilizar get-bucket-inventory-configuration.

AWS CLI

Recuperar la configuración de inventario de un bucket

En el siguiente ejemplo de get-bucket-inventory-configuration, se recupera la configuración de inventario del bucket especificado con el ID 1.

aws s3api get-bucket-inventory-configuration \ --bucket my-bucket \ --id 1

Salida:

{ "InventoryConfiguration": { "IsEnabled": true, "Destination": { "S3BucketDestination": { "Format": "ORC", "Bucket": "arn:aws:s3:::my-bucket", "AccountId": "123456789012" } }, "IncludedObjectVersions": "Current", "Id": "1", "Schedule": { "Frequency": "Weekly" } } }

En el siguiente ejemplo de código, se muestra cómo utilizar get-bucket-lifecycle-configuration.

AWS CLI

El siguiente comando recupera la configuración del ciclo de vida de un bucket denominado my-bucket:

aws s3api get-bucket-lifecycle-configuration --bucket my-bucket

Salida:

{ "Rules": [ { "ID": "Move rotated logs to Glacier", "Prefix": "rotated/", "Status": "Enabled", "Transitions": [ { "Date": "2015-11-10T00:00:00.000Z", "StorageClass": "GLACIER" } ] }, { "Status": "Enabled", "Prefix": "", "NoncurrentVersionTransitions": [ { "NoncurrentDays": 0, "StorageClass": "GLACIER" } ], "ID": "Move old versions to Glacier" } ] }

En el siguiente ejemplo de código, se muestra cómo utilizar get-bucket-lifecycle.

AWS CLI

El siguiente comando recupera la configuración del ciclo de vida de un bucket denominado my-bucket:

aws s3api get-bucket-lifecycle --bucket my-bucket

Salida:

{ "Rules": [ { "ID": "Move to Glacier after sixty days (objects in logs/2015/)", "Prefix": "logs/2015/", "Status": "Enabled", "Transition": { "Days": 60, "StorageClass": "GLACIER" } }, { "Expiration": { "Date": "2016-01-01T00:00:00.000Z" }, "ID": "Delete 2014 logs in 2016.", "Prefix": "logs/2014/", "Status": "Enabled" } ] }
  • Para obtener información sobre la API, consulte GetBucketLifecycle en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar get-bucket-location.

AWS CLI

El siguiente comando recupera la restricción de ubicación de un bucket denominado my-bucket, si existe una restricción:

aws s3api get-bucket-location --bucket my-bucket

Salida:

{ "LocationConstraint": "us-west-2" }
  • Para obtener información sobre la API, consulte GetBucketLocation en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar get-bucket-logging.

AWS CLI

Recuperar el estado de registros de un bucket

En el siguiente ejemplo de get-bucket-logging, se recupera el estado de registros del bucket especificado.

aws s3api get-bucket-logging \ --bucket my-bucket

Salida:

{ "LoggingEnabled": { "TargetPrefix": "", "TargetBucket": "my-bucket-logs" } }
  • Para obtener información sobre la API, consulte GetBucketLogging en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar get-bucket-metrics-configuration.

AWS CLI

Recuperar la configuración de métricas de un bucket con un ID específico

En el siguiente ejemplo de get-bucket-metrics-configuration, se muestra la configuración de métricas para el bucket e ID especificados.

aws s3api get-bucket-metrics-configuration \ --bucket my-bucket \ --id 123

Salida:

{ "MetricsConfiguration": { "Filter": { "Prefix": "logs" }, "Id": "123" } }

En el siguiente ejemplo de código, se muestra cómo utilizar get-bucket-notification-configuration.

AWS CLI

El siguiente comando recupera la configuración de notificaciones de un bucket denominado my-bucket:

aws s3api get-bucket-notification-configuration --bucket my-bucket

Salida:

{ "TopicConfigurations": [ { "Id": "YmQzMmEwM2EjZWVlI0NGItNzVtZjI1MC00ZjgyLWZDBiZWNl", "TopicArn": "arn:aws:sns:us-west-2:123456789012:my-notification-topic", "Events": [ "s3:ObjectCreated:*" ] } ] }

En el siguiente ejemplo de código, se muestra cómo utilizar get-bucket-notification.

AWS CLI

El siguiente comando recupera la configuración de notificaciones de un bucket denominado my-bucket:

aws s3api get-bucket-notification --bucket my-bucket

Salida:

{ "TopicConfiguration": { "Topic": "arn:aws:sns:us-west-2:123456789012:my-notification-topic", "Id": "YmQzMmEwM2EjZWVlI0NGItNzVtZjI1MC00ZjgyLWZDBiZWNl", "Event": "s3:ObjectCreated:*", "Events": [ "s3:ObjectCreated:*" ] } }
  • Para obtener información sobre la API, consulte GetBucketNotification en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar get-bucket-ownership-controls.

AWS CLI

Para obtener la configuración de propiedad de un bucket

En el siguiente ejemplo de get-bucket-ownership-controls, se recupera la configuración de propiedad de un bucket.

aws s3api get-bucket-ownership-controls \ --bucket DOC-EXAMPLE-BUCKET

Salida:

{ "OwnershipControls": { "Rules": [ { "ObjectOwnership": "BucketOwnerEnforced" } ] } }

Para obtener más información, consulte Visualización de la configuración de propiedad de objetos para un bucket de S3 en la Guía del usuario de Amazon Simple Storage Service.

En el siguiente ejemplo de código, se muestra cómo utilizar get-bucket-policy-status.

AWS CLI

Recuperar el estado de política de un bucket que indica si el bucket es público

En el siguiente ejemplo de get-bucket-policy-status, se recupera el estado de política del bucket my-bucket.

aws s3api get-bucket-policy-status \ --bucket my-bucket

Salida:

{ "PolicyStatus": { "IsPublic": false } }
  • Para obtener información sobre la API, consulte GetBucketPolicyStatus en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar get-bucket-policy.

AWS CLI

El siguiente comando recupera la política de bucket de un bucket denominado my-bucket:

aws s3api get-bucket-policy --bucket my-bucket

Salida:

{ "Policy": "{\"Version\":\"2008-10-17\",\"Statement\":[{\"Sid\":\"\",\"Effect\":\"Allow\",\"Principal\":\"*\",\"Action\":\"s3:GetObject\",\"Resource\":\"arn:aws:s3:::my-bucket/*\"},{\"Sid\":\"\",\"Effect\":\"Deny\",\"Principal\":\"*\",\"Action\":\"s3:GetObject\",\"Resource\":\"arn:aws:s3:::my-bucket/secret/*\"}]}" }

Obtención y colocación de una política de bucket En el siguiente ejemplo se muestra cómo se puede descargar una política de bucket de Amazon S3, realizar modificaciones en el archivo y luego usar put-bucket-policy para aplicar la política de bucket modificada. Para descargar la política de bucket a un archivo, puede ejecutar:

aws s3api get-bucket-policy --bucket mybucket --query Policy --output text > policy.json

A continuación, puede modificar el archivo policy.json según sea necesario. Por último, puede volver a aplicar esta política modificada al bucket de S3 ejecutando:

archivo policy.json según sea necesario. Por último, puede volver a aplicar esta política modificada al bucket de S3 ejecutando:

archivo según sea necesario. Por último, puede volver a aplicar esta política modificada al bucket de S3 ejecutando:

aws s3api put-bucket-policy --bucket mybucket --policy file://policy.json
  • Para obtener información sobre la API, consulte GetBucketPolicy en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar get-bucket-replication.

AWS CLI

El siguiente comando recupera la configuración de replicación de un bucket denominado my-bucket:

aws s3api get-bucket-replication --bucket my-bucket

Salida:

{ "ReplicationConfiguration": { "Rules": [ { "Status": "Enabled", "Prefix": "", "Destination": { "Bucket": "arn:aws:s3:::my-bucket-backup", "StorageClass": "STANDARD" }, "ID": "ZmUwNzE4ZmQ4tMjVhOS00MTlkLOGI4NDkzZTIWJjNTUtYTA1" } ], "Role": "arn:aws:iam::123456789012:role/s3-replication-role" } }
  • Para obtener información sobre la API, consulte GetBucketReplication en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar get-bucket-request-payment.

AWS CLI

Recuperar la configuración de pagos de solicitudes de un bucket

En el siguiente ejemplo de get-bucket-request-payment, se recupera la configuración de pagos por el solicitante para el bucket especificado.

aws s3api get-bucket-request-payment \ --bucket my-bucket

Salida:

{ "Payer": "BucketOwner" }
  • Para obtener información sobre la API, consulte GetBucketRequestPayment en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar get-bucket-tagging.

AWS CLI

El siguiente comando recupera la configuración de etiquetado de un bucket denominado my-bucket:

aws s3api get-bucket-tagging --bucket my-bucket

Salida:

{ "TagSet": [ { "Value": "marketing", "Key": "organization" } ] }
  • Para obtener información sobre la API, consulte GetBucketTagging en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar get-bucket-versioning.

AWS CLI

El siguiente comando recupera la configuración del control de versiones de un bucket denominado my-bucket:

aws s3api get-bucket-versioning --bucket my-bucket

Salida:

{ "Status": "Enabled" }
  • Para obtener información sobre la API, consulte GetBucketVersioning en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar get-bucket-website.

AWS CLI

El siguiente comando recupera la configuración de sitio web estática de un bucket denominado my-bucket:

aws s3api get-bucket-website --bucket my-bucket

Salida:

{ "IndexDocument": { "Suffix": "index.html" }, "ErrorDocument": { "Key": "error.html" } }
  • Para obtener información sobre la API, consulte GetBucketWebsite en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar get-object-acl.

AWS CLI

El siguiente comando recupera la lista de control de acceso de un objeto en un bucket denominado my-bucket:

aws s3api get-object-acl --bucket my-bucket --key index.html

Salida:

{ "Owner": { "DisplayName": "my-username", "ID": "7009a8971cd538e11f6b6606438875e7c86c5b672f46db45460ddcd087d36c32" }, "Grants": [ { "Grantee": { "DisplayName": "my-username", "ID": "7009a8971cd538e11f6b6606438875e7c86c5b672f46db45460ddcd087d36c32" }, "Permission": "FULL_CONTROL" }, { "Grantee": { "URI": "http://acs.amazonaws.com/groups/global/AllUsers" }, "Permission": "READ" } ] }
  • Para obtener información sobre la API, consulte GetObjectAcl en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar get-object-attributes.

AWS CLI

Para recuperar metadatos de un objeto sin devolver el objeto en sí

En el siguiente ejemplo de get-object-attributes, se recuperan los metadatos del objeto doc1.rtf.

aws s3api get-object-attributes \ --bucket my-bucket \ --key doc1.rtf \ --object-attributes "StorageClass" "ETag" "ObjectSize"

Salida:

{ "LastModified": "2022-03-15T19:37:31+00:00", "VersionId": "IuCPjXTDzHNfldAuitVBIKJpF2p1fg4P", "ETag": "b662d79adeb7c8d787ea7eafb9ef6207", "StorageClass": "STANDARD", "ObjectSize": 405 }

Para obtener más información, consulte GetObjectAttributes en la Referencia de la API de Amazon S3.

  • Para obtener información sobre la API, consulte GetObjectAttributes en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar get-object-legal-hold.

AWS CLI

Recupera el estado de retención legal de un objeto

En el siguiente ejemplo de get-object-legal-hold, se recupera el estado de retención legal del objeto especificado.

aws s3api get-object-legal-hold \ --bucket my-bucket-with-object-lock \ --key doc1.rtf

Salida:

{ "LegalHold": { "Status": "ON" } }
  • Para obtener información sobre la API, consulte GetObjectLegalHold en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar get-object-lock-configuration.

AWS CLI

Para recuperar una configuración de bloqueo de objetos para un bucket

En el siguiente ejemplo de get-object-lock-configuration, se recupera la configuración de bloqueo de objetos para el bucket especificado.

aws s3api get-object-lock-configuration \ --bucket my-bucket-with-object-lock

Salida:

{ "ObjectLockConfiguration": { "ObjectLockEnabled": "Enabled", "Rule": { "DefaultRetention": { "Mode": "COMPLIANCE", "Days": 50 } } } }

En el siguiente ejemplo de código, se muestra cómo utilizar get-object-retention.

AWS CLI

Para recuperar la configuración de retención de un objeto

En el siguiente ejemplo de get-object-retention, se recupera la configuración de retención del objeto especificado.

aws s3api get-object-retention \ --bucket my-bucket-with-object-lock \ --key doc1.rtf

Salida:

{ "Retention": { "Mode": "GOVERNANCE", "RetainUntilDate": "2025-01-01T00:00:00.000Z" } }
  • Para obtener información sobre la API, consulte GetObjectRetention en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar get-object-tagging.

AWS CLI

Recuperar las etiquetas asociadas a un objeto

El siguiente ejemplo de get-object-tagging recupera los valores de la clave especificada del objeto especificado.

aws s3api get-object-tagging \ --bucket my-bucket \ --key doc1.rtf

Salida:

{ "TagSet": [ { "Value": "confidential", "Key": "designation" } ] }

El siguiente ejemplo de get-object-tagging intenta recuperar los conjuntos de etiquetas del objeto doc2.rtf, que no tiene etiquetas.

aws s3api get-object-tagging \ --bucket my-bucket \ --key doc2.rtf

Salida:

{ "TagSet": [] }

El siguiente ejemplo de get-object-tagging recupera los conjuntos de etiquetas del objeto doc3.rtf, que tiene varias etiquetas.

aws s3api get-object-tagging \ --bucket my-bucket \ --key doc3.rtf

Salida:

{ "TagSet": [ { "Value": "confidential", "Key": "designation" }, { "Value": "finance", "Key": "department" }, { "Value": "payroll", "Key": "team" } ] }
  • Para obtener información sobre la API, consulte GetObjectTagging en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar get-object-torrent.

AWS CLI

El siguiente comando crea un archivo torrent para un objeto en un bucket denominado my-bucket:

aws s3api get-object-torrent --bucket my-bucket --key large-video-file.mp4 large-video-file.torrent

El archivo torrent se guarda localmente en la carpeta actual. Tenga en cuenta que el nombre del archivo de salida (large-video-file.torrent) se especifica sin un nombre de opción y debe ser el último argumento del comando.

  • Para obtener información sobre la API, consulte GetObjectTorrent en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar get-object.

AWS CLI

En el siguiente ejemplo se utiliza el comando get-object para descargar un objeto de Amazon S3.

aws s3api get-object --bucket text-content --key dir/my_images.tar.bz2 my_images.tar.bz2

Tenga en cuenta que el parámetro outfile se especifica sin un nombre de opción, como "--outfile". El nombre del archivo de salida debe ser el último parámetro del comando.

El siguiente ejemplo muestra el uso de --range para descargar un intervalo de bytes específico de un objeto. Tenga en cuenta que los intervalos de bytes deben tener el prefijo "bytes=":

aws s3api get-object --bucket text-content --key dir/my_data --range bytes=8888-9999 my_data_range

Para obtener más información acerca de la recuperación de objetos, consulte Obtención de objetos en la Guía para desarrolladores de Amazon S3.

  • Para obtener información sobre la API, consulte GetObject en la Referencia de comandos de AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar get-public-access-block.

AWS CLI

Establecer o modificar la configuración de bloqueo de acceso público de un bucket

En el siguiente ejemplo de get-public-access-block, se elimina la configuración de bloqueo de acceso público del bucket especificado.

aws s3api get-public-access-block \ --bucket my-bucket

Salida:

{ "PublicAccessBlockConfiguration": { "IgnorePublicAcls": true, "BlockPublicPolicy": true, "BlockPublicAcls": true, "RestrictPublicBuckets": true } }
  • Para obtener información sobre la API, consulte GetPublicAccessBlock en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar head-bucket.

AWS CLI

El siguiente comando verifica el acceso a un bucket denominado my-bucket:

aws s3api head-bucket --bucket my-bucket

Si el bucket existe y tiene acceso a él, no se muestra ningún resultado. De lo contrario, se mostrará un mensaje de error. Por ejemplo:

A client error (404) occurred when calling the HeadBucket operation: Not Found
  • Para obtener información sobre la API, consulte HeadBucket en la Referencia de comandos de AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar head-object.

AWS CLI

El siguiente comando recupera los metadatos de un objeto de un bucket denominado my-bucket.

aws s3api head-object --bucket my-bucket --key index.html

Salida:

{ "AcceptRanges": "bytes", "ContentType": "text/html", "LastModified": "Thu, 16 Apr 2015 18:19:14 GMT", "ContentLength": 77, "VersionId": "null", "ETag": "\"30a6ec7e1a9ad79c203d05a589c8b400\"", "Metadata": {} }
  • Para obtener información de la API, consulte HeadObject en la Referencia de comandos de AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar list-bucket-analytics-configurations.

AWS CLI

Recuperar una lista de configuraciones de análisis para un bucket

El siguiente list-bucket-analytics-configurations recupera una lista de configuraciones de análisis para el bucket especificado.

aws s3api list-bucket-analytics-configurations \ --bucket my-bucket

Salida:

{ "AnalyticsConfigurationList": [ { "StorageClassAnalysis": {}, "Id": "1" } ], "IsTruncated": false }

En el siguiente ejemplo de código, se muestra cómo utilizar list-bucket-intelligent-tiering-configurations.

AWS CLI

Para obtener todas las configuraciones de S3 Intelligent-Tiering en un bucket

En el siguiente ejemplo de list-bucket-intelligent-tiering-configurations, se recupera toda la configuración de S3 Intelligent-Tiering de un bucket.

aws s3api list-bucket-intelligent-tiering-configurations \ --bucket DOC-EXAMPLE-BUCKET

Salida:

{ "IsTruncated": false, "IntelligentTieringConfigurationList": [ { "Id": "ExampleConfig", "Filter": { "Prefix": "images" }, "Status": "Enabled", "Tierings": [ { "Days": 90, "AccessTier": "ARCHIVE_ACCESS" }, { "Days": 180, "AccessTier": "DEEP_ARCHIVE_ACCESS" } ] }, { "Id": "ExampleConfig2", "Status": "Disabled", "Tierings": [ { "Days": 730, "AccessTier": "ARCHIVE_ACCESS" } ] }, { "Id": "ExampleConfig3", "Filter": { "Tag": { "Key": "documents", "Value": "taxes" } }, "Status": "Enabled", "Tierings": [ { "Days": 90, "AccessTier": "ARCHIVE_ACCESS" }, { "Days": 365, "AccessTier": "DEEP_ARCHIVE_ACCESS" } ] } ] }

Para obtener más información, consulte Uso de S3 Intelligent-Tiering en la Guía del usuario de Amazon S3.

En el siguiente ejemplo de código, se muestra cómo utilizar list-bucket-inventory-configurations.

AWS CLI

Recuperar una lista de las configuraciones de inventario de un bucket

En el siguiente ejemplo de list-bucket-inventory-configurations, se enumeran las configuraciones de inventario del bucket especificado.

aws s3api list-bucket-inventory-configurations \ --bucket my-bucket

Salida:

{ "InventoryConfigurationList": [ { "IsEnabled": true, "Destination": { "S3BucketDestination": { "Format": "ORC", "Bucket": "arn:aws:s3:::my-bucket", "AccountId": "123456789012" } }, "IncludedObjectVersions": "Current", "Id": "1", "Schedule": { "Frequency": "Weekly" } }, { "IsEnabled": true, "Destination": { "S3BucketDestination": { "Format": "CSV", "Bucket": "arn:aws:s3:::my-bucket", "AccountId": "123456789012" } }, "IncludedObjectVersions": "Current", "Id": "2", "Schedule": { "Frequency": "Daily" } } ], "IsTruncated": false }

En el siguiente ejemplo de código, se muestra cómo utilizar list-bucket-metrics-configurations.

AWS CLI

Para recuperar una lista de las configuraciones de métricas para un bucket

En el siguiente ejemplo de list-bucket-metrics-configurations se recupera una lista de configuraciones de métricas para el bucket especificado.

aws s3api list-bucket-metrics-configurations \ --bucket my-bucket

Salida:

{ "IsTruncated": false, "MetricsConfigurationList": [ { "Filter": { "Prefix": "logs" }, "Id": "123" }, { "Filter": { "Prefix": "tmp" }, "Id": "234" } ] }

En el siguiente ejemplo de código, se muestra cómo utilizar list-buckets.

AWS CLI

El siguiente comando usa el comando list-buckets para mostrar los nombres de todos los buckets de Amazon S3 (en todas las regiones):

aws s3api list-buckets --query "Buckets[].Name"

La opción de consultas filtra la salda de list-buckets únicamente a los nombres de los buckets.

Para obtener más información sobre los buckets, consulte Trabajo con buckets de Amazon S3 en la Guía para desarrolladores de Amazon S3.

  • Para obtener información sobre la API, consulte ListBuckets en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar list-multipart-uploads.

AWS CLI

El siguiente comando muestra todas las cargas multiparte activas de un bucket denominado my-bucket:

aws s3api list-multipart-uploads --bucket my-bucket

Salida:

{ "Uploads": [ { "Initiator": { "DisplayName": "username", "ID": "arn:aws:iam::0123456789012:user/username" }, "Initiated": "2015-06-02T18:01:30.000Z", "UploadId": "dfRtDYU0WWCCcH43C3WFbkRONycyCpTJJvxu2i5GYkZljF.Yxwh6XG7WfS2vC4to6HiV6Yjlx.cph0gtNBtJ8P3URCSbB7rjxI5iEwVDmgaXZOGgkk5nVTW16HOQ5l0R", "StorageClass": "STANDARD", "Key": "multipart/01", "Owner": { "DisplayName": "aws-account-name", "ID": "100719349fc3b6dcd7c820a124bf7aecd408092c3d7b51b38494939801fc248b" } } ], "CommonPrefixes": [] }

Las cargas multiparte en curso conllevan costos de almacenamiento en Amazon S3. Complete o anule una carga multiparte activa para eliminar sus partes de su cuenta.

  • Para obtener información sobre la API, consulte ListMultipartUploads en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar list-object-versions.

AWS CLI

El siguiente comando recupera la información de la versión de un objeto en un bucket denominado my-bucket:

aws s3api list-object-versions --bucket my-bucket --prefix index.html

Salida:

{ "DeleteMarkers": [ { "Owner": { "DisplayName": "my-username", "ID": "7009a8971cd660687538875e7c86c5b672fe116bd438f46db45460ddcd036c32" }, "IsLatest": true, "VersionId": "B2VsEK5saUNNHKcOAJj7hIE86RozToyq", "Key": "index.html", "LastModified": "2015-11-10T00:57:03.000Z" }, { "Owner": { "DisplayName": "my-username", "ID": "7009a8971cd660687538875e7c86c5b672fe116bd438f46db45460ddcd036c32" }, "IsLatest": false, "VersionId": ".FLQEZscLIcfxSq.jsFJ.szUkmng2Yw6", "Key": "index.html", "LastModified": "2015-11-09T23:32:20.000Z" } ], "Versions": [ { "LastModified": "2015-11-10T00:20:11.000Z", "VersionId": "Rb_l2T8UHDkFEwCgJjhlgPOZC0qJ.vpD", "ETag": "\"0622528de826c0df5db1258a23b80be5\"", "StorageClass": "STANDARD", "Key": "index.html", "Owner": { "DisplayName": "my-username", "ID": "7009a8971cd660687538875e7c86c5b672fe116bd438f46db45460ddcd036c32" }, "IsLatest": false, "Size": 38 }, { "LastModified": "2015-11-09T23:26:41.000Z", "VersionId": "rasWWGpgk9E4s0LyTJgusGeRQKLVIAFf", "ETag": "\"06225825b8028de826c0df5db1a23be5\"", "StorageClass": "STANDARD", "Key": "index.html", "Owner": { "DisplayName": "my-username", "ID": "7009a8971cd660687538875e7c86c5b672fe116bd438f46db45460ddcd036c32" }, "IsLatest": false, "Size": 38 }, { "LastModified": "2015-11-09T22:50:50.000Z", "VersionId": "null", "ETag": "\"d1f45267a863c8392e07d24dd592f1b9\"", "StorageClass": "STANDARD", "Key": "index.html", "Owner": { "DisplayName": "my-username", "ID": "7009a8971cd660687538875e7c86c5b672fe116bd438f46db45460ddcd036c32" }, "IsLatest": false, "Size": 533823 } ] }
  • Para obtener información sobre la API, consulte ListObjectVersions en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar list-objects-v2.

AWS CLI

Obtención de una lista de objetos en un bucket

En el siguiente ejemplo de list-objects-v2 se muestran los objetos del bucket especificado.

aws s3api list-objects-v2 \ --bucket my-bucket

Salida:

{ "Contents": [ { "LastModified": "2019-11-05T23:11:50.000Z", "ETag": "\"621503c373607d548b37cff8778d992c\"", "StorageClass": "STANDARD", "Key": "doc1.rtf", "Size": 391 }, { "LastModified": "2019-11-05T23:11:50.000Z", "ETag": "\"a2cecc36ab7c7fe3a71a273b9d45b1b5\"", "StorageClass": "STANDARD", "Key": "doc2.rtf", "Size": 373 }, { "LastModified": "2019-11-05T23:11:50.000Z", "ETag": "\"08210852f65a2e9cb999972539a64d68\"", "StorageClass": "STANDARD", "Key": "doc3.rtf", "Size": 399 }, { "LastModified": "2019-11-05T23:11:50.000Z", "ETag": "\"d1852dd683f404306569471af106988e\"", "StorageClass": "STANDARD", "Key": "doc4.rtf", "Size": 6225 } ] }
  • Para obtener información sobre la API, consulte ListObjectsV2 en la Referencia de comandos de AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar list-objects.

AWS CLI

En el siguiente ejemplo se utiliza el comando list-objects para mostrar los nombres de todos los objetos del bucket especificado:

aws s3api list-objects --bucket text-content --query 'Contents[].{Key: Key, Size: Size}'

En el ejemplo se utiliza el argumento --query para filtrar la salida de list-objects hasta el valor de la clave y el tamaño de cada objeto

Para obtener más información sobre los objetos, consulte Trabajo con objetos de Amazon S3 en la Guía para desarrolladores de Amazon S3.

  • Para obtener detalles de la API, consulte ListObjects en la Referencia de comandos de AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar list-parts.

AWS CLI

El siguiente comando muestra todas las partes que se han cargado para una carga multiparte con la clave multipart/01 del bucket my-bucket:

aws s3api list-parts --bucket my-bucket --key 'multipart/01' --upload-id dfRtDYU0WWCCcH43C3WFbkRONycyCpTJJvxu2i5GYkZljF.Yxwh6XG7WfS2vC4to6HiV6Yjlx.cph0gtNBtJ8P3URCSbB7rjxI5iEwVDmgaXZOGgkk5nVTW16HOQ5l0R

Salida:

{ "Owner": { "DisplayName": "aws-account-name", "ID": "100719349fc3b6dcd7c820a124bf7aecd408092c3d7b51b38494939801fc248b" }, "Initiator": { "DisplayName": "username", "ID": "arn:aws:iam::0123456789012:user/username" }, "Parts": [ { "LastModified": "2015-06-02T18:07:35.000Z", "PartNumber": 1, "ETag": "\"e868e0f4719e394144ef36531ee6824c\"", "Size": 5242880 }, { "LastModified": "2015-06-02T18:07:42.000Z", "PartNumber": 2, "ETag": "\"6bb2b12753d66fe86da4998aa33fffb0\"", "Size": 5242880 }, { "LastModified": "2015-06-02T18:07:47.000Z", "PartNumber": 3, "ETag": "\"d0a0112e841abec9c9ec83406f0159c8\"", "Size": 5242880 } ], "StorageClass": "STANDARD" }
  • Para obtener información sobre la API, consulte ListParts en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar ls.

AWS CLI

Ejemplo 1: lista de todos los buckets propiedad del usuario

El siguiente comando ls muestra todos los buckets que son propiedad del usuario. En este ejemplo, el usuario es propietario de los buckets mybucket y mybucket2. La marca de tiempo es la fecha en que se creó el bucket y se muestra en la zona horaria de su equipo. Esta fecha puede cambiar al realizar cambios en el bucket, por ejemplo, al editar la política de bucket. Tenga en cuenta que si s3:// se usa como argumento de ruta <S3Uri>, también se mostrarán todos los buckets.

aws s3 ls

Salida:

2013-07-11 17:08:50 mybucket 2013-07-24 14:55:44 mybucket2

Ejemplo 2: lista de todos los prefijos y objetos de un bucket

El siguiente comando ls enumera los objetos y los prefijos comunes incluidos en un bucket y un prefijo específicos. En este ejemplo, el usuario es propietario del bucket mybucket con los buckets test.txt y somePrefix/test.txt. LastWriteTime y Length son arbitrarios. Tenga en cuenta que, dado que el comando ls no interactúa con el sistema de archivos local, el esquema de URI s3:// no debe resolver la ambigüedad y puede omitirse.

aws s3 ls s3://mybucket

Salida:

PRE somePrefix/ 2013-07-25 17:06:27 88 test.txt

Ejemplo 3: lista de todos los prefijos y objetos de un bucket y un prefijo específicos

El siguiente comando ls enumera los objetos y los prefijos comunes incluidos en un bucket y un prefijo específicos. Sin embargo, no hay objetos ni prefijos comunes en el bucket y el prefijo especificados.

aws s3 ls s3://mybucket/noExistPrefix

Salida:

None

Ejemplo 4: lista recursiva de todos los prefijos y objetos de un bucket

El siguiente comando ls mostrará una lista de los objetos de un bucket de forma recursiva. En lugar de mostrar PRE dirname/ en la salida, todo el contenido de un bucket se mostrará en orden.

aws s3 ls s3://mybucket \ --recursive

Salida:

2013-09-02 21:37:53 10 a.txt 2013-09-02 21:37:53 2863288 foo.zip 2013-09-02 21:32:57 23 foo/bar/.baz/a 2013-09-02 21:32:58 41 foo/bar/.baz/b 2013-09-02 21:32:57 281 foo/bar/.baz/c 2013-09-02 21:32:57 73 foo/bar/.baz/d 2013-09-02 21:32:57 452 foo/bar/.baz/e 2013-09-02 21:32:57 896 foo/bar/.baz/hooks/bar 2013-09-02 21:32:57 189 foo/bar/.baz/hooks/foo 2013-09-02 21:32:57 398 z.txt

Ejemplo 5: resumen de todos los prefijos y objetos de un bucket

El siguiente comando ls muestra el mismo comando con las opciones --human-readable y --summarize. --human-readable muestra el tamaño del archivo en Bytes/MiB/KiB/GiB/TiB/PiB/EiB. --summarize muestra el número total de objetos y el tamaño total al final de la lista de resultados:

aws s3 ls s3://mybucket \ --recursive \ --human-readable \ --summarize

Salida:

2013-09-02 21:37:53 10 Bytes a.txt 2013-09-02 21:37:53 2.9 MiB foo.zip 2013-09-02 21:32:57 23 Bytes foo/bar/.baz/a 2013-09-02 21:32:58 41 Bytes foo/bar/.baz/b 2013-09-02 21:32:57 281 Bytes foo/bar/.baz/c 2013-09-02 21:32:57 73 Bytes foo/bar/.baz/d 2013-09-02 21:32:57 452 Bytes foo/bar/.baz/e 2013-09-02 21:32:57 896 Bytes foo/bar/.baz/hooks/bar 2013-09-02 21:32:57 189 Bytes foo/bar/.baz/hooks/foo 2013-09-02 21:32:57 398 Bytes z.txt Total Objects: 10 Total Size: 2.9 MiB

Ejemplo 6: lista desde un punto de acceso de S3

El siguiente comando ls enumera los objetos del punto de acceso (myaccesspoint):

aws s3 ls s3://arn:aws:s3:us-west-2:123456789012:accesspoint/myaccesspoint/

Salida:

PRE somePrefix/ 2013-07-25 17:06:27 88 test.txt
  • Para obtener información sobre la API, consulte Ls en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar mb.

AWS CLI

Ejemplo 1: creación de un bucket

El siguiente comando mb crea un bucket. En este ejemplo, el usuario crea el bucket mybucket. El bucket se crea en la región especificada en el archivo de configuración del usuario:

aws s3 mb s3://mybucket

Salida:

make_bucket: s3://mybucket

Ejemplo 2: creación de un bucket en la región especificada

El siguiente comando mb crea un bucket en una región especificada por el parámetro --region. En este ejemplo, el usuario crea el bucket mybucket en la región us-west-1:

aws s3 mb s3://mybucket \ --region us-west-1

Salida:

make_bucket: s3://mybucket
  • Para obtener información sobre la API, consulte Mb en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar mv.

AWS CLI

Ejemplo 1: traslado de un archivo local al bucket especificado

El siguiente comando mv mueve un único archivo a un bucket y una clave específicos.

aws s3 mv test.txt s3://mybucket/test2.txt

Salida:

move: test.txt to s3://mybucket/test2.txt

Ejemplo 2: traslado de un objeto al bucket y la clave especificados

El siguiente comando mv mueve un único objeto S3 a un bucket y una clave específicos.

aws s3 mv s3://mybucket/test.txt s3://mybucket/test2.txt

Salida:

move: s3://mybucket/test.txt to s3://mybucket/test2.txt

Ejemplo 3: traslado de un objeto S3 al directorio local

El siguiente comando mv mueve un único objeto a un archivo específico localmente.

aws s3 mv s3://mybucket/test.txt test2.txt

Salida:

move: s3://mybucket/test.txt to test2.txt

Ejemplo 4: traslado de un objeto con su nombre original al bucket especificado

El siguiente comando mv mueve un único objeto a un bucket específico sin perder su nombre original:

aws s3 mv s3://mybucket/test.txt s3://mybucket2/

Salida:

move: s3://mybucket/test.txt to s3://mybucket2/test.txt

Ejemplo 5: traslado de todos los objetos y prefijos de un bucket al directorio local

Cuando se pasa con el parámetro --recursive, el siguiente comando mv mueve de forma recursiva todos los objetos con un prefijo y un bucket específicos en un directorio concreto. En este ejemplo, el bucket mybucket contiene los objetos test1.txt y test2.txt.

aws s3 mv s3://mybucket . \ --recursive

Salida:

move: s3://mybucket/test1.txt to test1.txt move: s3://mybucket/test2.txt to test2.txt

Ejemplo 6: traslado de todos los objetos y prefijos de un bucket al directorio local, excepto los archivos .jpg

Cuando se pasa con el parámetro --recursive, el siguiente comando mv mueve de forma recursiva todos los archivos de un directorio determinado a un bucket y prefijo específicos. También excluye algunos archivos con el parámetro --exclude. En este ejemplo, el directorio myDir contiene los archivos test1.txt y test2.jpg.

aws s3 mv myDir s3://mybucket/ \ --recursive \ --exclude "*.jpg"

Salida:

move: myDir/test1.txt to s3://mybucket2/test1.txt

Ejemplo 7: traslado de todos los objetos y prefijos de un bucket al directorio local, excepto el prefijo especificado

Cuando se pasa con el parámetro --recursive, el siguiente comando --exclude mueve de forma recursiva todos los objetos de un bucket determinado a otro bucket. También excluye algunos objetos con el parámetro mv. En este ejemplo, el bucket mybucket contiene los objetos test1.txt y another/test1.txt.

aws s3 mv s3://mybucket/ s3://mybucket2/ \ --recursive \ --exclude "mybucket/another/*"

Salida:

move: s3://mybucket/test1.txt to s3://mybucket2/test1.txt

Ejemplo 8: traslado de un objeto al bucket especificado y establecimiento del ACL

En el siguiente comando mv, se mueve un único objeto a un bucket y una clave específicos, y se configura ACL en public-read-write:

aws s3 mv s3://mybucket/test.txt s3://mybucket/test2.txt \ --acl public-read-write

Salida:

move: s3://mybucket/test.txt to s3://mybucket/test2.txt

Ejemplo 9: traslado de un archivo local al bucket especificado y otorgamiento de permisos

El siguiente comando mv ilustra el uso de la opción --grants para conceder acceso de lectura a todos los usuarios y el control total a un usuario específico identificado por su dirección de correo electrónico.

aws s3 mv file.txt s3://mybucket/ \ --grants read=uri=http://acs.amazonaws.com/groups/global/AllUsers full=emailaddress=user@example.com

Salida:

move: file.txt to s3://mybucket/file.txt

Ejemplo 10: traslado de un archivo a un punto de acceso de S3

El siguiente comando mv mueve un único archivo denominado mydoc.txt al punto de acceso denominado myaccesspoint en la clave denominada mykey.

aws s3 mv mydoc.txt s3://arn:aws:s3:us-west-2:123456789012:accesspoint/myaccesspoint/mykey

Salida:

move: mydoc.txt to s3://arn:aws:s3:us-west-2:123456789012:accesspoint/myaccesspoint/mykey
  • Para obtener información sobre la API, consulte Mv en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar presign.

AWS CLI

Ejemplo 1: creación de una URL prefirmada con una vida útil predeterminada de una hora que esté vinculada con un objeto de un bucket de S3

El siguiente comando presign genera una URL prefirmada para un bucket y una clave específicos que es válida durante una hora.

aws s3 presign s3://DOC-EXAMPLE-BUCKET/test2.txt

Salida:

https://DOC-EXAMPLE-BUCKET.s3.us-west-2.amazonaws.com/key?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAEXAMPLE123456789%2F20210621%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20210621T041609Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=EXAMBLE1234494d5fba3fed607f98018e1dfc62e2529ae96d844123456

Ejemplo 2: creación de una URL prefirmada con una vida útil personalizada que esté vinculada con un objeto de un bucket de S3

El siguiente comando presign genera una URL prefirmada para un bucket y una clave específicos que es válida durante una semana.

aws s3 presign s3://DOC-EXAMPLE-BUCKET/test2.txt \ --expires-in 604800

Salida:

https://DOC-EXAMPLE-BUCKET.s3.us-west-2.amazonaws.com/key?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAEXAMPLE123456789%2F20210621%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20210621T041609Z&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=EXAMBLE1234494d5fba3fed607f98018e1dfc62e2529ae96d844123456

Para obtener más información, consulte Uso compartido de objetos con URL prefirmadas en la Guía para desarrolladores de S3.

  • Para obtener detalles de la API, consulte Presign en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar put-bucket-accelerate-configuration.

AWS CLI

Establecer la configuración acelerada de un bucket

En el siguiente ejemplo de put-bucket-accelerate-configuration, se habilita la configuración acelerada para el bucket especificado.

aws s3api put-bucket-accelerate-configuration \ --bucket my-bucket \ --accelerate-configuration Status=Enabled

Este comando no genera ninguna salida.

En el siguiente ejemplo de código, se muestra cómo utilizar put-bucket-acl.

AWS CLI

Este ejemplo otorga full control a dos usuarios de AWS user1@example.com y user2@example.com) y permiso de read a todos los usuarios:

aws s3api put-bucket-acl --bucket MyBucket --grant-full-control emailaddress=user1@example.com,emailaddress=user2@example.com --grant-read uri=http://acs.amazonaws.com/groups/global/AllUsers

Consulte http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTacl.html para obtener más información sobre las ACL personalizadas (los comandos s3api de ACL, como put-bucket-acl, utilizan la misma notación abreviada para el argumentos).

  • Para obtener información sobre la API, consulte PutBucketAcl en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar put-bucket-analytics-configuration.

AWS CLI

Para definir una configuración de análisis de un bucket

En el siguiente ejemplo de put-bucket-analytics-configuration, se configura el análisis para el bucket especificado.

aws s3api put-bucket-analytics-configuration \ --bucket my-bucket --id 1 \ --analytics-configuration '{"Id": "1","StorageClassAnalysis": {}}'

Este comando no genera ninguna salida.

En el siguiente ejemplo de código, se muestra cómo utilizar put-bucket-cors.

AWS CLI

El siguiente ejemplo habilita solicitudes PUT, POST y DELETE desde www.ejemplo.com, y habilita solicitudes GET desde cualquier dominio:

aws s3api put-bucket-cors --bucket MyBucket --cors-configuration file://cors.json cors.json: { "CORSRules": [ { "AllowedOrigins": ["http://www.example.com"], "AllowedHeaders": ["*"], "AllowedMethods": ["PUT", "POST", "DELETE"], "MaxAgeSeconds": 3000, "ExposeHeaders": ["x-amz-server-side-encryption"] }, { "AllowedOrigins": ["*"], "AllowedHeaders": ["Authorization"], "AllowedMethods": ["GET"], "MaxAgeSeconds": 3000 } ] }
  • Para obtener información acerca de la API, consulte PutBucketCors en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar put-bucket-encryption.

AWS CLI

Configurar el cifrado del lado del servidor de un bucket

En el siguiente ejemplo de put-bucket-encryption se establece el cifrado AES256 como predeterminado para el bucket especificado.

aws s3api put-bucket-encryption \ --bucket my-bucket \ --server-side-encryption-configuration '{"Rules": [{"ApplyServerSideEncryptionByDefault": {"SSEAlgorithm": "AES256"}}]}'

Este comando no genera ninguna salida.

  • Para obtener información sobre la API, consulte PutBucketEncryption en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar put-bucket-intelligent-tiering-configuration.

AWS CLI

Para actualizar una configuración de S3 Intelligent-Tiering en un bucket

En el siguiente ejemplo de put-bucket-intelligent-tiering-configuration, se actualiza una configuración de S3 Intelligent-Tiering, denominada ExampleConfig, de un bucket. La configuración transferirá los objetos a los que no se haya accedido con el prefijo images a Acceso a archivos después de 90 días y a Acceso a archivos profundos después de 180 días.

aws s3api put-bucket-intelligent-tiering-configuration \ --bucket DOC-EXAMPLE-BUCKET \ --id "ExampleConfig" \ --intelligent-tiering-configuration file://intelligent-tiering-configuration.json

Contenido de intelligent-tiering-configuration.json:

{ "Id": "ExampleConfig", "Status": "Enabled", "Filter": { "Prefix": "images" }, "Tierings": [ { "Days": 90, "AccessTier": "ARCHIVE_ACCESS" }, { "Days": 180, "AccessTier": "DEEP_ARCHIVE_ACCESS" } ] }

Este comando no genera ninguna salida.

Para obtener más información, consulte Configuración de la propiedad de objetos en un bucket existente en la Guía del usuario de Amazon S3.

En el siguiente ejemplo de código, se muestra cómo utilizar put-bucket-inventory-configuration.

AWS CLI

Ejemplo 1: establecimiento de una configuración de inventario para un bucket

En el siguiente ejemplo de put-bucket-inventory-configuration, se establece un informe de inventario semanal con formato ORC para el bucket my-bucket.

aws s3api put-bucket-inventory-configuration \ --bucket my-bucket \ --id 1 \ --inventory-configuration '{"Destination": { "S3BucketDestination": { "AccountId": "123456789012", "Bucket": "arn:aws:s3:::my-bucket", "Format": "ORC" }}, "IsEnabled": true, "Id": "1", "IncludedObjectVersions": "Current", "Schedule": { "Frequency": "Weekly" }}'

Este comando no genera ninguna salida.

Ejemplo 2: establecimiento de una configuración de inventario para un bucket

En el siguiente ejemplo de put-bucket-inventory-configuration, se establece un informe de inventario diario con formato CSV para el bucket my-bucket.

aws s3api put-bucket-inventory-configuration \ --bucket my-bucket \ --id 2 \ --inventory-configuration '{"Destination": { "S3BucketDestination": { "AccountId": "123456789012", "Bucket": "arn:aws:s3:::my-bucket", "Format": "CSV" }}, "IsEnabled": true, "Id": "2", "IncludedObjectVersions": "Current", "Schedule": { "Frequency": "Daily" }}'

Este comando no genera ninguna salida.

En el siguiente ejemplo de código, se muestra cómo utilizar put-bucket-lifecycle-configuration.

AWS CLI

El comando siguiente aplica una configuración del ciclo de vida a un bucket denominado my-bucket:

aws s3api put-bucket-lifecycle-configuration --bucket my-bucket --lifecycle-configuration file://lifecycle.json

El archivo lifecycle.json es un documento JSON en la carpeta actual que especifica dos reglas:

{ "Rules": [ { "ID": "Move rotated logs to Glacier", "Prefix": "rotated/", "Status": "Enabled", "Transitions": [ { "Date": "2015-11-10T00:00:00.000Z", "StorageClass": "GLACIER" } ] }, { "Status": "Enabled", "Prefix": "", "NoncurrentVersionTransitions": [ { "NoncurrentDays": 2, "StorageClass": "GLACIER" } ], "ID": "Move old versions to Glacier" } ] }

La primera regla mueve los archivos con el prefijo rotated a Glacier en la fecha especificada. La segunda regla mueve las versiones del objeto antiguas a Glacier cuando ya no están actualizadas. Para obtener más información sobre los formatos de marca temporal permitidos, consulte Especificación de valores de parámetros para la Guía del usuario de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar put-bucket-lifecycle.

AWS CLI

El comando siguiente aplica una configuración del ciclo de vida al bucket my-bucket:

aws s3api put-bucket-lifecycle --bucket my-bucket --lifecycle-configuration file://lifecycle.json

El archivo lifecycle.json es un documento JSON en la carpeta actual que especifica dos reglas:

{ "Rules": [ { "ID": "Move to Glacier after sixty days (objects in logs/2015/)", "Prefix": "logs/2015/", "Status": "Enabled", "Transition": { "Days": 60, "StorageClass": "GLACIER" } }, { "Expiration": { "Date": "2016-01-01T00:00:00.000Z" }, "ID": "Delete 2014 logs in 2016.", "Prefix": "logs/2014/", "Status": "Enabled" } ] }

La primera regla traslada los archivos a Amazon Glacier después de sesenta días. La segunda regla elimina los archivos de Amazon S3 en la fecha especificada. Para obtener más información sobre los formatos de marca temporal permitidos, consulte Especificación de valores de parámetros para la Guía del usuario de la AWS CLI.

Cada regla del ejemplo anterior especifica una política (Transition o Expiration) y un prefijo de archivo (nombre de carpeta) a los que se aplica. También puede crear una regla que se aplique a todo un bucket especificando un prefijo en blanco:

{ "Rules": [ { "ID": "Move to Glacier after sixty days (all objects in bucket)", "Prefix": "", "Status": "Enabled", "Transition": { "Days": 60, "StorageClass": "GLACIER" } } ] }
  • Para obtener información sobre la API, consulte PutBucketLifecycle en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar put-bucket-logging.

AWS CLI

Ejemplo 1: Configuración del registro de políticas de bucket

El siguiente ejemplo de put-bucket-logging establece la política de registro para MyBucket. En primer lugar, conceda al servicio de registro el permiso de entidad principal en la política de bucket mediante el comando put-bucket-policy.

aws s3api put-bucket-policy \ --bucket MyBucket \ --policy file://policy.json

Contenido de policy.json:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "S3ServerAccessLogsPolicy", "Effect": "Allow", "Principal": {"Service": "logging.s3.amazonaws.com"}, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::MyBucket/Logs/*", "Condition": { "ArnLike": {"aws:SourceARN": "arn:aws:s3:::SOURCE-BUCKET-NAME"}, "StringEquals": {"aws:SourceAccount": "SOURCE-AWS-ACCOUNT-ID"} } } ] }

Para aplicar la política de registro, use put-bucket-logging.

aws s3api put-bucket-logging \ --bucket MyBucket \ --bucket-logging-status file://logging.json

Contenido de logging.json:

{ "LoggingEnabled": { "TargetBucket": "MyBucket", "TargetPrefix": "Logs/" } }

El comando put-bucket-policy es necesario para conceder permisos s3:PutObject a la entidad principal del servicio de registro.

Para obtener más información, consulte Registro de acceso al servidor de Amazon S3 en la Guía del usuario de Amazon S3.

Ejemplo 2: Establecimiento de una política de bucket para registrar el acceso a un solo usuario

El siguiente ejemplo de put-bucket-logging establece la política de registro para MyBucket. El usuario de AWS bob@example.com tendrá el control total sobre los archivos de registro y nadie más tendrá acceso a ellos. En primer lugar, conceda permiso de S3 mediante put-bucket-acl.

aws s3api put-bucket-acl \ --bucket MyBucket \ --grant-write URI=http://acs.amazonaws.com/groups/s3/LogDelivery \ --grant-read-acp URI=http://acs.amazonaws.com/groups/s3/LogDelivery

A continuación, aplique la política de registro mediante put-bucket-logging.

aws s3api put-bucket-logging \ --bucket MyBucket \ --bucket-logging-status file://logging.json

Contenido de logging.json:

{ "LoggingEnabled": { "TargetBucket": "MyBucket", "TargetPrefix": "MyBucketLogs/", "TargetGrants": [ { "Grantee": { "Type": "AmazonCustomerByEmail", "EmailAddress": "bob@example.com" }, "Permission": "FULL_CONTROL" } ] } }

el comando put-bucket-acl es necesario para conceder los permisos necesarios (write y read-acp) al sistema de entrega de registros de S3.

Para obtener más información, consulte Registro de acceso al servidor de Amazon S3 en la Guía para desarrolladores de Amazon S3.

  • Para obtener información sobre la API, consulte PutBucketLogging en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar put-bucket-metrics-configuration.

AWS CLI

Para establecer una configuración de métricas para un bucket

En el siguiente ejemplo de put-bucket-metrics-configuration se establece una configuración de métricas para ID 123 para el bucket especificado.

aws s3api put-bucket-metrics-configuration \ --bucket my-bucket \ --id 123 \ --metrics-configuration '{"Id": "123", "Filter": {"Prefix": "logs"}}'

Este comando no genera ninguna salida.

En el siguiente ejemplo de código, se muestra cómo utilizar put-bucket-notification-configuration.

AWS CLI

Habilitación de las notificaciones especificadas en un bucket

El siguiente ejemplo de put-bucket-notification-configuration se aplica una configuración de notificación a un bucket llamado my-bucket. El archivo notification.json es un documento JSON en la carpeta actual que especifica un tema de SNS y un tipo de evento para supervisar.

aws s3api put-bucket-notification-configuration \ --bucket my-bucket \ --notification-configuration file://notification.json

Contenido de notification.json:

{ "TopicConfigurations": [ { "TopicArn": "arn:aws:sns:us-west-2:123456789012:s3-notification-topic", "Events": [ "s3:ObjectCreated:*" ] } ] }

El tema de SNS debe tener una política de IAM adjunta que permita a Amazon S3 publicar en él.

{ "Version": "2008-10-17", "Id": "example-ID", "Statement": [ { "Sid": "example-statement-ID", "Effect": "Allow", "Principal": { "Service": "s3.amazonaws.com" }, "Action": [ "SNS:Publish" ], "Resource": "arn:aws:sns:us-west-2:123456789012::s3-notification-topic", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:s3:*:*:my-bucket" } } } ] }

En el siguiente ejemplo de código, se muestra cómo utilizar put-bucket-notification.

AWS CLI

Aplica una configuración de notificación a un bucket denominado my-bucket:

aws s3api put-bucket-notification --bucket my-bucket --notification-configuration file://notification.json

El archivo notification.json es un documento JSON en la carpeta actual que especifica un tema de SNS y un tipo de evento para supervisar:

{ "TopicConfiguration": { "Event": "s3:ObjectCreated:*", "Topic": "arn:aws:sns:us-west-2:123456789012:s3-notification-topic" } }

El tema de SNS debe tener una política de IAM adjunta que permita a Amazon S3 publicar en él:

{ "Version": "2008-10-17", "Id": "example-ID", "Statement": [ { "Sid": "example-statement-ID", "Effect": "Allow", "Principal": { "Service": "s3.amazonaws.com" }, "Action": [ "SNS:Publish" ], "Resource": "arn:aws:sns:us-west-2:123456789012:my-bucket", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:s3:*:*:my-bucket" } } } ] }
  • Para obtener información sobre la API, consulte PutBucketNotification en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar put-bucket-ownership-controls.

AWS CLI

Para actualizar la configuración de propiedad de un bucket

En el siguiente ejemplo de put-bucket-ownership-controls, se actualiza la configuración de propiedad de un bucket.

aws s3api put-bucket-ownership-controls \ --bucket DOC-EXAMPLE-BUCKET \ --ownership-controls="Rules=[{ObjectOwnership=BucketOwnerEnforced}]"

Este comando no genera ninguna salida.

Para obtener más información, consulte Configuración de la propiedad de objetos en un bucket existente en la Guía del usuario de Amazon S3.

En el siguiente ejemplo de código, se muestra cómo utilizar put-bucket-policy.

AWS CLI

Este ejemplo permite a todos los usuarios recuperar cualquier objeto de MyBucket excepto los de MySecretFolder. También concede un permiso put y delete al usuario raíz de la cuenta de AWS 1234-5678-9012:

aws s3api put-bucket-policy --bucket MyBucket --policy file://policy.json policy.json: { "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::MyBucket/*" }, { "Effect": "Deny", "Principal": "*", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::MyBucket/MySecretFolder/*" }, { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:root" }, "Action": [ "s3:DeleteObject", "s3:PutObject" ], "Resource": "arn:aws:s3:::MyBucket/*" } ] }
  • Para obtener información sobre la API, consulte PutBucketPolicy en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar put-bucket-replication.

AWS CLI

Configurar la replicación de un bucket de S3

El siguiente ejemplo de put-bucket-replication aplica una configuración de replicación al bucket de S3 especificado.

aws s3api put-bucket-replication \ --bucket AWSDOC-EXAMPLE-BUCKET1 \ --replication-configuration file://replication.json

Contenido de replication.json:

{ "Role": "arn:aws:iam::123456789012:role/s3-replication-role", "Rules": [ { "Status": "Enabled", "Priority": 1, "DeleteMarkerReplication": { "Status": "Disabled" }, "Filter" : { "Prefix": ""}, "Destination": { "Bucket": "arn:aws:s3:::AWSDOC-EXAMPLE-BUCKET2" } } ] }

El bucket de destino debe tener habilitado el control de versiones. El rol especificado debe tener permiso para escribir en el bucket de destino y tener una relación de confianza que permita a Amazon S3 asumir el rol.

Ejemplo de política de permisos de roles:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetReplicationConfiguration", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::AWSDOC-EXAMPLE-BUCKET1" ] }, { "Effect": "Allow", "Action": [ "s3:GetObjectVersion", "s3:GetObjectVersionAcl", "s3:GetObjectVersionTagging" ], "Resource": [ "arn:aws:s3:::AWSDOC-EXAMPLE-BUCKET1/*" ] }, { "Effect": "Allow", "Action": [ "s3:ReplicateObject", "s3:ReplicateDelete", "s3:ReplicateTags" ], "Resource": "arn:aws:s3:::AWSDOC-EXAMPLE-BUCKET2/*" } ] }

Ejemplo de política de relación de confianza:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "s3.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Este comando no genera ninguna salida.

Para obtener más información, consulte Este es el título del tema en la guía del usuario de la consola de Amazon Simple Storage Service:

  • Para obtener información sobre la API, consulte PutBucketReplication en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar put-bucket-request-payment.

AWS CLI

Ejemplo 1: habilitar la configuración de “el solicitante paga” para un bucket

El siguiente ejemplo de put-bucket-request-payment habilita requester pays para el bucket especificado.

aws s3api put-bucket-request-payment \ --bucket my-bucket \ --request-payment-configuration '{"Payer":"Requester"}'

Este comando no genera ninguna salida.

Ejemplo 2: deshabilitar la configuración de “el solicitante paga” para un bucket

El siguiente ejemplo de put-bucket-request-payment deshabilita requester pays para el bucket especificado.

aws s3api put-bucket-request-payment \ --bucket my-bucket \ --request-payment-configuration '{"Payer":"BucketOwner"}'

Este comando no genera ninguna salida.

  • Para obtener información sobre la API, consulte PutBucketRequestPayment en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar put-bucket-tagging.

AWS CLI

El siguiente comando aplica una configuración de etiquetado a un bucket denominado my-bucket:

aws s3api put-bucket-tagging --bucket my-bucket --tagging file://tagging.json

El archivo tagging.json es un documento JSON en la carpeta actual que especifica etiquetas:

{ "TagSet": [ { "Key": "organization", "Value": "marketing" } ] }

O aplique una configuración de etiquetado a my-bucket directamente desde la línea de comandos:

aws s3api put-bucket-tagging --bucket my-bucket --tagging 'TagSet=[{Key=organization,Value=marketing}]'
  • Para obtener información sobre la API, consulte PutBucketTagging en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar put-bucket-versioning.

AWS CLI

El siguiente comando habilita el control de versiones en un bucket denominado my-bucket:

aws s3api put-bucket-versioning --bucket my-bucket --versioning-configuration Status=Enabled

El siguiente comando habilita el control de versiones y usa un código mfa

aws s3api put-bucket-versioning --bucket my-bucket --versioning-configuration Status=Enabled --mfa "SERIAL 123456"
  • Para obtener información sobre la API, consulte PutBucketVersioning en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar put-bucket-website.

AWS CLI

Aplica una configuración de sitio web estática a un bucket llamado my-bucket:

aws s3api put-bucket-website --bucket my-bucket --website-configuration file://website.json

El archivo website.json es un documento JSON en la carpeta actual que especifica las páginas de índice y error del sitio web:

{ "IndexDocument": { "Suffix": "index.html" }, "ErrorDocument": { "Key": "error.html" } }
  • Para obtener información sobre la API, consulte PutBucketWebsite en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar put-object-acl.

AWS CLI

El siguiente ejemplo otorga full control a dos usuarios de AWS user1@example.com y user2@example.com) y permiso de read a todos los usuarios:

aws s3api put-object-acl --bucket MyBucket --key file.txt --grant-full-control emailaddress=user1@example.com,emailaddress=user2@example.com --grant-read uri=http://acs.amazonaws.com/groups/global/AllUsers

Consulte http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTacl.html para obtener más información sobre las ACL personalizadas (los comandos s3api de ACL, como put-object-acl, utilizan la misma notación abreviada para el argumentos).

  • Para obtener información acerca de la API, consulte PutObjectAcl en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar put-object-legal-hold.

AWS CLI

Para aplicar una retención legal a un objeto

En el siguiente ejemplo de put-object-legal-hold, se establece una retención legal sobre el objeto doc1.rtf.

aws s3api put-object-legal-hold \ --bucket my-bucket-with-object-lock \ --key doc1.rtf \ --legal-hold Status=ON

Este comando no genera ninguna salida.

  • Para obtener información sobre la API, consulte PutObjectLegalHold en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar put-object-lock-configuration.

AWS CLI

Para establecer la configuración de bloqueo de objetos en un bucket

En el siguiente ejemplo de put-object-lock-configuration, se establece un bloqueo de objetos de 50 días en el bucket especificado.

aws s3api put-object-lock-configuration \ --bucket my-bucket-with-object-lock \ --object-lock-configuration '{ "ObjectLockEnabled": "Enabled", "Rule": { "DefaultRetention": { "Mode": "COMPLIANCE", "Days": 50 }}}'

Este comando no genera ninguna salida.

En el siguiente ejemplo de código, se muestra cómo utilizar put-object-retention.

AWS CLI

Para establecer la configuración de retención de un objeto

En el siguiente ejemplo de put-object-retention, se establece una configuración de retención del objeto especificado hasta el 1 de enero de 2025.

aws s3api put-object-retention \ --bucket my-bucket-with-object-lock \ --key doc1.rtf \ --retention '{ "Mode": "GOVERNANCE", "RetainUntilDate": "2025-01-01T00:00:00" }'

Este comando no genera ninguna salida.

  • Para obtener información sobre la API, consulte PutObjectRetention en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar put-object-tagging.

AWS CLI

Para establecer una etiqueta en un objeto

En el siguiente ejemplo de put-object-tagging, se define una etiqueta con la clave designation y el valor confidential al objeto especificado.

aws s3api put-object-tagging \ --bucket my-bucket \ --key doc1.rtf \ --tagging '{"TagSet": [{ "Key": "designation", "Value": "confidential" }]}'

Este comando no genera ninguna salida.

En el siguiente ejemplo de put-object-tagging, se establecen varios conjuntos de etiquetas en el objeto especificado.

aws s3api put-object-tagging \ --bucket my-bucket-example \ --key doc3.rtf \ --tagging '{"TagSet": [{ "Key": "designation", "Value": "confidential" }, { "Key": "department", "Value": "finance" }, { "Key": "team", "Value": "payroll" } ]}'

Este comando no genera ninguna salida.

  • Para obtener información sobre la API, consulte PutObjectTagging en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar put-object.

AWS CLI

En el siguiente ejemplo se utiliza el comando put-object para cargar un objeto a Amazon S3:

aws s3api put-object --bucket text-content --key dir-1/my_images.tar.bz2 --body my_images.tar.bz2

En el siguiente ejemplo se muestra la carga de un archivo de vídeo (el archivo de vídeo se especifica mediante la sintaxis del sistema de archivos de Windows):

aws s3api put-object --bucket text-content --key dir-1/big-video-file.mp4 --body e:\media\videos\f-sharp-3-data-services.mp4

Para obtener más información acerca de la carga de objetos, consulte Carga de objetos en la Guía para desarrolladores de Amazon S3.

  • Para obtener información sobre la API, consulte PutObject en la Referencia de comandos de AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar put-public-access-block.

AWS CLI

Para establecer la configuración de bloqueo de acceso público para un bucket

En el siguiente ejemplo de put-public-access-block se establece una configuración de bloqueo de acceso público restrictiva para el bucket especificado.

aws s3api put-public-access-block \ --bucket my-bucket \ --public-access-block-configuration "BlockPublicAcls=true,IgnorePublicAcls=true,BlockPublicPolicy=true,RestrictPublicBuckets=true"

Este comando no genera ninguna salida.

  • Para obtener información sobre la API, consulte PutPublicAccessBlock en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar rb.

AWS CLI

Ejemplo 1: eliminación de un bucket

El siguiente comando rb elimina un bucket. En este ejemplo, el bucket del usuario es mybucket. Tenga en cuenta que el bucket debe estar vacío para poder eliminar:

aws s3 rb s3://mybucket

Salida:

remove_bucket: mybucket

Ejemplo 2: eliminación forzada de un bucket

El siguiente comando rb utiliza el parámetro --force para eliminar primero todos los objetos del bucket y, a continuación, el propio bucket. En este ejemplo, el bucket del usuario es mybucket y los objetos que contiene mybucket son test1.txt y test2.txt:

aws s3 rb s3://mybucket \ --force

Salida:

delete: s3://mybucket/test1.txt delete: s3://mybucket/test2.txt remove_bucket: mybucket
  • Para obtener información sobre la API, consulte Rb en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar restore-object.

AWS CLI

Creación de una solicitud de restauración para un objeto

En el siguiente ejemplo de restore-object se restaura el objeto de Amazon S3 Glacier especificado para el bucket my-glacier-bucket durante 10 días.

aws s3api restore-object \ --bucket my-glacier-bucket \ --key doc1.rtf \ --restore-request Days=10

Este comando no genera ninguna salida.

  • Para obtener información sobre la API, consulte RestoreObject en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar rm.

AWS CLI

Ejemplo 1: eliminación de un objeto de S3

El siguiente comando rm elimina un único objeto S3:

aws s3 rm s3://mybucket/test2.txt

Salida:

delete: s3://mybucket/test2.txt

Ejemplo 2: eliminación de todo el contenido de un bucket

El siguiente comando rm elimina de forma recursiva todos los objetos del bucket y el prefijo especificados al pasarlo con el parámetro --recursive. En este ejemplo, el bucket mybucket contiene los objetos test1.txt y test2.txt:

aws s3 rm s3://mybucket \ --recursive

Salida:

delete: s3://mybucket/test1.txt delete: s3://mybucket/test2.txt

Ejemplo 3: eliminación de todo el contenido de un bucket, excepto los archivos .jpg

Cuando se pasa con el parámetro --recursive, el siguiente comando rm elimina de forma recursiva todos los objetos de un bucket y prefijo determinados. También excluye algunos objetos con el parámetro --exclude. En este ejemplo, el bucket mybucket contiene los objetos test1.txt y test2.jpg:

aws s3 rm s3://mybucket/ \ --recursive \ --exclude "*.jpg"

Salida:

delete: s3://mybucket/test1.txt

Ejemplo 4: eliminación de todo el contenido de un bucket, excepto los objetos con el prefijo especificado

Cuando se pasa con el parámetro --recursive, el siguiente comando rm elimina de forma recursiva todos los objetos de un bucket y prefijo determinados. También excluye todos los objetos de un prefijo determinado con el parámetro --exclude. En este ejemplo, el bucket mybucket contiene los objetos test1.txt y another/test.txt:

aws s3 rm s3://mybucket/ \ --recursive \ --exclude "another/*"

Salida:

delete: s3://mybucket/test1.txt

Ejemplo 5: eliminación de un objeto desde un punto de acceso de S3

El siguiente comando rm elimina un único objeto (mykey) del punto de acceso (myaccesspoint). :: El siguiente comando rm elimina un único objeto (mykey) del punto de acceso (myaccesspoint).

aws s3 rm s3://arn:aws:s3:us-west-2:123456789012:accesspoint/myaccesspoint/mykey

Salida:

delete: s3://arn:aws:s3:us-west-2:123456789012:accesspoint/myaccesspoint/mykey
  • Para obtener información sobre la API, consulte Rm en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar select-object-content.

AWS CLI

Para filtrar el contenido de un objeto de Amazon S3 en función de una instrucción SQL

En el siguiente ejemplo de select-object-content, se filtra el objeto my-data-file.csv con la instrucción SQL especificada y se envía el resultado a un archivo.

aws s3api select-object-content \ --bucket my-bucket \ --key my-data-file.csv \ --expression "select * from s3object limit 100" \ --expression-type 'SQL' \ --input-serialization '{"CSV": {}, "CompressionType": "NONE"}' \ --output-serialization '{"CSV": {}}' "output.csv"

Este comando no genera ninguna salida.

  • Para obtener información sobre la API, consulte SelectObjectContent en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar sync.

AWS CLI

Ejemplo 1: sincronización de todos los objetos locales con el bucket especificado

El siguiente comando sync sincroniza los objetos de un directorio local con el prefijo y el bucket especificados al cargar los archivos locales en S3. Será necesario cargar un archivo local si el tamaño del archivo local es diferente al tamaño del objeto de S3, si la hora de la última modificación del archivo local es posterior a la hora de la última modificación del objeto de S3 o si el archivo local no existe en el bucket y el prefijo especificados. En este ejemplo, el usuario sincroniza el bucket mybucket con el directorio local actual. El directorio local actual contiene los archivos test.txt y test2.txt. El bucket mybucket no contiene ningún objeto.

aws s3 sync . s3://mybucket

Salida:

upload: test.txt to s3://mybucket/test.txt upload: test2.txt to s3://mybucket/test2.txt

Ejemplo 2: sincronización de todos los objetos de S3 del bucket de S3 especificado con otro bucket

El siguiente comando sync sincroniza los objetos con un prefijo y un bucket específicos que están bajo otro prefijo y bucket determinados al copiar los objetos de S3. Será necesario copiar un objeto de S3 si los tamaños de los dos objetos de S3 son diferentes, si la hora de la última modificación del origen es más reciente que la hora de la última modificación del destino o si el objeto de S3 no existe en el bucket y el prefijo de destino especificados.

En este ejemplo, el usuario sincroniza el bucket mybucket con el bucket mybucket2. El bucket mybucket contiene los objetos test.txt y test2.txt. El bucket mybucket2 no contiene ningún objeto:

aws s3 sync s3://mybucket s3://mybucket2

Salida:

copy: s3://mybucket/test.txt to s3://mybucket2/test.txt copy: s3://mybucket/test2.txt to s3://mybucket2/test2.txt

Ejemplo 3: sincronización de todos los objetos de S3 del bucket de S3 especificado con el directorio local

El siguiente comando sync sincroniza los archivos de un bucket S3 específico en el directorio local al cargar los objetos S3. Será necesario descargar un objeto de S3 si el tamaño del objeto de S3 es diferente al tamaño del archivo local, si la hora de la última modificación del objeto de S3 es posterior a la hora de la última modificación del archivo local o si el objeto de S3 no existe en el directorio local. Tenga en cuenta que cuando los objetos se descargan desde S3, la hora de la última modificación del archivo local se cambia por la hora de la última modificación del objeto de S3. En este ejemplo, el usuario sincroniza el bucket mybucket con el directorio local actual. El bucket mybucket contiene los objetos test.txt y test2.txt. El directorio local actual no tiene archivos:

aws s3 sync s3://mybucket .

Salida:

download: s3://mybucket/test.txt to test.txt download: s3://mybucket/test2.txt to test2.txt

Ejemplo 4: sincronización de todos los objetos locales con el bucket especificado y eliminación de todos los archivos que no coincidan

El siguiente comando sync sincroniza los objetos bajo un prefijo y bucket especificados con los archivos de un directorio local cargando los archivos locales en S3. Debido al parámetro --delete, se eliminarán todos los archivos que tengan el prefijo y el bucket especificados, pero que no estén en el directorio local. En este ejemplo, el usuario sincroniza el bucket mybucket con el directorio local actual. El directorio local actual contiene los archivos test.txt y test2.txt. El bucket mybucket contiene el objeto test3.txt:

aws s3 sync . s3://mybucket \ --delete

Salida:

upload: test.txt to s3://mybucket/test.txt upload: test2.txt to s3://mybucket/test2.txt delete: s3://mybucket/test3.txt

Ejemplo 5: sincronización de todos los objetos locales con el bucket especificado, excepto los archivos .jpg

El siguiente comando sync sincroniza los objetos bajo un prefijo y bucket especificados con los archivos de un directorio local cargando los archivos locales en S3. Debido al parámetro --exclude, todos los archivos que coincidan con el patrón existente tanto en S3 como localmente se excluirán de la sincronización. En este ejemplo, el usuario sincroniza el bucket mybucket con el directorio local actual. El directorio local actual contiene los archivos test.jpg y test2.txt. El bucket mybucket contiene el objeto test.jpg de un tamaño diferente al test.jpg local:

aws s3 sync . s3://mybucket \ --exclude "*.jpg"

Salida:

upload: test2.txt to s3://mybucket/test2.txt

Ejemplo 6: sincronización de todos los objetos locales con el bucket especificado, excepto los archivos .jpg

El siguiente comando sync sincroniza los archivos de un directorio local con los objetos con un prefijo y bucket específicos descargando los objetos S3. En este ejemplo, se utiliza el parámetro --exclude para excluir un directorio y un prefijo de S3 específicos del comando sync. En este ejemplo, el usuario sincroniza el directorio local actual con el bucket mybucket. El directorio local actual contiene los archivos test.txt y another/test2.txt. El bucket mybucket contiene los objetos another/test5.txt y test1.txt:

aws s3 sync s3://mybucket/ . \ --exclude "*another/*"

Salida:

download: s3://mybucket/test1.txt to test1.txt

Ejemplo 7: sincronización de todos los buckets de diferentes regiones

El siguiente comando sync sincroniza los archivos entre dos buckets en diferentes regiones:

aws s3 sync s3://my-us-west-2-bucket s3://my-us-east-1-bucket \ --source-region us-west-2 \ --region us-east-1

Salida:

download: s3://my-us-west-2-bucket/test1.txt to s3://my-us-east-1-bucket/test1.txt

Ejemplo 8: sincronización con un punto de acceso de S3

El siguiente comando sync sincroniza el directorio actual con el punto de acceso (myaccesspoint):

aws s3 sync . s3://arn:aws:s3:us-west-2:123456789012:accesspoint/myaccesspoint/

Salida:

upload: test.txt to s3://arn:aws:s3:us-west-2:123456789012:accesspoint/myaccesspoint/test.txt upload: test2.txt to s3://arn:aws:s3:us-west-2:123456789012:accesspoint/myaccesspoint/test2.txt
  • Para obtener información sobre la API, consulte Sync en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar upload-part-copy.

AWS CLI

Para cargar parte de un objeto al copiar los datos de un objeto existente como origen de datos

En el siguiente ejemplo de upload-part-copy, se carga una parte al copiar los datos de un objeto existente como origen de datos.

aws s3api upload-part-copy \ --bucket my-bucket \ --key "Map_Data_June.mp4" \ --copy-source "my-bucket/copy_of_Map_Data_June.mp4" \ --part-number 1 \ --upload-id "bq0tdE1CDpWQYRPLHuNG50xAT6pA5D.m_RiBy0ggOH6b13pVRY7QjvLlf75iFdJqp_2wztk5hvpUM2SesXgrzbehG5hViyktrfANpAD0NO.Nk3XREBqvGeZF6U3ipiSm"

Salida:

{ "CopyPartResult": { "LastModified": "2019-12-13T23:16:03.000Z", "ETag": "\"711470fc377698c393d94aed6305e245\"" } }
  • Para obtener información sobre la API, consulte UploadPartCopy en la Referencia AWS CLI de comandos.

En el siguiente ejemplo de código, se muestra cómo utilizar upload-part.

AWS CLI

El siguiente comando carga la primera parte de una carga multiparte iniciada con el comando create-multipart-upload:

aws s3api upload-part --bucket my-bucket --key 'multipart/01' --part-number 1 --body part01 --upload-id "dfRtDYU0WWCCcH43C3WFbkRONycyCpTJJvxu2i5GYkZljF.Yxwh6XG7WfS2vC4to6HiV6Yjlx.cph0gtNBtJ8P3URCSbB7rjxI5iEwVDmgaXZOGgkk5nVTW16HOQ5l0R"

La opción body toma el nombre o la ruta de un archivo local para la carga (no utilice el prefijo file://). El tamaño mínimo de parte es de 5 MB. El ID de carga lo devuelve create-multipart-upload y también se puede recuperar con list-multipart-uploads. El bucket y la clave se especifican al crear la carga multiparte.

Salida:

{ "ETag": "\"e868e0f4719e394144ef36531ee6824c\"" }

Guarde el valor de ETag de cada parte para más adelante. Son necesarios para completar la carga multiparte.

  • Para obtener información sobre la API, consulte UploadPart en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar website.

AWS CLI

Configuración de un bucket de S3 como sitio web estático

El siguiente comando configura un bucket denominado my-bucket como sitio web estático. La opción del documento de índice especifica el archivo en my-bucket al que se dirigirá a los visitantes cuando naveguen a la URL del sitio web. En este caso, el bucket se encuentra en la región us-west-2, por lo que el sitio aparecería en http://my-bucket.s3-website-us-west-2.amazonaws.com.

Todos los archivos del bucket que aparecen en el sitio estático deben estar configurados para que los visitantes puedan abrirlos. Los permisos de los archivos se configuran de forma independiente desde la configuración del sitio web del bucket.

aws s3 website s3://my-bucket/ \ --index-document index.html \ --error-document error.html

Para obtener más información sobre el alojamiento de un sitio web estático en Amazon S3, consulte Alojamiento de un sitio web estático mediante Amazon S3 en la Guía del usuario de Amazon Simple Storage Service.

  • Para obtener detalles de la API, consulte Website en la Referencia de comandos de la AWS CLI.