Не удается подключиться к nexrad aws s3 bucket с помощью модуля python boto3 - PullRequest
0 голосов
/ 27 января 2020

Я пытаюсь подключиться к Nexrad aws bucket, используя python boto3, у меня возникают следующие проблемы:
1) Код:

import boto3
s3 = boto3.resource('s3')

my_bucket = s3.Bucket('arn:aws:s3:::unidata-nexrad-level2-chunks')

for objects in my_bucket.objects.all():
    print(objects)

Output:
---------------------------------------------------------------------------
ParamValidationError                      Traceback (most recent call last)
<ipython-input-11-0d42db5d6462> in <module>()
      7 my_bucket = s3.Bucket('arn:aws:s3:::unidata-nexrad-level2-chunks')
      8 
----> 9 for objects in my_bucket.objects.all():
     10     print(objects)

11 frames
/usr/local/lib/python3.6/dist-packages/botocore/handlers.py in validate_bucket_name(params, **kwargs)
    226             'the regex "%s" or be an ARN matching the regex "%s"' % (
    227                 bucket, VALID_BUCKET.pattern, VALID_S3_ARN.pattern))
--> 228         raise ParamValidationError(report=error_msg)
    229 
    230 

ParamValidationError: Parameter validation failed:
Invalid bucket name "arn:aws:s3:::unidata-nexrad-level2-chunks": Bucket name must match the regex "^[a-zA-Z0-9.\-_]{1,255}$" or be an ARN matching the regex "^arn:(aws).*:s3:[a-z\-0-9]+:[0-9]{12}:accesspoint[/:][a-zA-Z0-9\-]{1,63}$"

Я не совсем понимаю aws Имя корзины, которое нужно использовать, потому что это имя упоминается в документации https://registry.opendata.aws/noaa-nexrad/

2) Я хочу получить доступ к этой корзине и загрузить все объекты, присутствующие в корзине. Требуется ли какой-либо ключ аутентификации, хотя у этого сегмента есть доступ publi c?

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...