

È stata rilasciata la versione 5 (V5) di\$1 AWS Strumenti per PowerShell 

Per informazioni sulle modifiche introduttive e sulla migrazione delle applicazioni, consulta l'argomento sulla [migrazione](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)

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Amazon S3 e strumenti per Windows PowerShell
<a name="pstools-s3"></a>

In questa sezione, creiamo un sito Web statico AWS Tools for Windows PowerShell utilizzando Amazon S3 e. CloudFront Durante il processo, dimostriamo una serie di operazioni comuni con questi servizi. Questa spiegazione passo per passo è modellata sulla base della Guida introduttiva per l'[Hosting di un website statico](https://aws.amazon.com/getting-started/projects/host-static-website/), in cui viene descritto un processo analogo utilizzando la [Console di gestione AWS](https://console.aws.amazon.com/s3/home).

I comandi mostrati qui presuppongono che tu abbia impostato credenziali predefinite e una regione predefinite per la tua PowerShell sessione. Pertanto, le credenziali e le regioni non sono incluse nelle invocazioni dei cmdlet.

**Nota**  
Al momento non esiste un'API Amazon S3 per rinominare un bucket o un oggetto e, pertanto, non esiste un singolo PowerShell cmdlet Tools for Windows per eseguire questa attività. Per rinominare un oggetto in S3, si consiglia di copiare l'oggetto in uno con un nuovo nome, eseguendo il cmdlet, e quindi di eliminare l'oggetto originale eseguendo il [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)

