

Outils AWS pour PowerShell La V4 est passée en mode maintenance.

Nous vous recommandons de migrer vers la [Outils AWS pour PowerShell version 5](https://docs.aws.amazon.com/powershell/v5/userguide/). Pour plus de détails et d'informations sur la façon de migrer, veuillez consulter notre [annonce relative au mode de maintenance](https://aws.amazon.com/blogs/developer/aws-tools-for-powershell-v4-maintenance-mode-announcement/).

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Amazon S3 et outils pour Windows PowerShell
<a name="pstools-s3"></a>

Dans cette section, nous créons un site Web statique à l' AWS Tools for Windows PowerShell aide d'Amazon S3 et CloudFront. Dans le processus, nous proposons un certain nombre de tâches courantes avec ces services. Cette procédure est modélisée d'après la procédure d'[hébergement d'un site Web statique](https://aws.amazon.com/getting-started/projects/host-static-website/) du Guide de démarrage, qui décrit un processus similaire en utilisant la [AWS Management Console](https://console.aws.amazon.com/s3/home).

Les commandes présentées ici supposent que vous avez défini des informations d'identification par défaut et une région par défaut pour votre PowerShell session. Par conséquent, les informations d'identification et les régions ne sont pas incluses dans l'appel des applets de commande.

**Note**  
Il n'existe actuellement aucune API Amazon S3 permettant de renommer un compartiment ou un objet, et par conséquent, aucune PowerShell applet de commande Tools for Windows ne permet d'effectuer cette tâche. Pour renommer un objet dans S3, nous vous recommandons de le copier vers un objet portant un nouveau nom, en exécutant l'[Copy-S3Object](https://docs.aws.amazon.com/powershell/v4/reference/items/Copy-S3Object.html)applet de commande, puis de supprimer l'objet d'origine en exécutant l'applet de commande. [Remove-S3Object](https://docs.aws.amazon.com/powershell/v4/reference/items/Remove-S3Object.html)

**Consultez aussi**
+  [Travaillez avec AWS les services du Outils AWS pour PowerShell](pstools-using.md) 
+  [Hébergement d'un site web statique sur Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html) 
+  [Console Amazon S3](https://console.aws.amazon.com/s3/home) 

**Topics**
+ [Créer un compartiment Amazon S3, vérifier sa région et le supprimer (facultatif)](pstools-s3-bucket-create.md)
+ [Configuration d'un compartiment Amazon S3 comme site Web et activation de la journalisation](pstools-s3-create-website.md)
+ [Charger les objets sur un compartiment Amazon S3](pstools-s3-upload-object.md)
+ [Suppression d'objets et de compartiments Amazon S3](pstools-s3-delete-website.md)
+ [Charger du contenu du texte en ligne sur Amazon S3](pstools-s3-upload-in-line-text.md)

# Créer un compartiment Amazon S3, vérifier sa région et le supprimer (facultatif)
<a name="pstools-s3-bucket-create"></a>

Utilisez l'applet de commande `New-S3Bucket` pour créer un nouveau compartiment Amazon S3. Les exemples suivants créent un compartiment nommé `website-example`. Le nom du compartiment doit être unique dans toutes les régions. L'exemple montre comment créer le compartiment dans la région `us-west-1`.

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

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

Vous pouvez vérifier la région dans laquelle le compartiment se trouve à l'aide de l'applet de commande `Get-S3BucketLocation`.

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

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

Une fois que vous avez terminé ce didacticiel, vous pouvez utiliser la ligne suivante pour supprimer ce compartiment. Nous vous conseillons de laisser ce compartiment en place, car nous l'utiliserons dans de prochains exemples.

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

Notez que le processus de suppression du compartiment peut prendre un certain temps. Si vous essayez de recréer immédiatement un compartiment du même nom, l'applet de commande `New-S3Bucket` peut échouer tant que l'ancien compartiment n'a pas complètement disparu.

## Voir aussi
<a name="pstools-seealso-s3-bucket-create"></a>
+  [Travaillez avec AWS les services du Outils AWS pour PowerShell](pstools-using.md) 
+  [Put Bucket (Référence des services Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUT.html) 
+  [AWS PowerShell Régions pour Amazon S3](https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region) 

# Configuration d'un compartiment Amazon S3 comme site Web et activation de la journalisation
<a name="pstools-s3-create-website"></a>

Utilisez l'applet de commande `Write-S3BucketWebsite` pour configurer un compartiment Amazon S3 comme site Web statique. L'exemple suivant spécifie le nom `index.html` pour la page Web de contenu par défaut et le nom `error.html` pour la page Web d'erreur par défaut. Notez que l'applet de commande ne crée pas ces pages. Elles doivent être [chargées en tant qu'objets 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    :
```

## Voir aussi
<a name="pstools-seealso-s3-create-website"></a>
+  [Travaillez avec AWS les services du Outils AWS pour PowerShell](pstools-using.md) 
+  [Autorisation PutBucketWebsite (Référence d'API Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTwebsite.html) 
+  [Autorisation PutBucketACL (Référence d'API Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTacl.html) 

# Charger les objets sur un compartiment Amazon S3
<a name="pstools-s3-upload-object"></a>

Utilisez l'applet de commande `Write-S3Object` pour charger des fichiers de votre système de fichiers local dans un compartiment Amazon S3 en tant qu'objets. L'exemple ci-dessous crée et charge deux fichiers HTML simples dans un compartiment Amazon S3 et vérifie l'existence des objets chargés. Le paramètre `-File` de `Write-S3Object` spécifie le nom du fichier dans le système de fichiers local. Le paramètre `-Key` spécifie le nom que l'objet correspondant aura dans Amazon S3.

Amazon déduit le type de contenu des objets à partir des extensions de fichier : « .html », dans le cas présent.

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

 *Options ACL prêtes à l'emploi* 

Les valeurs permettant de spécifier l' ACLs analyse à l'aide des outils pour Windows PowerShell sont les mêmes que celles utilisées par le AWS SDK pour .NET. Notez, cependant, que ces valeurs sont différentes de celles utilisées par l'action du `Put Object` Amazon S3. Les outils pour Windows PowerShell prennent en charge les versions prédéfinies suivantes ACLs :
+ NoACL
+ privé
+ public-read
+ public-read-write
+ aws-exec-read
+ authenticated-read
+ bucket-owner-read
+ bucket-owner-full-control
+ log-delivery-write

Pour plus d'informations sur ces paramètres de listes ACL prêtes à l'emploi, consultez [Présentation de la liste de contrôle d'accès (ACL)](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl).

## Remarque concernant le chargement en plusieurs parties
<a name="note-regarding-multipart-upload"></a>

Si vous utilisez l'API Amazon S3 pour charger un fichier qui dépasse 5 Go, vous devez utiliser le chargement en plusieurs parties. Cependant, l'`Write-S3Object`applet de commande fournie par les Outils pour Windows PowerShell peut gérer de manière transparente les téléchargements de fichiers supérieurs à 5 Go.

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

À ce stade, vous pouvez tester le site Web en y accédant à l'aide d'un navigateur. URLs pour les sites Web statiques hébergés dans Amazon S3, suivez un format standard.

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

Par exemple :

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

### consultez aussi
<a name="pstools-seealso-amazon-s3-test-website"></a>
+  [Travaillez avec AWS les services du Outils AWS pour PowerShell](pstools-using.md) 
+  [PutObject (Référence d'API Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPUT.html) 
+  [Canned ACLs (référence d'API Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/dev/ACLOverview.html#CannedACL) 

# Suppression d'objets et de compartiments Amazon S3
<a name="pstools-s3-delete-website"></a>

Cette section décrit comment supprimer le site Web que vous avez créé dans les sections précédentes. Vous pouvez supprimer simplement les objets des fichiers HTML, puis supprimer le compartiment Amazon S3 du site.

Exécutez d'abord l'applet de commande `Remove-S3Object` pour supprimer les objets des fichiers HTML du compartiment Amazon S3.

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

La réponse `False` est un artefact attendu de la façon dont Amazon S3 traite la demande. Dans ce contexte, elle n'indique pas de problème.

Exécutez ensuite l'applet de commande `Remove-S3Bucket` pour supprimer le compartiment Amazon S3 désormais vide du site.

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

Dans les versions 1.1 et ultérieures de Outils AWS pour PowerShell, vous pouvez ajouter le `-DeleteBucketContent` paramètre to`Remove-S3Bucket`, qui supprime d'abord tous les objets et toutes les versions d'objets du compartiment spécifié avant d'essayer de supprimer le compartiment lui-même. Selon le nombre d'objets ou versions d'objet du compartiment, cette opération peut prendre un certain temps. Dans les versions des outils pour Windows PowerShell antérieures à 1.1, le compartiment devait être vide avant de `Remove-S3Bucket` pouvoir le supprimer.

**Note**  
À moins que vous n'ajoutiez le `-Force` paramètre, vous Outils AWS pour PowerShell invite à confirmer avant l'exécution de l'applet de commande.

## consultez aussi
<a name="pstools-seealso-amazon-s3-delete-website"></a>
+  [Travaillez avec AWS les services du Outils AWS pour PowerShell](pstools-using.md) 
+  [Delete Object (Référence d'API Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectDELETE.html) 
+  [DeleteBucket (Référence d'API Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketDELETE.html) 

# Charger du contenu du texte en ligne sur Amazon S3
<a name="pstools-s3-upload-in-line-text"></a>

L'applet de commande `Write-S3Object` permet de charger du contenu de texte en ligne dans Amazon S3. Avec le paramètre `-Content` (alias `-Text`), vous pouvez spécifier le contenu texte qui doit être chargé dans Amazon S3, sans avoir besoin de le placer d'abord dans un fichier. Le paramètre accepte les chaînes d'une ligne simples, ainsi que, comme ici, les chaînes contenant plusieurs lignes.

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