Ejemplos de Amazon S3 que utilizan AWS CLI - AWS SDKEjemplos de código

Hay más AWS SDK ejemplos disponibles en el GitHub repositorio de AWS Doc SDK Examples.

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Ejemplos de Amazon S3 que utilizan AWS CLI

Los siguientes ejemplos de código muestran cómo realizar acciones e implementar situaciones comunes AWS Command Line Interface mediante 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.

Cada ejemplo incluye un enlace al código fuente completo, donde puede encontrar instrucciones sobre cómo configurar y ejecutar el código en su contexto.

Acciones

En el siguiente ejemplo de código se muestra cómo usar 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 API obtener más información, consulte AbortMultipartUploadla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar 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 adopta una JSON estructura que describe las partes de la carga multiparte que se deben volver a ensamblar en el archivo completo. En este ejemplo, el file:// prefijo se usa para cargar la JSON estructura desde un archivo de la carpeta local denominada. mpustruct

mpustruct:

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

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

Salida:

{ "ETag": "\"3944a9f7a4faab7f78788ff6210f63f0-3\"", "Bucket": "my-bucket", "Location": "https://my-bucket.s3.amazonaws.com/multipart%2F01", "Key": "multipart/01" }

En el siguiente ejemplo de código se muestra cómo usar 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 API obtener más información, consulte CopyObjectla Referencia de AWS CLI comandos.

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

AWS CLI

Ejemplo 1: copiar un archivo local a S3

El siguiente cp comando copia un único archivo en un depósito 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: copiar un archivo local a S3 con una fecha de caducidad

El siguiente cp comando copia un único archivo en un depósito y una clave específicos que caducan en la fecha 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: copiar un archivo de S3 a S3

El siguiente cp comando 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: copiar un objeto S3 a un archivo local

El siguiente cp comando copia un único objeto en un archivo especificado de forma local:

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

Salida:

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

Ejemplo 5: copiar un objeto S3 de un bucket a otro

El siguiente cp comando copia un único objeto en un depósito 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: copiar objetos de S3 de forma recursiva a un directorio local

Cuando se le pasa el parámetro--recursive, el siguiente cp comando copia de forma recursiva todos los objetos con un prefijo y un bucket especificados en un directorio específico. En este ejemplo, el depósito 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: copiar archivos locales a S3 de forma recursiva

Cuando se le pasa el parámetro--recursive, el siguiente cp comando copia de forma recursiva todos los archivos de un directorio específico en un depósito y un prefijo específicos y, al mismo tiempo, excluye algunos archivos mediante un 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: Copiar objetos S3 de forma recursiva a otro depósito

Cuando se pasa el parámetro--recursive, el siguiente cp comando copia de forma recursiva todos los objetos de un depósito específico en otro depósito y, al mismo tiempo, excluye algunos objetos mediante un --exclude parámetro. En este ejemplo, el depósito mybucket contiene los objetos test1.txt yanother/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 --exclude --include opciones 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 S3

El siguiente cp comando copia un único objeto en un depósito y una clave específicos y, al mismo tiempo, establece el ACL valorpublic-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 --acl opción, asegúrese de que todas IAM las políticas asociadas incluyan la "s3:PutObjectAcl" acción:

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 para un objeto de S3

El siguiente cp comando ilustra el uso de la --grants opción para conceder acceso de lectura a todos los usuarios identificados por un usuario específico identificado por su ID canónico 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 de una entrada canalizada o CRLF añadirla a ella.

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

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

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

El siguiente cp comando carga un flujo de archivos local de 51 GB desde la entrada estándar a un depósito y una clave específicos. Se debe proporcionar la --expected-size opción o 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: Descargar un objeto S3 como flujo de archivos local

PowerShell puede alterar la codificación o añadir una CRLF salida canalizada o redirigida.

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

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

Ejemplo 14: Carga a un punto de acceso S3

