La version 5 (V5) du Outils AWS pour PowerShell est sortie !
Pour plus d'informations sur l'interruption des modifications et la migration de vos applications, consultez la rubrique sur la migration.
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.
Utiliser Amazon S3 comme PowerShell lecteur
S'applique à : AWS.Tools.S3 5.0.288 et versions ultérieures. Le fournisseur de lecteur S3 et ses applets de commande sont fournis dans le AWS.Tools.S3 module, qui s'exécute sous Windows PowerShell 5.1 et versions PowerShell ultérieures (Windows, Linux, macOS).
Le PowerShell lecteur S3 vous permet de monter le stockage Amazon S3 en tant que lecteur et de l'utiliser de la même manière que vous travaillez avec un disque local. Une fois que vous avez monté un lecteur, le fournisseur présente les compartiments et les préfixes sous forme de dossiers et les objets sous forme de fichiers. Les commandes de navigation courantes fonctionnent directement avec S3 Set-LocationGet-ChildItem, notammentGet-Content,Set-Content, etRemove-Item.
Cette rubrique couvre l'installation, le montage, la navigation, le transfert de contenu et le démontage, ainsi que les informations d'identification, la région et le comportement de sécurité du lecteur S3.
Les séparateurs de chemins diffèrent selon la plate-forme
Les exemples de cette rubrique utilisent / comme séparateur de chemin, que le lecteur accepte sur toutes les plateformes. Sous Windows, le lecteur accepte également\, donc S3:\amzn-s3-demo-bucket\reports et y S3:/amzn-s3-demo-bucket/reports sont équivalents. Sous Linux et macOS, / il n'y a qu'un séparateur. Utilisez donc ce formulaire dans les scripts qui s'exécutent sur plusieurs plateformes. Les chemins restitués par le disque, par exemplePSPath, utilisent le séparateur natif du système d'exploitation : \ sous Windows, / Linux et macOS.
Conditions préalables
-
Le
AWS.Tools.S3module, version 5.0.288 ou ultérieure. Installez-le directement depuis la PowerShell Galerie (cela entraîne également saAWS.Tools.Commondépendance) :Install-Module -Name AWS.Tools.S3 -MinimumVersion 5.0.288Ou, si vous gérez les outils modulaires avec le
AWS.Tools.Installermodule, installez-le d'abord, puis utilisezInstall-AWSToolsModule:Install-Module -Name AWS.Tools.Installer # provides Install-AWSToolsModule Install-AWSToolsModule AWS.Tools.S3Le fournisseur de lecteur et ses applets de commande sont fournis à l'intérieur.
AWS.Tools.S3Aucune installation supplémentaire n'est requise. -
AWS informations d'identification configurées de la même manière que pour n'importe quelle applet de commande S3 (profil nommé, variables d'environnement, rôle IAM ou SSO). Pour plus d’informations, consultez Commencez avec le Outils AWS pour PowerShell.
L'importation du module enregistre un PowerShell fournisseur nomméAWS.S3. Vous pouvez confirmer qu'il est disponible :
Get-PSProvider AWS.S3
Monter un lecteur
Mount-S3PSDriveUtilisez-le pour créer un lecteur. Le -Name paramètre devient le nom du lecteur dans chaque chemin (par exemple, il vous -Name S3 donne des chemins tels queS3:/amzn-s3-demo-bucket/reports/index.txt).
# Mount an S3: drive using a named profile and Region Mount-S3PSDrive -Name S3 -ProfileName my-profile -Region us-east-1 # List buckets Get-ChildItem S3:/
Exemple de sortie :
Type LastModified Size Name ---- ------------ ---- ---- Bucket 2026-06-02 09:14:03 amzn-s3-demo-app-logs Bucket 2026-01-08 16:47:51 amzn-s3-demo-reports
Si vous avez déjà défini les paramètres de session par défaut avec Set-AWSCredential etSet-DefaultAWSRegion, vous pouvez effectuer le montage sans aucun autre paramètre :
Set-AWSCredential -ProfileName my-profile Set-DefaultAWSRegion us-west-2 Mount-S3PSDrive -Name S3
Mount-S3PSDriveest une fine enveloppe recouvrant le boîtier PowerShell intégréNew-PSDrive. Si vous préférez, vous pouvez créer le lecteur directement et transmettre les mêmes paramètres d'identification et de région :
New-PSDrive -Name S3 -PSProvider AWS.S3 -Root '' -Scope Global -ProfileName my-profile -Region us-east-1
Utilisation New-PSDrive directe
Passez -Scope Global lorsque vous l'utilisez New-PSDrive directement. Sans elle, le lecteur est créé dans l'étendue actuelle et disparaît lorsque cette étendue se ferme (par exemple, lorsque le script ou la fonction qui l'a créé revient). Mount-S3PSDrivedes sets -Scope Global pour toi.
Par défaut, il ne Mount-S3PSDrive produit aucune sortie. Ajoutez -PassThru si vous voulez récupérer l'PSDriveInfoobjet.
Nom du paramètre d'identification
Le paramètre d'identification est nommé-AWSCredential, pas-Credential. New-PSDriveest déjà défini -Credential comme unPSCredential, qui est un type différent, de sorte que le lecteur S3 utilise un nom distinct pour éviter une collision.
Comment les informations d'identification et la région sont résolues
Un lecteur S3 authentifie et sélectionne une région exactement comme le font les applets de commande S3 : d'abord les paramètres explicites, puis les valeurs par défaut de la session définies par Set-AWSCredential etSet-DefaultAWSRegion, puis le profil, l'environnement et les sources de métadonnées d'instance des chaînes par défaut du SDK. Pour la commande en pleine résolution, voir Utilisation des AWS informations d'identification etSpécifiez AWS la région pour Outils AWS pour PowerShell.
Si rien n'alimente une région, le lecteur revient àus-east-1. La région dans laquelle vous effectuez le montage n'est que la région de départ : un seul lecteur peut atteindre plusieurs régions (voirAccédez à des compartiments dans toutes les régions à partir d'un seul lecteur).
Un profil incorrect ou un compartiment ou un préfixe manquant échoue àMount-S3PSDrive. Certaines erreurs d'autorisation peuvent ne pas apparaître tant que vous n'avez pas accédé à un objet.
Naviguez sur Amazon S3 comme sur un lecteur local
Après avoir monté le lecteur, naviguez à l'aide des commandes PowerShell de disque courantes. S3 ne possède pas de véritables dossiers, mais le fournisseur présente les préfixes sous forme de dossiers afin que vous puissiez y naviguer de la même manière.
# Change into a bucket, then a prefix Set-Location S3:/amzn-s3-demo-reports/2026 # List the current location Get-ChildItem
Exemple de sortie :
Type LastModified Size Name ---- ------------ ---- ---- Folder q1 Folder q2 Object 2026-03-31 18:02:11 48210 summary.txt
# List a path without changing location Get-ChildItem S3:/amzn-s3-demo-bucket/reports/2026
La saisie par tabulation fonctionne pour les compartiments, les préfixes et les objets. Vous pouvez donc compléter un chemin sans entrer de nom complet.
Get-ChildItemrenvoie chaque élément sous la forme d'un objet qui expose les LastModified propriétés NameType,Size, et. Ces propriétés permettent aux listes d'accéder directement à des commandes telles que Where-Object etSort-Object. Typeest l'un des BucketFolder, ouObject. Les dossiers et les seaux n'ont aucune taille.
# List the 10 largest objects with the prefix "2026" Get-ChildItem S3:/amzn-s3-demo-app-logs/2026 -Recurse | Where-Object Type -eq 'Object' | Sort-Object Size -Descending | Select-Object -First 10 Name, Size, LastModified
D'autres commandes de navigation fonctionnent également sur le lecteur :
# Retrieve the single item at an exact path (no children) Get-Item S3:/amzn-s3-demo-bucket/reports/index.txt # Test whether a path exists and whether it is a folder or an object Test-Path S3:/amzn-s3-demo-bucket/reports # -> True Test-Path S3:/amzn-s3-demo-bucket/reports -PathType Container # -> True (a prefix) Test-Path S3:/amzn-s3-demo-bucket/reports/index.txt -PathType Leaf # -> True (an object)
Les alias de commande diffèrent selon le système d'exploitation
Il s'agit d' PowerShellun comportement, pas d'une pulsion. Sous Windows, les Unix-style alias et cat le ls rm mappage vers les PowerShell applets de commande fonctionnent donc. ls S3:/amzn-s3-demo-bucket Sur Linux et macOS, PowerShell laisse ces noms liés aux outils natifs (/bin/ls/bin/rm,,/bin/cat), qui ne reconnaissent aucun chemin S3. En conséquence, ls S3:/amzn-s3-demo-bucket exécute le système ls et échoue. Pour les scripts qui s'exécutent sur toutes les plateformes, utilisez les noms complets des cmdlets : Get-ChildItemRemove-Item, et. Get-Content (cdet dir sont aliasés sur toutes les plateformes, ils fonctionnent donc partout.)
Avec-Recurse, la clé d'un élément Name est sa clé par rapport au préfixe (il peut donc contenir/), et le même nom de feuille peut apparaître sous différents préfixes. Lorsque vous devez identifier un élément répertorié sans ambiguïté (par exemple, pour le rediriger vers la suite), utilisez-le plutôt que. PSPath Name
Répertorier les objets de AsByteStream la liste avec - sous Windows PowerShell 5.1
La Get-ChildItem tuyauterie Get-Content -AsByteStream peut échouer sous Windows PowerShell 5.1. Le moteur peut se lier -AsByteStream avant de savoir que l'entrée canalisée est un chemin S3, et le FileSystem fournisseur de la version 5.1 n'a aucun paramètre de ce type (voirLa lecture des octets des fichiers locaux varie selon l'édition). Lisez PSPath plutôt chaque article par son caractère explicite, ce qui fonctionne sur les deux éditions :
# Read each listed object by explicit PSPath Get-ChildItem S3:/amzn-s3-demo-bucket/prefix | ForEach-Object { Get-Content -LiteralPath $_.PSPath -AsByteStream -Raw }
Sur les PowerShell versions 7+, le canal direct fonctionne, mais le formulaire par élément est une valeur par défaut sûre pour les scripts qui s'exécutent sur les deux éditions.
Les annonces peuvent être interrompues en toute sécurité
Les listes sont diffusées au fur et à mesure que chaque page de résultats provient de S3 et peuvent être interrompues en toute sécurité avec Ctrl+C. Un préfixe contenant un grand nombre d'objets commence à produire une sortie immédiatement au lieu d'attendre la fin de la liste complète.
Caractères génériques dans les touches
Les clés S3 peuvent légalement contenir des caractères PowerShell génériques ([,, ]*,?). Pour adresser littéralement une telle clé, utilisez -LiteralPath (supporté parGet-Item, Get-ContentSet-Content, etRemove-Item) de la même manière que vous le faites sur le fournisseur du système de fichiers :
Get-Content -LiteralPath 'S3:/amzn-s3-demo-bucket/data[2026].csv' -Raw
Test-Path et des objets que vous ne pouvez pas lire
Test-Pathrenvoie $true un chemin que vous ne pouvez pas lire. Cela confirme que le chemin est résolu ; cela ne confirme pas que vous êtes autorisé à le lire ou à l'écrire.
Lire des objets depuis S3
Get-Contenttélécharge un objet. Par défaut, il renvoie le texte ligne par ligne. Ajoutez -Raw pour renvoyer l'objet entier sous la forme d'une seule chaîne. À la fois Get-Content et Set-Content support -Encoding pour le texte et -AsByteStream pour le contenu binaire.
# Read an object line by line Get-Content S3:/amzn-s3-demo-reports/2026/summary.txt # Read the whole object as one string Get-Content S3:/amzn-s3-demo-reports/2026/summary.txt -Raw
Pour les objets non textuels, utilisez -AsByteStream pour obtenir les octets bruts. Sur un chemin S3, cela fonctionne à la fois sur PowerShell 7+ et Windows PowerShell 5.1 car le fournisseur S3 fournit le paramètre. Seuls les fichiers locaux diffèrent selon l'édition (voirLa lecture des octets des fichiers locaux varie selon l'édition). Pour contrôler le décodage du texte, ajoutez-le -Encoding à l'un des noms de PowerShell codage standard (UTF8UTF8BOMUnicode,ASCII,, etc.). La valeur par défaut est UTF-8 sans nomenclature, à la fois sur Get-Content etSet-Content.
# Read raw bytes Get-Content S3:/amzn-s3-demo-bucket/images/logo.png -AsByteStream -Raw # Decode as a specific text encoding Get-Content S3:/amzn-s3-demo-bucket/data/report.csv -Encoding UTF8
Get-Contentaccepte également -PartSize de définir la taille des parties du téléchargement en plusieurs parties, en octets, entre le minimum S3 de 5 Mo et le maximum de 5 GiB. Il est -PartSize activéSet-Content, ce qui définit la taille de la partie chargée (voirTéléchargez des objets de très grande taille).
Lecture d'octets bruts dans une variable
Si vous chargez les octets d'un objet dans une variable (pour les hacher, les mesurer ou les transmettre à une autre API), aplatissez d'abord le -AsByteStream résultat. Dans le cas contraire, .Length les comparaisons d'octets produisent des résultats incorrects :
$bytes = [byte[]]((Get-Content S3:/amzn-s3-demo-bucket/images/logo.png -AsByteStream -Raw) | ForEach-Object { $_ })
La redirection vers un fichier ou une autre commande (par exempleSet-Content -AsByteStream, comme dansCopier des objets entre S3 et le disque local) ne nécessite aucun aplatissement.
Écrire des objets dans S3
Set-Contenttélécharge (et remplace) un objet.
# Write text Set-Content S3:/amzn-s3-demo-reports/2026/notes.txt -Value 'Draft complete' # Write several lines Set-Content S3:/amzn-s3-demo-bucket/notes/list.txt -Value @('alpha', 'beta', 'gamma') # Write raw bytes Set-Content S3:/amzn-s3-demo-bucket/images/logo.png -AsByteStream -Value $bytes
Les options de téléchargement sont les suivantes :
| Paramètre | Objectif |
|---|---|
|
Codage du texte pour les octets connectés au câble (par défaut UTF-8, pas de nomenclature). |
|
Omettez la nouvelle ligne de fin après chaque valeur de texte. |
|
Classe de stockage pour cet objet (par exemple |
|
Taille des parties en plusieurs parties pour ce téléchargement, en octets (entre le minimum S3 de 5 Mo et le maximum de 5 GiB). Consultez Téléchargez des objets de très grande taille. |
Vous pouvez annuler un chargement à tout moment avec Ctrl+C. Rien n'est validé tant que le chargement n'est pas terminé. L'annulation ne laisse donc pas un objet à moitié écrit à la place de l'ancien.
Les téléchargements de texte utilisent des fins de ligne LF
Les téléchargements de texte utilisent des fins de ligne LF, de sorte qu'un objet écrit sous Windows, Linux ou macOS est identique au même octet. Lorsque vous avez besoin d'un contrôle exact sur les octets, utilisez-AsByteStream.
Téléchargez des objets de très grande taille
Chaque téléchargement via le lecteur est un téléchargement en plusieurs parties, et S3 limite un téléchargement en plusieurs parties à 10 000 parties. Avec une taille de pièce par défaut de 5 Mo qui limite un seul objet à environ 48 GiB, et un téléchargement dépassant le plafond est épuisé et échoue. Pour télécharger quelque chose de plus gros, augmentez de -PartSize manière à ce qu'il soit au moins object size / 10,000 :
# Upload a ~200 GiB object with 64 MiB parts (200 GiB / 10,000 = 21 MiB, so 64 MiB is plenty) # PowerShell 7+ Get-Content ./huge.bin -AsByteStream -ReadCount 8MB | Set-Content S3:/amzn-s3-demo-bucket/archive/huge.bin -AsByteStream -PartSize 64MB # Windows PowerShell 5.1 (local read uses -Encoding Byte; the S3 write keeps -AsByteStream -PartSize) Get-Content ./huge.bin -Encoding Byte -ReadCount 8MB | Set-Content S3:/amzn-s3-demo-bucket/archive/huge.bin -AsByteStream -PartSize 64MB
-PartSizeet -StorageClass sont des paramètres de destination S3. Utilisez-les avec un chemin de destination S3 explicite (comme dans l'exemple précédent), et non avec un objet de destination lié à un pipeline.
-PartSizeaccepte une valeur comprise entre le minimum S3 de 5 MiB et le maximum de 5 GiB. À un maximum de 5 GiB, 10 000 pièces couvrent le plus gros objet pris en charge par S3 (5 TiB).
Choix d'une taille de pièce
Une taille de pièce plus importante signifie également moins d'allers-retours pour un téléchargement volumineux, mais chaque partie en vol est conservée en mémoire, de sorte que les très grandes parties utilisent plus de mémoire. 5 MiB à quelques centaines de MiB est une fourchette raisonnable. N'augmentez que lorsque la taille de l'objet l'exige.
Copier des objets entre S3 et le disque local
La copie dans S3 avec n'Copy-Itemest pas prise en charge (voirOpérations prises en charge et non prises en charge). Pour déplacer des données entre votre disque local et S3, redirigez le contenu via Get-Content etSet-Content.
Pour les données binaires, lisez et écrivez les octets exactement. Un chemin S3 est utilisé dans -AsByteStream les deux PowerShell éditions ; seul le côté local diffère, comme décrit dansLa lecture des octets des fichiers locaux varie selon l'édition.
# Upload a local file (PowerShell 7+; on Windows PowerShell 5.1 the local read uses -Encoding Byte) Get-Content ./report.csv -AsByteStream -ReadCount 8MB | Set-Content S3:/amzn-s3-demo-bucket/data/report.csv -AsByteStream # Download to a local file (on Windows PowerShell 5.1 the local write uses -Encoding Byte) Get-Content S3:/amzn-s3-demo-bucket/data/report.csv -AsByteStream | Set-Content ./report.csv -AsByteStream
Utiliser le mode octet aux deux extrémités pour les données binaires
Lisez et écrivez des octets aux deux extrémités lors de la copie de données binaires. En mode texte, le contenu est décodé et réencodé. Une nouvelle ligne est normalisée ou ajoutée pour chaque ligne, ce qui corrompt les données non textuelles. Byte-mode en lecture et en écriture, copie exactement les octets. Pour les fichiers texte, le mode simple Get-Content | Set-Content fonctionne, à une exception près : le mode texte Set-Content ajoute une nouvelle ligne de fin (LF) et normalise les fins de ligne, de sorte que la copie n'est pas identique octet pour octet à la source. Lorsque vous avez besoin d'une copie exacte, -AsByteStream utilisez-la aux deux extrémités.
La lecture des octets des fichiers locaux varie selon l'édition
Le ciblage d'un fichier local utilise FileSystem le PowerShell fournisseur intégré, mais ce fournisseur n'-AsByteStreamen a pas dans Windows PowerShell 5.1 (il est arrivé en PowerShell 6). Utilisez-le à la -Encoding Byte place. Il s'agit d'une limitation 5.1, qui n'est pas contrôlée par le lecteur S3 ; un chemin S3 prend -AsByteStream en charge les deux éditions.
| Edition | Lire les octets du fichier local | Écrire des octets dans un fichier local |
|---|---|---|
PowerShell 7 ans et plus |
|
|
Windows PowerShell 5.1 |
|
|
Pour les S3-to-S3 copies côté serveur, utilisez l'applet de commande. Copy-S3Object
Supprimer des objets et des préfixes
Remove-Itemsupprime un seul objet. La suppression d'un préfixe (un dossier contenant du contenu) nécessite-Recurse, ce qui supprime tout ce qui se trouve en dessous par lots.
# Delete a single object Remove-Item S3:/amzn-s3-demo-bucket/notes/todo.txt # Delete a prefix and everything under it Remove-Item S3:/amzn-s3-demo-bucket/old-logs -Recurse
La question de savoir si Remove-Item les instructions dépendent de ce que vous ciblez :
-
Un seul objet, sans
-Recurse: aucune invite. L'objet est supprimé. -
Un préfixe, avec
-Recurse: aucune invite. Tout ce qui se trouve sous le préfixe est supprimé. -
Un préfixe non vide, sans
-Recurse: PowerShell invite à confirmer. Il s'agit du comportement container-has-children du fournisseur de système de fichiers. Si vous confirmez, la suppression est répétée ; si vous refusez, rien n'est supprimé. Dans un hôte non interactif, cette invite se bloque. Passez-Recursepour continuer sans y être invité.
Utilisez les PowerShell commutateurs natifs pour prévisualiser ou bloquer une suppression :
# Preview without deleting Remove-Item S3:/amzn-s3-demo-bucket/old-logs -Recurse -WhatIf # Ask for confirmation Remove-Item S3:/amzn-s3-demo-bucket/notes/todo.txt -Confirm
Versioning-enabled les buckets conservent les versions non actuelles
Sur un compartiment où la gestion des versions d'Amazon S3 est activée, Remove-Item effectue une suppression standard. Il ajoute un marqueur de suppression et masque la version actuelle, mais ne supprime pas les versions non actuelles, qui sont conservées et continuent à entraîner des coûts de stockage. Pour supprimer définitivement des versions, utilisez les applets de commande S3 (Remove-S3Objectavec un ID de version, par exemple) ou une règle de cycle de vie Amazon S3.
Remove-Item -Recurse supprime sans y être invité
Remove-Item -Recursesupprime tous les objets sous le préfixe sans invite, comme. rm -r Sur un bucket sans contrôle de version, la suppression récursive est permanente. Sur un bucket activé pour la gestion des versions, il ajoute des marqueurs de suppression comme décrit dans la note précédente. Utilisez-le -WhatIf d'abord si vous ne savez pas ce qu'il va supprimer.
Vous ne pouvez pas supprimer un compartiment entier via le lecteur car les opérations liées au cycle de vie du bucket sont hors de portée. Utilisez Remove-S3Bucket à la place.
Limiter un lecteur à un compartiment ou à un préfixe
Montez avec -Root pour confiner un lecteur à un compartiment, ou utilisez un préfixe dans un compartiment. La racine du lecteur se trouve alors à cet endroit, et la navigation est confinée en dessous.
# Mount rooted at a bucket: the drive root lists the bucket's top-level entries Mount-S3PSDrive -Name Data -Root amzn-s3-demo-bucket -ProfileName my-profile -Region us-east-1 Get-ChildItem Data:/ # top-level keys in amzn-s3-demo-bucket Get-Content Data:/reports/index.txt # -> amzn-s3-demo-bucket/reports/index.txt # Mount rooted at a bucket + prefix Mount-S3PSDrive -Name Reports -Root amzn-s3-demo-reports/2026 -ProfileName my-profile -Region us-east-1 Get-ChildItem Reports:/ # contents of amzn-s3-demo-reports/2026/
La racine doit déjà exister. Un bucket ou un préfixe inexistant échoue au montage. Comme les trajectoires relatives ne peuvent pas dépasser la racine (elles .. sont bloquées par le moteur), un montage scopé vous donne une vue ciblée des données d'un seul projet.
Accédez à des compartiments dans toutes les régions à partir d'un seul lecteur
Un seul lecteur monté peut atteindre des godets dans toutes les régions. La première fois que vous touchez un compartiment, le fournisseur recherche sa région et achemine automatiquement les appels suivants vers le bon terminal. Vous n'avez pas besoin d'un lecteur distinct pour chaque région.
# Mounted in us-east-1, but this bucket is in us-west-2 and commands work without extra configuration Mount-S3PSDrive -Name S3 -ProfileName my-profile -Region us-east-1 Get-ChildItem S3:/amzn-s3-demo-west-bucket Get-Content S3:/amzn-s3-demo-west-bucket/data/report.csv -Raw
Définir une classe de stockage par défaut
Définissez une classe de stockage par défaut pour l'ensemble du disque au moment du montage avec. -StorageClass Chaque téléchargement via ce lecteur utilise la classe spécifiée à moins qu'une classe spécifique ne la Set-Content remplace par la sienne. -StorageClass
# Set all uploads to default to STANDARD_IA Mount-S3PSDrive -Name Archive -ProfileName my-profile -Region us-east-1 -StorageClass STANDARD_IA Set-Content Archive:/amzn-s3-demo-bucket/cold/data.txt -Value '...' # STANDARD_IA Set-Content Archive:/amzn-s3-demo-bucket/hot/data.txt -Value '...' -StorageClass STANDARD # overrides to STANDARD
Démonter un lecteur
Utilisez Dismount-S3PSDrive (un emballageRemove-PSDrive) pour retirer un lecteur. Passez d'abord à un autre emplacement, car cela PowerShell ne supprimera pas un lecteur correspondant à votre position actuelle.
Set-Location $HOME # or C:\ on Windows Dismount-S3PSDrive -Name S3
Opérations prises en charge et non prises en charge
Utilisez le lecteur pour parcourir et déplacer le contenu des objets. Le cycle de vie des compartiments et les opérations de copie côté serveur restent assurés par les applets de commande S3 dédiées.
Pris en charge
-
Navigation et liste :
Set-Location,Get-ChildItem(y compris-Recurse),,,Get-ItemTest-Path, complétion par tabulation -
Contenu :
Get-Content(téléchargement),Set-Content(téléchargement) -
Suppression :
Remove-Item(objet unique ; préfixes avec-Recurse) -
Répartir les articles listés dans
Get-ContentetRemove-Item
Non pris en charge
| Commande | Pourquoi/quoi utiliser à la place |
|---|---|
|
S3-to-S3 la copie n'est pas exposée via le lecteur. À utiliser Copy-S3Object pour les copies côté serveur. Pour les transferts locaux vers S3 ou les S3-to-local transferts, canalisez. |
|
S3 n'a pas été renommé. Effectuez une copie et une suppression à l'aide des applets de commande. |
|
S3 ne possède pas de véritables dossiers. Un préfixe apparaît lorsque vous écrivez un objet en dessous. |
|
Les objets sont écrits en entier par |
|
Le lecteur n'implémente pas l'interface de PowerShell propriété, donc ces commandes échouent avec l'erreur d'interface non prise en charge du PowerShell moteur au lieu du message du lecteur. Les articles que |
Création ou suppression de compartiments |
Utiliser New-S3Bucket/Remove-S3Bucket. |
Les commandes non prises en charge échouent avec un message qui nomme la commande et pointe vers l'alternative, par exemple, « n'Copy-Item est pas prise en charge par le lecteur S3. À utiliser Copy-S3Object ou Get-Content à piquer Set-Content. » Les *-ItemProperty commandes constituent l'exception, comme décrit dans le tableau précédent.
Référence des commandes
Pour obtenir la liste complète des paramètres pour Mount-S3PSDrive et Dismount-S3PSDrive, consultez la référence des Outils AWS pour PowerShell applets de commande.
Sur un chemin S3, le lecteur ajoute également des paramètres dynamiques Set-Content auxquels Get-Content la PowerShell documentation de ces applets de commande ne couvre pas :
| Commande | Parameters |
|---|---|
|
|
|
|
Résolution des problèmes
« Impossible de démonter le disque car il est en cours d'utilisation. »
Le lecteur S3 est l'emplacement actuel. Accédez à un emplacement sur un autre lecteur, par exemple$HOME, puis exécutez Dismount-S3PSDrive à nouveau.
Le montage échoue avec le message « root n'a pas été trouvé ou n'est pas accessible ».
Le compartiment ou le préfixe dans -Root n'existe pas. Vérifiez le nom (et la région, si le compartiment se trouve dans un compartiment que vos informations d'identification n'utilisent pas par défaut). Un échec d'identification produit une erreur différente, et non ce message « inaccessible ». Une erreur d'autorisation à la racine peut ne pas apparaître tant que vous n'avez pas accédé à un objet. Par conséquent, un montage réussi ne garantit pas que vous puissiez lire tous les chemins qui se trouvent sous cet objet.
La suppression d'un préfixe non vide se bloque dans un script.
Cela se produit lorsque vous supprimez un préfixe non vide sans. -Recurse Le PowerShell moteur lance une invite de confirmation car le préfixe comporte des enfants (comportement du fournisseur de système de fichiers contenant des enfants). Un hôte non interactif ne peut pas répondre à l'invite, la commande est donc bloquée.
Passez -Recurse pour supprimer le contenu du préfixe sans y être invité, ou confirmez de manière interactive pour continuer. (n'-Forceest pas consulté par le chemin de suppression du lecteur, il n'a donc aucun effet ici.)
« Un objet que je viens de changer en dehors du lecteur affiche toujours l'ancienne annonce. »
Les listes sont mises en cache brièvement (environ une seconde) pour accélérer la navigation. Les modifications effectuées via le lecteur apparaissent immédiatement. Les modifications apportées par un autre outil apparaissent après l'expiration du court cache.
« Une touche contient une barre oblique inverse. »
La capacité du lecteur à adresser une clé contenant une barre oblique inverse dépend du système d'exploitation, car le lecteur accepte le séparateur de chemin natif de la plate-forme :
-
Windows -
\est un séparateur de chemin, donc le lecteur le lit comme tel et le normalise./Une touche contenant une barre oblique inverse littérale ne peut pas être traitée via le lecteur. Utilisez plutôt les applets de commande S3, par exemple Get-S3Object ou. Read-S3Object -
Linux et macOS - seul
/est un séparateur de chemins. Une barre oblique inverse est un caractère ordinaire dans une touche. Le lecteur adresse donc ces touches normalement.