чтение данных из s3 на ноутбуке jupyter в экземпляре глубокого обучения ubuntu ec2 - PullRequest
0 голосов
/ 25 октября 2018

У меня есть несколько наборов данных txt и csv в одном контейнере s3, my_bucket и глубоко изученном экземпляре ubuntu ec2.Я использую ноутбук Jupyter в этом случае.Мне нужно прочитать данные с S3 на Jupyter.

Я искал везде (почти) документацию AWS и их форум вместе с другими блогами.Это лучшее, что я мог сделать.Однако после получения ключей (обоих), перезапускающих экземпляр (и aws тоже), я все равно получаю сообщение об ошибке для aws_key.

Интересно, кто-нибудь побежал к этому, или у вас есть лучшая идея, чтобы получить данные оттуда.Я открыт, пока он не использует http (который требует, чтобы данные были общедоступными).Спасибо.

import pandas as pd
from smart_open import smart_open
import os

aws_key = os.environ['aws_key']
aws_secret = os.environ['aws_secret']

bucket_name = 'my_bucket'
object_key = 'data.csv'

path = 's3://{}:{}@{}/{}'.format(aws_key, aws_secret, bucket_name, object_key)

df = pd.read_csv(smart_open(path))

Ответы [ 2 ]

0 голосов
/ 25 октября 2018

Ваш пример кода будет работать, если вы экспортируете aws_key и сначала aws_secret.Примерно так будет работать (при условии, что bash - это ваша оболочка):

export aws_key=<your key>
export aws_secret=<your aws secret>
python yourscript.py

Лучше всего экспортировать такие вещи, как ключи и секреты, чтобы не хранить конфиденциальные / секретные вещи в исходном коде.Если бы вы жестко запрограммировали эти значения в свой сценарий и случайно передали их в публичный репозиторий, было бы легко кому-то завладеть вашим аккаунтом aws.

0 голосов
/ 25 октября 2018

Я отвечаю на свой вопрос здесь и хотел бы услышать от сообщества также о различных решениях: Прямой доступ к данным S3 из экземпляра Ubuntu Deep Learning с помощью

cd ~/.aws
aws configure

Затем обновите ключ aws и секретный ключ дляэкземпляр, просто чтобы убедиться.Проверьте версию awscli с помощью команды:

aws --version

Подробнее о конфигурации

https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html

В приведенном выше коде «aws_key» и «aws_secret» не перечислены в качестве переменных среды в Ubuntuэкземпляр и, следовательно, встроенная функция os.environ не может использоваться

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