El siguiente cp comando carga un único archivo (mydoc.txt) en el punto de acceso (myaccesspoint) situado en la tecla (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 S3

El siguiente cp comando descarga un único objeto (mykey) del 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 API obtener más información, consulte Cp en la referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar 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 ACLs 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 API obtener más información, consulte CreateBucketla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar 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.

En el siguiente ejemplo de código se muestra cómo usar 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 usar 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 API obtener más información, consulte DeleteBucketCorsla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar 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.

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

AWS CLI

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

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

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 usar 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 usar 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

En el siguiente ejemplo de código se muestra cómo usar 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 usar delete-bucket-ownership-controls.

AWS CLI

Para eliminar la configuración de propiedad de un bucket

En el siguiente delete-bucket-ownership-controls ejemplo, 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 Establecer la propiedad de un objeto en un bucket existente en la Guía del usuario de Amazon S3.

En el siguiente ejemplo de código se muestra cómo usar 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 API obtener más información, consulte DeleteBucketPolicyla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar 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

En el siguiente ejemplo de código se muestra cómo usar 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 API obtener más información, consulte DeleteBucketTaggingla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar 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 API obtener más información, consulte DeleteBucketWebsitela Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar 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 API obtener más información, consulte DeleteBucketla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar 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 API obtener más información, consulte DeleteObjectTaggingla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar 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 API obtener más información, consulte DeleteObjectla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar 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.jsones un JSON documento del 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 API obtener más información, consulte DeleteObjectsla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar 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.

En el siguiente ejemplo de código se muestra cómo usar 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 usar 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 API obtener más información, consulte GetBucketAclla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar 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 usar 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 API obtener más información, consulte GetBucketCorsla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar 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 API obtener más información, consulte GetBucketEncryptionla Referencia de AWS CLI comandos.

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

AWS CLI

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

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

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 usar 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 usar 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 usar 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 API obtener más información, consulte GetBucketLifecyclela Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar 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 API obtener más información, consulte GetBucketLocationla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar 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 API obtener más información, consulte GetBucketLoggingla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar 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 usar 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 usar 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:*" ] } }

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

AWS CLI

Para recuperar la configuración de propiedad de un bucket

En el siguiente get-bucket-ownership-controls ejemplo, 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 del objeto para un bucket de S3 en la Guía del usuario de Amazon S3.

En el siguiente ejemplo de código se muestra cómo usar 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 } }

