J'obtiens cette erreur par intermittence.
J'ai un programme qui utilise le java aws sdk et se charge sur les dizaines de milliers de petits fichiers vers s3. Je vois cette erreur par intermittence.
Impossible de trouver une réponse utile après une recherche rapide sur Internet.
Notez que le programme appelant est à thread unique. Le sdk aws java sous-jacent semble utiliser des threads de travail.
Status Code: 409, AWS Service: Amazon S3, AWS Request ID: 75E16E8DE2193CA6, AWS Error Code: OperationAborted, AWS Error Message: A conflicting conditional operation is currently in progress against this resource. Please try again., S3 Extended Request ID: 0uquw2YEoFamLldm+c/p412Lzd8jHJGFBDz3h7wN+/4I0f6hnGLkPMe+5LZazKnZ
at com.amazonaws.http.AmazonHttpClient.handleErrorResponse(AmazonHttpClient.java:552)
at com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:289)
at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:170)
at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:2648)
at com.amazonaws.services.s3.AmazonS3Client.createBucket(AmazonS3Client.java:578)
at com.amazonaws.services.s3.AmazonS3Client.createBucket(AmazonS3Client.java:503)
java
amazon-web-services
amazon-s3
user1172468
la source
la source
Réponses:
J'ai reçu le même message d'erreur lorsque j'ai suivi:
a créé un bucket - il est allé par défaut dans la région des États-Unis (AWSCLI utilisé)
réalisé, le bucket doit aller dans la région de l'UE et l'a supprimé (console AWS utilisée)
(quelques minutes plus tard) a tenté de créer le bucket, en spécifiant la région UE
À l'étape 3, la console AWS m'a montré le message d'erreur du titre de votre question.
Je suppose donc que le seau aux États-Unis a été supprimé, mais il y a peut-être des processus de synchronisation, qui prennent du temps. Et j'espère qu'en attendant quelques heures, je trouverai le nom du seau à nouveau disponible pour la création - cette fois dans la région (UE) appropriée.
CORRECTIF: - Edit: Environ une heure plus tard, ma tentative de création du bucket (dans la région UE) a réussi.
la source
Pour tous les autres qui tombent sur ce fil de Google, comme premier résultat dans la recherche de ce message d'erreur:
Si vous avez supprimé le bucket, pour recréer dans une nouvelle région, n'attendez pas "manuellement" jusqu'à ce que cette synchronisation en arrière-plan soit terminée , mettez plutôt un petit script bash à exécuter et réessayez la création du bucket nécessaire toutes les 5 secondes environ.
Exemple:
#!/bin/bash RESULT=2 until [ $RESULT -eq 0 ]; do aws s3 mb s3://your.bucket.name --region us-west-2 RESULT=$? sleep 5 done echo "Bucket created!"
il réessaiera l'opération "create bucket" pour vous, toutes les quelques secondes (dépendra de 'sleep') et dès que possible - le créera pour vous, donc personne ne peut voler votre nom de bucket par erreur :)
J'espère que cela aide :)
la source
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 17: ordinal not in range(128)
. La solution était de retirer le--region
drapeau.La demande dans votre exemple consiste à créer un bucket. Si vous essayez de créer trop de compartiments ou de remplacer des compartiments, cela n'est pas sain.
Notez que vous avez une limite de 100 buckets pour un compte (voir ici ). EDIT: Maintenant, cette limite est une "limite souple" et vous pouvez l'augmenter si nécessaire.
Notez également que la création d'un bucket prend du temps et:
Il est préférable de créer vos seaux une fois et ensuite, vous pouvez mettre autant d'objets que vous le souhaitez dans vos seaux existants (ou même un seul).
Quoi qu'il en soit, lorsque vous travaillez avec un système qui est voué à l'échec de temps en temps, vous devriez être en mesure de gérer les erreurs et de ralentir votre processus lorsque vous recevez une telle erreur. Consultez plus de détails dans AWS Docs .
la source
Cette erreur se produit généralement lorsqu'un bucket est supprimé et qu'un nouveau bucket est créé avec le même nom que l'ancien bucket.
Je pense que nous devrons attendre un certain temps avant de pouvoir créer un nouveau seau portant le même nom.
la source
Simple et direct: modifiez le nouveau nom du bucket ou attendez 1 heure.
la source
Vous recevez également ce message lorsque vous avez déjà plus de 100 buckets dans le compte. Il existe une limite souple de 100 seaux.
la source
Modifiez le nom de votre bucket ou attendez. J'ai attendu moins de 30 minutes pour le mien. Je n'avais pas besoin de changer le nom et je ne pouvais pas le changer car j'étais défini dessus - il devait correspondre à mon nom de domaine déjà existant pour un site Web statique que je cherchais à héberger. Quoi qu'il en soit, en moins de 30 minutes, il a été créé automatiquement.
la source