J'essaie de parcourir et d'extraire les stratégies relatives à tous les compartiments S3 d'un compte.Comment analyser tous les buckets S3 dans un compte d'une région à l'autre
Je suis en train de ce qui suit ...
s3 = boto3.client('s3')
buckets = s3.list_buckets()
for bucket_name in buckets['Buckets']:
s3.get_bucket_policy(Bucket=bucket_name['Name'])
Quand je cours, je reçois l'erreur suivante:
botocore.exceptions.ClientError: An error occurred (PermanentRedirect) when calling the GetBucketTagging operation: The bucket you are attempting to access must be addressed using the specified endpoint. Please send all future requests to this endpoint.
J'ai essayé utilisé s3.meta.client.get_bucket_location(Bucket=bucket_name['Name'])
comme par https://github.com/boto/boto3/issues/81, mais je reçois une valeur de None
pour 'LocationConstraint'
.
Comment puis-je connaître ou déterminer le point de terminaison et/ou la région corrects pour un compartiment arbitraire?
Dans la boucle for, vous faites s3.get_bucket_policy (Bucket = bucket ['Name']) ... donc bucket_name n'est pas utilisé ... êtes-vous sûr qu'il ne devrait pas utiliser bucket_name (une sorte de faute de frappe?) – labheshr
Oups, oui j'ai eu une faute de frappe! – Drew
Je pense que vous avez besoin d'une autre édition de seau [..] à seau_nom [...] dans la ligne ... "J'ai essayé utilisé" ... aussi, ce n'est pas la cause de vos problèmes? – labheshr