python: я получаю ошибку InvalidToken при использовании bucket.objects.filter (Prefi = myPrefixString) в boto3 1.7.21 - PullRequest
0 голосов
/ 28 июня 2018

Я пытаюсь получить доступ к объектам из своей корзины s3. Я использую boto3 1.7.21. Сначала я создал сеанс, используя

session = boto3.session.Session(aws_access_key_id=aws_access_key_id,
                  aws_secret_access_key=aws_secret_access_key,
                  region_name=region_name)

затем пытается получить объекты с помощью фильтра, используя

session.resources("s3").Bucket(myBucketName)
.objects.filter(Prefix=myPrefix)

Я получаю ошибку ниже

ClientError: An error occurred (InvalidToken) when calling the ListObjects operation: The provided token is malformed or otherwise invalid.

Мои версии для разработчиков:

  • питон - 2,7,
  • boto3 - 1.7.21,
  • ботокор - 1.10.35

1 Ответ

0 голосов
/ 28 июня 2018

Лучший способ сделать то же самое - это загрузить и использовать AWS CLI и выполнить команду aws configure , чтобы сохранить access_key_id , secret_access_key и по умолчанию region на вашем локальном компьютере, а затем запустите этот скрипт на python, указанный ниже:

import boto3

s3 = boto3.resource('s3')
bucket=s3.Bucket('bucket_name')

for obj in bucket.objects.filter(Prefix='Event/'):
    print(obj.key)
...