En el siguiente ejemplo de código se muestra cómo usar 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/*\"}]}" }

El policyThe siguiente ejemplo de Get and put a bucket muestra cómo puede descargar una política de bucket de Amazon S3, realizar modificaciones en el archivo y, después, utilizarla 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 API obtener más información, consulte GetBucketPolicyla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar 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 API obtener más información, consulte GetBucketReplicationla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar 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" }

En el siguiente ejemplo de código se muestra cómo usar 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 API obtener más información, consulte GetBucketTaggingla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar 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 API obtener más información, consulte GetBucketVersioningla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar 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 API obtener más información, consulte GetBucketWebsitela Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar 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 API obtener más información, consulte GetObjectAclla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar 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 GetObjectAttributesla API referencia de Amazon S3.

  • Para API obtener más información, consulte GetObjectAttributesla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar 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 API obtener más información, consulte GetObjectLegalHoldla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar 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 usar 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 API obtener más información, consulte GetObjectRetentionla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar 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 API obtener más información, consulte GetObjectTaggingla Referencia de AWS CLI comandos.

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

AWS CLI

El siguiente comando crea un torrente para un objeto de un bucket denominadomy-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 API obtener más información, consulte GetObjectTorrentla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar 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 API obtener más información, consulte GetObjectla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar 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 API obtener más información, consulte GetPublicAccessBlockla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar 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 API obtener más información, consulte HeadBucketla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar 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 API obtener más información, consulte HeadObjectla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar 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 usar list-bucket-intelligent-tiering-configurations.

AWS CLI

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

El siguiente list-bucket-intelligent-tiering-configurations ejemplo 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 usar 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 usar list-bucket-metrics-configurations.

AWS CLI

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

En el siguiente list-bucket-metrics-configurations ejemplo, se recupera una lista de configuraciones de métricas para el depósito 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 usar 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 API obtener más información, consulte ListBucketsla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar 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 API obtener más información, consulte ListMultipartUploadsla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar 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 API obtener más información, consulte ListObjectVersionsla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar 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 API obtener más información, consulte la sección ListObjectsV2 en la Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar 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 API obtener más información, consulte ListObjectsla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar 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 depósitomy-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 API obtener más información, consulte ListPartsla Referencia de AWS CLI comandos.

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

AWS CLI

Ejemplo 1: Listar todos los depósitos propiedad de los usuarios

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

aws s3 ls

Salida:

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

Ejemplo 2: Listar todos los prefijos y objetos de un cubo

El siguiente ls comando muestra los objetos y los prefijos comunes incluidos en un depósito y un prefijo específicos. En este ejemplo, el usuario es propietario del depósito mybucket con los objetos test.txt y. somePrefix/test.txt Los LastWriteTime y Length son arbitrarios. Tenga en cuenta que, dado que el ls comando no interactúa con el sistema de archivos local, el s3:// URI esquema no es necesario para 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: Listar todos los prefijos y objetos de un depósito y un prefijo específicos

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

aws s3 ls s3://mybucket/noExistPrefix

Salida:

None

Ejemplo 4: Listar de forma recursiva todos los prefijos y objetos de un depósito

El siguiente ls comando mostrará una lista recursiva de los objetos de un bucket. En lugar de mostrarse PRE dirname/ en el resultado, todo el contenido de un depósito 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: resumir todos los prefijos y objetos de un depósito

El siguiente ls comando 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 su 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: Publicar desde un punto de acceso S3

El siguiente ls comando muestra 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 API obtener más información, consulte Ls en la referencia de AWS CLI comandos.

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

AWS CLI

Ejemplo 1: Crear un depósito

El siguiente mb comando crea un depósito. En este ejemplo, el usuario crea el depósitomybucket. El depósito 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: Crear un depósito en la región especificada

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

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

Salida:

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

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

AWS CLI

Ejemplo 1: mover un archivo local al depósito especificado

El siguiente mv comando mueve un solo archivo a un depósito 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: Mover un objeto al depósito y la clave especificados

El siguiente mv comando mueve un único objeto s3 a un depósito 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: mover un objeto S3 al directorio local

El siguiente mv comando mueve un único objeto a un archivo especificado de forma local.

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

Salida:

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

Ejemplo 4: mueve un objeto con su nombre original al depósito especificado

El siguiente mv comando mueve un único objeto a un depósito 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: Mueva todos los objetos y prefijos de un depósito al directorio local

Cuando se pasa el parámetro--recursive, el siguiente mv comando mueve de forma recursiva todos los objetos situados bajo un prefijo y un depósito especificados a un directorio específico. En este ejemplo, el depósito 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: Mueve todos los objetos y prefijos de un depósito al directorio local, excepto los archivos ``.jpg``

Cuando se pasa el parámetro--recursive, el siguiente mv comando mueve de forma recursiva todos los archivos de un directorio especificado a un depósito y un prefijo específicos, excluyendo algunos archivos mediante un parámetro. --exclude En este ejemplo, el directorio myDir contiene los archivos y. test1.txt test2.jpg

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

Salida:

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

Ejemplo 7: Mueva todos los objetos y prefijos de un depósito al directorio local, excepto el prefijo especificado

Cuando se pasa el parámetro--recursive, el siguiente mv comando mueve de forma recursiva todos los objetos de un depósito específico a otro depósito y, al mismo tiempo, excluye algunos objetos mediante un parámetro. --exclude En este ejemplo, el depósito mybucket contiene los objetos test1.txt yanother/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: mueve un objeto al depósito especificado y establece el ACL

El siguiente mv comando mueve un solo objeto a un depósito y una tecla específicos mientras se establece el valor ACL depublic-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: Mover un archivo local al depósito especificado y conceder permisos

El siguiente mv comando ilustra el uso de la --grants opción 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: mover un archivo a un punto de acceso S3

El siguiente mv comando mueve un único archivo mydoc.txt con el nombre del punto de acceso indicado myaccesspoint en la clave denominadamykey.

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 API obtener más información, consulte Mv en la referencia de AWS CLI comandos.

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

AWS CLI

Ejemplo 1: Para crear un archivo prefirmado URL con una duración predeterminada de una hora que enlace a un objeto de un bucket de S3

El siguiente presign comando genera una clave y una contraseña prefirmadas URL para un depósito específico que son válidas 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: Para crear un objeto prefirmado URL con una duración personalizada que se vincule a un objeto de un bucket de S3

El siguiente presign comando genera una clave y un depósito prefirmados URL que son válidos 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 Compartir un objeto con otros en la guía para desarrolladores de S3.

  • Para API obtener más información, consulte Presign in AWS CLI Command Reference.

En el siguiente ejemplo de código se muestra cómo usar 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 usar put-bucket-acl.

AWS CLI

Este ejemplo concede read permisos full control a dos AWS usuarios (user1@example.com y user2@example.com) y a todos:

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 la personalización ACLs (los ACL comandos s3api, por ejemploput-bucket-acl, utilizan la misma notación abreviada de argumentos).

  • Para obtener API más información, consulte la Referencia de comandos. PutBucketAclAWS CLI

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

AWS CLI

Para establecer una configuración de análisis para el bucket

En el siguiente put-bucket-analytics-configuration ejemplo, se configuran los análisis para el depósito 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 usar 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 API obtener más información, consulte PutBucketCorsla Referencia de AWS CLI comandos.

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

AWS CLI

Configurar el cifrado del lado del servidor de un bucket

El siguiente put-bucket-encryption ejemplo establece el AES256 cifrado 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 API obtener más información, consulte PutBucketEncryptionla Referencia de AWS CLI comandos.

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

AWS CLI

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

El siguiente put-bucket-intelligent-tiering-configuration ejemplo actualiza una configuración de S3 Intelligent-Tiering, denominada, en un bucket. ExampleConfig La configuración transferirá los objetos a los que no se haya accedido con el prefijo images a Archive Access después de 90 días y a Deep Archive Access 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

Contenidos 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 Establecer la propiedad de un objeto en un bucket existente en la Guía del usuario de Amazon S3.

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

AWS CLI

Ejemplo 1: Para establecer una configuración de inventario para un depósito

El siguiente put-bucket-inventory-configuration ejemplo establece un informe ORC de inventario con formato semanal para el depósito. 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: Para establecer una configuración de inventario para un depósito

El siguiente put-bucket-inventory-configuration ejemplo establece un informe CSV de inventario con formato diario para el depósito. 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 usar 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 JSON documento de 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 información sobre los formatos de marca de tiempo aceptables, consulte Especificación de valores de parámetros en la Guía del AWS CLIusuario.

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

AWS CLI

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

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

El archivo lifecycle.json es un JSON documento de 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 mueve 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 información sobre los formatos de marca de tiempo aceptables, consulte Especificación de valores de parámetros en la Guía del AWS CLI usuario.

Cada regla del ejemplo anterior especifica una política (TransitionoExpiration) y un prefijo de archivo (nombre de carpeta) a los que se aplica. También puedes crear una regla que se aplique a todo un depósito 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 API obtener más información, consulte PutBucketLifecyclela Referencia de AWS CLI comandos.

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

AWS CLI

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

El siguiente put-bucket-logging ejemplo 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

Contenidos 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

Contenidos 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 put-bucket-logging ejemplo establece la política de registro para MyBucket. El AWS usuario 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

Contenidos 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 API obtener más información, consulte PutBucketLoggingla Referencia de AWS CLI comandos.

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

AWS CLI

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

En el siguiente put-bucket-metrics-configuration ejemplo, se establece una configuración métrica con el ID 123 para el depósito 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 usar 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 JSON documento de la carpeta actual que especifica el SNS tema y el tipo de evento que se va a supervisar.

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

Contenidos de notification.json:

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

El SNS tema debe tener una IAM política 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 usar 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 JSON documento de la carpeta actual que especifica un SNS tema y un tipo de evento que se va a supervisar:

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

El SNS tema debe tener una IAM política 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" } } } ] }

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

AWS CLI

Para actualizar la configuración de propiedad de un bucket

En el siguiente put-bucket-ownership-controls ejemplo, 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 Establecer la propiedad de un objeto en un bucket existente en la Guía del usuario de Amazon S3.

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

AWS CLI

Este ejemplo permite a todos los usuarios recuperar cualquier objeto MyBucketexcepto los del MySecretFolder. También concede put un delete permiso al usuario raíz de la AWS cuenta1234-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 API obtener más información, consulte PutBucketPolicyla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar 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

Contenidos 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 API obtener más información, consulte PutBucketReplicationla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar 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.

En el siguiente ejemplo de código se muestra cómo usar 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 JSON documento de la carpeta actual que especifica las 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 API obtener más información, consulte PutBucketTaggingla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar 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 API obtener más información, consulte PutBucketVersioningla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar 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 JSON documento de la carpeta actual que especifica las páginas de índice y error del sitio web:

{ "IndexDocument": { "Suffix": "index.html" }, "ErrorDocument": { "Key": "error.html" } }
  • Para API obtener más información, consulte PutBucketWebsitela Referencia de AWS CLI comandos.

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

AWS CLI

El siguiente comando concede read permisos full control a dos AWS usuarios (user1@example.com y user2@example.com) y a todos los demás:

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 la personalización ACLs (los ACL comandos s3api, por ejemploput-object-acl, utilizan la misma notación abreviada de argumentos).

  • Para obtener API más información, consulte la Referencia de comandos. PutObjectAclAWS CLI

En el siguiente ejemplo de código se muestra cómo usar 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 API obtener más información, consulte PutObjectLegalHoldla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar 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 usar 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 API obtener más información, consulte PutObjectRetentionla Referencia de AWS CLI comandos.

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

AWS CLI

Para establecer una etiqueta en un objeto

En el siguiente put-object-tagging ejemplo, se establece una etiqueta con la clave designation y confidential el valor del 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.

El siguiente put-object-tagging ejemplo establece 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 API obtener más información, consulte PutObjectTaggingla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar 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 API obtener más información, consulte PutObjectla Referencia de AWS CLI comandos.

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

AWS CLI

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

En el siguiente put-public-access-block ejemplo, se establece una configuración restrictiva de acceso público en bloque para el depósito 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 API obtener más información, consulte PutPublicAccessBlockla Referencia de AWS CLI comandos.

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

AWS CLI

Ejemplo 1: Eliminar un depósito

El siguiente rb comando elimina un depósito. En este ejemplo, el depósito del usuario esmybucket. Ten en cuenta que el depósito debe estar vacío para poder eliminar:

aws s3 rb s3://mybucket

Salida:

remove_bucket: mybucket

Ejemplo 2: Forzar la eliminación de un depósito

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

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

Salida:

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

En el siguiente ejemplo de código se muestra cómo usar 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 API obtener más información, consulte RestoreObjectla Referencia de AWS CLI comandos.

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

AWS CLI

Ejemplo 1: Eliminar un objeto S3

El siguiente rm comando elimina un único objeto s3:

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

Salida:

delete: s3://mybucket/test2.txt

Ejemplo 2: Eliminar todo el contenido de un bucket

El siguiente rm comando elimina de forma recursiva todos los objetos incluidos en un depósito y un prefijo especificados cuando se le pasa el parámetro. --recursive En este ejemplo, el depósito mybucket contiene los objetos y: test1.txt test2.txt

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

Salida:

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

Ejemplo 3: Eliminar todo el contenido de un depósito, excepto los archivos ``.jpg``

El siguiente rm comando elimina de forma recursiva todos los objetos incluidos en un depósito y un prefijo específicos cuando se le pasa el parámetro, mientras que excluye algunos objetos mediante un parámetro--recursive. --exclude En este ejemplo, el depósito mybucket contiene los objetos y: test1.txt test2.jpg

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

Salida:

delete: s3://mybucket/test1.txt

Ejemplo 4: Eliminar todo el contenido de un depósito, excepto los objetos con el prefijo especificado

El siguiente rm comando elimina de forma recursiva todos los objetos incluidos en un depósito y un prefijo específicos cuando se les pasa el parámetro y, al --recursive mismo tiempo, excluye todos los objetos que estén bajo un prefijo concreto mediante un parámetro. --exclude En este ejemplo, el depósito contiene los objetos mybucket y: test1.txt another/test.txt

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

Salida:

delete: s3://mybucket/test1.txt

Ejemplo 5: Eliminar un objeto de un punto de acceso S3

El siguiente rm comando elimina un único objeto (mykey) del punto de acceso (myaccesspoint). :: El siguiente rm comando 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 API obtener más información, consulte Rm en la referencia de AWS CLI comandos.

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

AWS CLI

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

El siguiente select-object-content ejemplo filtra el objeto my-data-file.csv con la SQL sentencia especificada y 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 API obtener más información, consulte SelectObjectContentla Referencia de AWS CLI comandos.

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

AWS CLI

Ejemplo 1: Sincronizar todos los objetos locales con el bucket especificado

El siguiente sync comando sincroniza los objetos de un directorio local con el prefijo y el bucket especificados cargando 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 depósito mybucket con el directorio actual local. El directorio actual local contiene los archivos test.txt ytest2.txt. El depósito no mybucket 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: Sincronice todos los objetos de S3 del depósito de S3 especificado con otro depósito

El siguiente sync comando sincroniza los objetos con un prefijo y un bucket específicos con los objetos con otro prefijo y bucket especificados copiando 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 depósito y el prefijo de destino especificados.

En este ejemplo, el usuario sincroniza el depósito mybucket con el depósito. mybucket2 El depósito mybucket contiene los objetos test.txt y. test2.txt El depósito no mybucket2 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: Sincronice todos los objetos de S3 del depósito de S3 especificado con el directorio local

El siguiente sync comando sincroniza los archivos del bucket de S3 especificado con el directorio local mediante la descarga de los objetos de S3. Será necesario descargar un objeto de S3 si su tamaño es diferente del 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 de 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 depósito mybucket con el directorio local actual. El depósito 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: Sincronice todos los objetos locales con el depósito especificado y elimine todos los archivos que no coincidan

El siguiente sync comando sincroniza los objetos con un prefijo y un bucket específicos con los archivos de un directorio local cargando los archivos locales en S3. Gracias a este --delete parámetro, se eliminarán todos los archivos que existan con el prefijo y el bucket especificados, pero que no estén en el directorio local. En este ejemplo, el usuario sincroniza el depósito mybucket con el directorio actual local. El directorio actual local contiene los archivos test.txt ytest2.txt. El depósito mybucket contiene el objetotest3.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: Sincroniza todos los objetos locales con el depósito especificado, excepto los archivos ``.jpg``

El siguiente sync comando sincroniza los objetos con un prefijo y un bucket específicos con los archivos de un directorio local cargando los archivos locales en S3. Gracias a este --exclude parámetro, se excluirán de la sincronización todos los archivos que coincidan con el patrón existente tanto en S3 como a nivel local. En este ejemplo, el usuario sincroniza el depósito mybucket con el directorio actual local. El directorio actual local contiene los archivos test.jpg ytest2.txt. El depósito mybucket contiene el objeto test.jpg de un tamaño diferente al localtest.jpg:

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

Salida:

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

Ejemplo 6: Sincroniza todos los objetos locales con el depósito especificado, excepto los archivos ``.jpg``

El siguiente sync comando sincroniza los archivos de un directorio local con los objetos que tengan un prefijo y un bucket específicos mediante la descarga de objetos de S3. En este ejemplo, se utiliza el --exclude parámetro flag para excluir un directorio y un prefijo S3 específicos del comando. sync En este ejemplo, el usuario sincroniza el directorio actual local con el bucket. mybucket El directorio actual local contiene los archivos test.txt yanother/test2.txt. El depósito mybucket contiene los objetos another/test5.txt ytest1.txt:

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

Salida:

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

Ejemplo 7: Sincronizar todos los objetos entre depósitos de diferentes regiones

El siguiente sync comando sincroniza los archivos entre dos depósitos 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 S3

El siguiente sync comando 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 API obtener más información, consulte Sync in AWS CLI Command Reference.

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

AWS CLI

Para cargar parte de un objeto copiando datos de un objeto existente como fuente de datos

El siguiente upload-part-copy ejemplo carga una parte copiando datos de un objeto existente como fuente 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 API obtener más información, consulte UploadPartCopyla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar 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 ETag valor de cada parte para más adelante. Son necesarios para completar la carga multiparte.

  • Para API obtener más información, consulte UploadPartla Referencia de AWS CLI comandos.

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

AWS CLI

Configure un bucket de S3 como un sitio web estático

El siguiente comando configura un bucket my-bucket denominado sitio web estático. La opción del documento de índice especifica el archivo al my-bucket que se dirigirá a los visitantes cuando naveguen por el sitio webURL. En este caso, el depósito 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 depósito 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 de la configuración del sitio web del bucket.

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

Para obtener información sobre el alojamiento de un sitio web estático en Amazon S3, consulte Hospedaje de un sitio web estático en la Guía para desarrolladores de Amazon Simple Storage Service.

  • Para API obtener más información, consulte Website in AWS CLI Command Reference.