Je crée et configure par programmation des compartiments s3 avec boto.Erreur 403 Interdire lors de la configuration du cycle de vie pour le compartiment s3 avec boto et python
Je peux créer des seaux, des objets .. et écrire sur des objets ...
Je voudrais configurer un Lifecyle pour seau mais quand je lance le code ci-dessous j'obtenir cette exception:
boto.exception.S3ResponseError: S3ResponseError: 403 Forbidden with code SignatureDoesNotMatch.
lifecycle = Lifecycle()
lifecycle.add_rule(
'rulename',
prefix='/',
status='Enabled',
expiration=Expiration(days=1)
)
bucket = s3.get_bucket('mybucket')
ce résultat de débogage peut aider à répondre.
réponse: 'HTTP/1.1 403 Forbidden \ r \ n'
tête: x-amz-request-id: tx000000000000000000027-0059db8d59-39289-default
tête: Content-Length: 196
tête: Accept-Ranges: octets
tête: Content-type: application/xml
tête: date: 9 octobre 2017 14:53:13 GMT
retraçage (le plus récent appel dernier):
Fichier "pyth.py", ligne 28, dans
bucket.configure_lifecycle(lifecycle)
Fichier « /usr/lib/python2.7/site-packages/boto /s3/bucket.py », ligne 1366, dans
configure_lifecycle
response.status, response.reason, body)
boto.exception.S3ResponseError: S3ResponseError: 403 Interdit
SignatureDoesNotMatch
tx000000000000000000027-0059db8d59-39289-default
39289-default-default
bucket.configure_lifecycle(lifecycle)
Il est peu probable que 'prefix = '/'' est ce que vous voulez. La conception de S3 est telle que le préfixe de tous les objets est une chaîne vide ''' ', pas' '/' 'et les clés d'objet ne commencent pas réellement par'/'. Il semble étrange que cela déclenche une erreur 'SignatureDoesNotMatch', mais il apparaît également que vous faites une requête qui ne ferait pas ce que vous voulez, même si elle a réussi. –
merci pour votre réponse, mais je le tester avec un préfixe non '/' et cela ne fonctionne pas, je veux juste ajouter une configuration de cycle de vie puis je vais le faire faire ce que je veux. je teste le même code avec sas amason s3 et ça marche –