

¡Se Herramientas de AWS para PowerShell ha lanzado la versión 5 (V5) del\$1

Para obtener información sobre los cambios más importantes y la migración de sus aplicaciones, consulte el tema [sobre migración](https://docs.aws.amazon.com/powershell/v5/userguide/migrating-v5.html).

 [https://docs.aws.amazon.com/powershell/v5/userguide/migrating-v5.html](https://docs.aws.amazon.com/powershell/v5/userguide/migrating-v5.html)

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.

# Amazon S3 y herramientas para Windows PowerShell
<a name="pstools-s3"></a>

En esta sección, creamos un sitio web estático AWS Tools for Windows PowerShell utilizando Amazon S3 y CloudFront. En el proceso, mostraremos una serie de tareas comunes con estos servicios. Esta explicación sigue la Guía de introducción para [Alojar un sitio web estático](https://aws.amazon.com/getting-started/projects/host-static-website/), que describe un proceso similar con el uso de la [consola de administración de AWS](https://console.aws.amazon.com/s3/home).

Los comandos que se muestran aquí asumen que ha establecido las credenciales predeterminadas y una región predeterminada para su PowerShell sesión. Por lo tanto, las credenciales y las regiones no se incluyen en la invocación de los cmdlets.

**nota**  
Actualmente, no existe una API de Amazon S3 para cambiar el nombre de un bucket o un objeto y, por lo tanto, no hay un PowerShell cmdlet único de Tools for Windows para realizar esta tarea. Para cambiar el nombre de un objeto en S3, se recomienda copiar el objeto en uno con un nombre nuevo ejecutando el cmdlet y, a continuación, eliminar el objeto original ejecutando el [Copy-S3Object](https://docs.aws.amazon.com/powershell/v5/reference/items/Copy-S3Object.html)cmdlet. [Remove-S3Object](https://docs.aws.amazon.com/powershell/v5/reference/items/Remove-S3Object.html)

**Véase también**
+  [AWS Servicios de llamadas en el Herramientas de AWS para PowerShell](pstools-using.md) 
+  [Alojamiento de un sitio web estático en Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html) 
+  [Consola de Amazon S3](https://console.aws.amazon.com/s3/home) 

**Topics**
+ [Creación de un bucket de Amazon S3, verificación de su región y eliminación de este (opcional)](pstools-s3-bucket-create.md)
+ [Configuración de un bucket de Amazon S3 como un sitio web y habilitación del registro](pstools-s3-create-website.md)
+ [Carga de objetos en un bucket de Amazon S3](pstools-s3-upload-object.md)
+ [Eliminación de objetos y buckets de Amazon S3](pstools-s3-delete-website.md)
+ [Carga de contenido de texto insertado en Amazon S3](pstools-s3-upload-in-line-text.md)

# Creación de un bucket de Amazon S3, verificación de su región y eliminación de este (opcional)
<a name="pstools-s3-bucket-create"></a>

Utilice el cmdlet `New-S3Bucket` para crear un nuevo bucket de Amazon S3. En los ejemplos siguientes se crea un bucket denominado `website-example`. El nombre del bucket debe ser único en todas las regiones. En el ejemplo el bucket se crea en la región `us-west-1`.

```
PS > New-S3Bucket -BucketName website-example -Region us-west-2

CreationDate         BucketName
------------         ----------
8/16/19 8:45:38 PM   website-example
```

Puede verificar la región en la que se encuentra el bucket con el cmdlet `Get-S3BucketLocation`.

```
PS > Get-S3BucketLocation -BucketName website-example

Value
-----
us-west-2
```

Cuando haya terminado este tutorial, puede utilizar la siguiente línea para eliminar este bucket. Le recomendamos que mantenga este bucket ya que lo usaremos en los siguientes ejemplos.

```
PS > Remove-S3Bucket -BucketName website-example
```

Tenga en cuenta que el proceso de eliminación del bucket puede tardar algún tiempo en completarse. Si intenta volver a crear un bucket inmediatamente con el mismo nombre, el cmdlet `New-S3Bucket` puede producir un error hasta que el bucket anterior haya desaparecido por completo.

## Véase también
<a name="pstools-seealso-s3-bucket-create"></a>
+  [AWS Servicios de llamadas en el Herramientas de AWS para PowerShell](pstools-using.md) 
+  [Put Bucket (Referencia del servicio de Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUT.html) 
+  [AWS PowerShell Regiones de Amazon S3](https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region) 

# Configuración de un bucket de Amazon S3 como un sitio web y habilitación del registro
<a name="pstools-s3-create-website"></a>

Utilice el cmdlet `Write-S3BucketWebsite` para configurar un bucket de Amazon S3 como un sitio web estático. El siguiente ejemplo especifica un nombre de `index.html` para la página web de contenido predeterminada y un nombre de `error.html` para la página web de error predeterminada. Tenga en cuenta que este cmdlet no crea esas páginas. Deben ser [cargados como objetos de Amazon S3](pstools-s3-upload-object.md).

```
PS > Write-S3BucketWebsite -BucketName website-example -WebsiteConfiguration_IndexDocumentSuffix index.html -WebsiteConfiguration_ErrorDocument error.html
RequestId      : A1813E27995FFDDD
AmazonId2      : T7hlDOeLqA5Q2XfTe8j2q3SLoP3/5XwhUU3RyJBGHU/LnC+CIWLeGgP0MY24xAlI
ResponseStream :
Headers        : {x-amz-id-2, x-amz-request-id, Content-Length, Date...}
Metadata       : {}
ResponseXml    :
```

## Véase también
<a name="pstools-seealso-s3-create-website"></a>
+  [AWS Servicios de llamadas en el Herramientas de AWS para PowerShell](pstools-using.md) 
+  [Put Bucket Website (Referencia de la API de Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTwebsite.html) 
+  [Put Bucket ACL (Referencia de la API de Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTacl.html) 

# Carga de objetos en un bucket de Amazon S3
<a name="pstools-s3-upload-object"></a>

Utilice el cmdlet `Write-S3Object` para cargar archivos del sistema de archivos local en un bucket de Amazon S3 como objetos. En el siguiente ejemplo se crean y cargan dos archivos HTML sencillos en un bucket de Amazon S3 y se verifica la existencia de los objetos cargados. El parámetro `-File` de `Write-S3Object` especifica el nombre del archivo en el sistema de archivos local. El parámetro `-Key` especifica el nombre que el objeto correspondiente tendrá en Amazon S3.

Amazon determina el tipo de contenido de los objetos de las extensiones de archivo (en este caso, ".html").

```
PS > # Create the two files using here-strings and the Set-Content cmdlet
PS > $index_html = @"
>> <html>
>>   <body>
>>     <p>
>>       Hello, World!
>>     </p>
>>   </body>
>> </html>
>> "@
>>
PS > $index_html | Set-Content index.html
PS > $error_html = @"
>> <html>
>>   <body>
>>     <p>
>>       This is an error page.
>>     </p>
>>   </body>
>> </html>
>> "@
>>
>>$error_html | Set-Content error.html
>># Upload the files to Amazon S3 using a foreach loop
>>foreach ($f in "index.html", "error.html") {
>> Write-S3Object -BucketName website-example -File $f -Key $f -CannedACLName public-read
>> }
>>
PS > # Verify that the files were uploaded
PS > Get-S3BucketWebsite -BucketName website-example

IndexDocumentSuffix                                         ErrorDocument
-------------------                                         -------------
index.html                                                  error.html
```

 *Opciones de ACL empaquetadas* 

Los valores para especificar los valores predeterminados ACLs con las Herramientas para Windows PowerShell son los mismos que los utilizados por AWS SDK para .NET. Tenga en cuenta, sin embargo, que son diferentes de los valores utilizados por la acción `Put Object` de Amazon S3. Las herramientas para Windows PowerShell admiten las siguientes opciones predefinidas ACLs:
+ NoACL
+ private
+ public-read
+ public-read-write
+ aws-exec-read
+ authenticated-read
+ bucket-owner-read
+ bucket-owner-full-control
+ log-delivery-write

Para obtener más información acerca de estos ajustes de listas de control de acceso empaquetadas, consulte [Información general de las Access Control Lists (ACL, Listas de control de acceso)](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl).

## Nota relativa a la carga multiparte
<a name="note-regarding-multipart-upload"></a>

Si utiliza la API de Amazon S3 para cargar un archivo que sobrepasa los 5 GB de tamaño, debe utilizar la carga multiparte. Sin embargo, el `Write-S3Object` cmdlet proporcionado por las Herramientas para Windows PowerShell puede gestionar de forma transparente las cargas de archivos que superen los 5 GB.

### Probar el sitio web
<a name="pstools-amazon-s3-test-website"></a>

En este punto, puede probar el sitio web navegando hasta él con un navegador. URLs para los sitios web estáticos alojados en Amazon S3, siga un formato estándar.

```
http://<bucket-name>.s3-website-<region>.amazonaws.com
```

Por ejemplo:

```
http://website-example.s3-website-us-west-1.amazonaws.com
```

### Véase también
<a name="pstools-seealso-amazon-s3-test-website"></a>
+  [AWS Servicios de llamadas en el Herramientas de AWS para PowerShell](pstools-using.md) 
+  [Put Object (Referencia de la API de Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPUT.html) 
+  [Enlatado ACLs (referencia de la API de Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/dev/ACLOverview.html#CannedACL) 

# Eliminación de objetos y buckets de Amazon S3
<a name="pstools-s3-delete-website"></a>

En esta sección se describe cómo eliminar el sitio web que creó en las secciones anteriores. Puede simplemente eliminar los objetos de los archivos HTML y, a continuación, eliminar el bucket de Amazon S3 del sitio.

En primer lugar, ejecute el cmdlet `Remove-S3Object` para eliminar los objetos de los archivos HTML del bucket de Amazon S3.

```
PS > foreach ( $obj in "index.html", "error.html" ) {
>> Remove-S3Object -BucketName website-example -Key $obj
>> }
>> 
IsDeleteMarker
--------------
False
```

La respuesta `False` es un artefacto esperado de la forma en la que Amazon S3 procesa la solicitud. En este contexto, no indica un problema.

Ahora, ejecute el cmdlet `Remove-S3Bucket` para eliminar el bucket de Amazon S3 que ahora está vacío del sitio.

```
PS > Remove-S3Bucket -BucketName website-example

RequestId      : E480ED92A2EC703D
AmazonId2      : k6tqaqC1nMkoeYwbuJXUx1/UDa49BJd6dfLN0Ls1mWYNPHjbc8/Nyvm6AGbWcc2P
ResponseStream :
Headers        : {x-amz-id-2, x-amz-request-id, Date, Server}
Metadata       : {}
ResponseXml    :
```

En la versión 1.1 y versiones posteriores de Herramientas de AWS para PowerShell, puede añadir el `-DeleteBucketContent` parámetro a`Remove-S3Bucket`, que primero elimina todos los objetos y las versiones de los objetos del depósito especificado antes de intentar eliminar el propio depósito. En función del número de objetos o versiones de objeto del bucket, esta operación puede tardar una cantidad de tiempo considerable. En las versiones de las Herramientas para Windows PowerShell anteriores a la 1.1, el depósito tenía que estar vacío para `Remove-S3Bucket` poder eliminarlo.

**nota**  
A menos que agregue el `-Force` parámetro, Herramientas de AWS para PowerShell solicitará su confirmación antes de ejecutar el cmdlet.

## Véase también
<a name="pstools-seealso-amazon-s3-delete-website"></a>
+  [AWS Servicios de llamadas en el Herramientas de AWS para PowerShell](pstools-using.md) 
+  [Delete Object (Referencia de la API de Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectDELETE.html) 
+  [DeleteBucket (Referencia de la API de Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketDELETE.html) 

# Carga de contenido de texto insertado en Amazon S3
<a name="pstools-s3-upload-in-line-text"></a>

El cmdlet `Write-S3Object` permite cargar contenido de texto insertado en Amazon S3. Con el parámetro `-Content` (alias `-Text`), puede especificar el contenido de texto que debe cargarse en Amazon S3 sin necesidad de incluirlo primero en un archivo. El parámetro acepta cadenas sencillas de una sola línea, así como cadenas de varias líneas.

```
PS > # Specifying content in-line, single line text:
PS > write-s3object amzn-s3-demo-bucket -key myobject.txt -content "file content"

PS > # Specifying content in-line, multi-line text: (note final newline needed to end in-line here-string)
PS > write-s3object amzn-s3-demo-bucket -key myobject.txt -content @"
>> line 1
>> line 2
>> line 3
>> "@
>> 
PS > # Specifying content from a variable: (note final newline needed to end in-line here-string)
PS > $x = @"
>> line 1
>> line 2
>> line 3
>> "@
>> 
PS > write-s3object amzn-s3-demo-bucket -key myobject.txt -content $x
```