**Consulta anche**
+  [AWS Servizi di chiamata in AWS Strumenti per PowerShell](pstools-using.md) 
+  [Hosting di un sito Web statico su Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html) 
+  [Console Amazon S3](https://console.aws.amazon.com/s3/home) 

**Topics**
+ [Creare un bucket Amazon S3, verificare la sua Regione e rimuoverlo se si desidera](pstools-s3-bucket-create.md)
+ [Configurare un bucket Amazon S3 come website e abilitare la registrazione](pstools-s3-create-website.md)
+ [Caricare oggetti in un bucket Amazon S3](pstools-s3-upload-object.md)
+ [Eliminare bucket e oggetti Amazon S3](pstools-s3-delete-website.md)
+ [Caricamento dei contenuti di testo in linea su Amazon S3](pstools-s3-upload-in-line-text.md)

# Creare un bucket Amazon S3, verificare la sua Regione e rimuoverlo se si desidera
<a name="pstools-s3-bucket-create"></a>

Utilizza il cmdlet `New-S3Bucket` per creare un nuovo bucket Amazon S3. Negli esempi seguenti viene creato un bucket denominato `website-example`. Il nome del bucket deve essere univoco in tutte le regioni. Nell'esempio viene creato il bucket nella regione `us-west-1`.

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

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

È possibile verificare la regione in cui si trova il bucket utilizzando il cmdlet `Get-S3BucketLocation`.

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

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

Al termine del tutorial, puoi usare la riga seguente per rimuovere questo bucket. Suggeriamo di lasciare questo bucket al suo posto visto che lo utilizziamo negli esempi successivi.

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

Il completamento del processo di rimozione del bucket potrebbe richiedere tempo. Se provi a ricreare immediatamente un bucket con lo stesso nome, il cmdlet `New-S3Bucket` può non avere esito positivo fino a quando il vecchio non è completamente eliminato.

## Vedi anche
<a name="pstools-seealso-s3-bucket-create"></a>
+  [AWS Servizi di chiamata in AWS Strumenti per PowerShell](pstools-using.md) 
+  [Inserimento del bucket (Amazon S3 Service Reference)](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUT.html) 
+  [AWS PowerShell Regioni per Amazon S3](https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region) 

# Configurare un bucket Amazon S3 come website e abilitare la registrazione
<a name="pstools-s3-create-website"></a>

Utilizza il cmdlet `Write-S3BucketWebsite` per configurare un bucket Amazon S3 come website statico. L'esempio seguente specifica un nome `index.html` per la pagina Web di contenuti e un nome `error.html` per la pagina Web di errore predefinita. Questo cmdlet non consente di creare tali pagine. Devono essere [caricate come oggetti di 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    :
```

## Vedi anche
<a name="pstools-seealso-s3-create-website"></a>
+  [AWS Servizi di chiamata in AWS Strumenti per PowerShell](pstools-using.md) 
+  [Inserire sito Web bucket (Amazon S3 API Reference)](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTwebsite.html) 
+  [Inserire Bucket ACL (Amazon S3 API Reference)](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTacl.html) 

# Caricare oggetti in un bucket Amazon S3
<a name="pstools-s3-upload-object"></a>

Utilizza il cmdlet `Write-S3Object` per caricare file dal file system locale in un bucket Amazon S3 come oggetti. L'esempio seguente crea e carica due semplici file HTML in un bucket Amazon S3 e verifica che gli oggetti siano stati caricati. Il parametro `-File` in `Write-S3Object` specifica il nome del file nel file system locale. Il parametro `-Key` specifica il nome che avrà l'oggetto corrispondente in Amazon S3.

Amazon deduce automaticamente il tipo di contenuto degli oggetti dalle estensioni dei file, in questo 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
```

 *Opzioni di ACL predefinite* 

I valori per specificare canned ACLs con Tools for Windows PowerShell sono gli stessi utilizzati da. AWS SDK per .NET Tieni presente, tuttavia, che questi sono diversi dai valori utilizzati dall'operazione Amazon S3`Put Object`. Gli strumenti per Windows PowerShell supportano quanto segue preimpostato: ACLs
+ NoACL
+ private
+ public-read
+ public-read-write
+ aws-exec-read
+ authenticated-read
+ bucket-owner-read
+ bucket-owner-full-control
+ log-delivery-write

Per ulteriori informazioni su queste impostazioni di ACL predefinite, consultare la pagina [Panoramica lista di controllo accessi (ACL)](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl).

## Nota riguardo il caricamento in più parti
<a name="note-regarding-multipart-upload"></a>

Se si utilizza l'API di Amazon S3 per caricare un file di dimensioni superiori a 5 GB, è necessario utilizzare il caricamento in più parti. Tuttavia, il `Write-S3Object` cmdlet fornito da Tools for Windows PowerShell può gestire in modo trasparente i caricamenti di file superiori a 5 GB.

### Test del sito Web
<a name="pstools-amazon-s3-test-website"></a>

A questo punto, è possibile testare il sito Web accedendovi tramite un browser. URLs per i siti Web statici ospitati in Amazon S3 seguono un formato standard.

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

Per esempio:

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

### Vedi anche
<a name="pstools-seealso-amazon-s3-test-website"></a>
+  [AWS Servizi di chiamata in AWS Strumenti per PowerShell](pstools-using.md) 
+  [Inserisci oggetto (Amazon S3 API Reference)](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPUT.html) 
+  [In scatola ACLs (riferimento all'API Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/dev/ACLOverview.html#CannedACL) 

# Eliminare bucket e oggetti Amazon S3
<a name="pstools-s3-delete-website"></a>

Questa sezione descrive come eliminare il sito Web creato nelle sezioni precedenti. È possibile semplicemente eliminare gli oggetti per i file HTML e quindi eliminare il bucket Amazon S3 per il sito.

Innanzitutto, esegui il cmdlet `Remove-S3Object` per eliminare gli oggetti per i file HTML dal bucket Amazon S3.

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

La risposta `False` è un artefatto previsto del modo in cui Amazon S3 elabora la richiesta. In questo contesto, non indica un problema.

Ora puoi eseguire il cmdlet `Remove-S3Bucket` per eliminare il bucket Amazon S3 ormai vuoto per il sito.

```
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    :
```

Nella versione 1.1 e successive di AWS Strumenti per PowerShell, è possibile aggiungere il `-DeleteBucketContent` parametro a`Remove-S3Bucket`, che elimina prima tutti gli oggetti e le versioni degli oggetti nel bucket specificato prima di provare a rimuovere il bucket stesso. A seconda del numero degli oggetti o delle versioni degli oggetti nel bucket, questa operazione potrebbe richiedere una notevole quantità di tempo. Nelle versioni degli Strumenti per Windows PowerShell precedenti alla 1.1, il bucket doveva essere vuoto prima di poterlo eliminare. `Remove-S3Bucket`

**Nota**  
A meno che non si aggiunga il `-Force` parametro, AWS Strumenti per PowerShell richiede una conferma prima dell'esecuzione del cmdlet.

## Vedi anche
<a name="pstools-seealso-amazon-s3-delete-website"></a>
+  [AWS Servizi di chiamata in AWS Strumenti per PowerShell](pstools-using.md) 
+  [Eliminazione di un oggetto (Amazon S3 API Reference)](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectDELETE.html) 
+  [DeleteBucket (Riferimento all'API Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketDELETE.html) 

# Caricamento dei contenuti di testo in linea su Amazon S3
<a name="pstools-s3-upload-in-line-text"></a>

Il cmdlet `Write-S3Object` supporta la possibilità di caricare contenuti di testo in linea su Amazon S3. Utilizzando il parametro `-Content` (alias `-Text`), è possibile specificare contenuti basati su testo che devono essere caricati su Amazon S3 senza la necessità di trasferirli prima in un file. Il parametro accetta stringhe semplici di una sola riga e anche here strings che contengono più righe.

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