0

Je copie le contenu d'un compartiment S3 dans un répertoire local, mais une erreur se produit dans la PowerShell.Erreur dans PowerShell due à la copie du contenu d'un compartiment S3

Copy-S3Object: La gamme demandée n'est pas satisfaisable

Il pointe vers cette commande:

Copy-S3Object -BucketName $bucket -Key $object.Key -LocalFile $localFilePath -Region $region 

Pourquoi puis-je obtenir cette erreur? Notez que les fichiers désirés à copier sont effectivement copiés localement.

Répondre

2

Je ne peux pas dire pourquoi vous obtenez cette erreur renvoyée par S3, mais je peux vous dire que si vous copiez plusieurs objets, vous voulez probablement utiliser le paramètre -LocalFolder, pas -LocalFile. -LocalFolder conservera les préfixes en tant que sous-chemins. Lors du téléchargement d'un ou de plusieurs objets à partir de S3, l'applet de commande Read-S3Object fonctionne de la même manière que Copy-S3Object, mais utilise -KeyPrefix pour spécifier le préfixe commun partagé par les objets et -Folder pour indiquer le dossier à télécharger. à. Cela me rappelle aussi que j'ai besoin de vérifier pourquoi nous avons utilisé -LocalFolder sur Copy-, et -Folder sur Read- bien que je soupçonne que des alias soient aussi disponibles pour les rendre cohérents.

HTH

(Edit): J'ai passé un peu de temps ce matin l'examen du code cmdlet et il ne me semble pas l'applet de commande fonctionnerait en l'état sur un téléchargement multi-objet, même si elle a une -LocalFolder paramètre. Si vous avez un seul objet à télécharger, l'utilisation de -Key/-LocalFile est la combinaison de paramètres correcte. Si -LocalFolder est transmis, la cmdlet est configurée en interne pour effectuer un téléchargement de fichier unique au lieu de traiter -Key comme un préfixe de clé commun à un ensemble d'objets. Donc, je pense que nous avons un bug ici.

En attendant, j'utiliserais Read-S3Object pour faire vos téléchargements. Il prend en charge les modes de téléchargement single (-Key) ou multi-objets (-KeyPrefix).

+0

Je recevais System.InvalidOperationException: La plage demandée n'est pas satisfaisante à partir de Read-S3Object -BucketName $ BucketName -KeyPrefix $ BuildVersion -Folder $ DeploymentDir pour les deux derniers jours sans raison que je puisse discerner. Je ne pense pas qu'il y ait d'autres problèmes que nous devrions connaître? –