Загрузите CSV в S3 из локального - PullRequest
0 голосов
/ 17 декабря 2018

Я изучаю AWS sagemaker для ML.Я создал корзину:

bucket_name = 'test-bucket' 
s3 = boto3.resource('s3')
try:
   if  my_region == 'us-east-1':
      s3.create_bucket(Bucket=bucket_name)
   else: 
      s3.create_bucket(Bucket=bucket_name, CreateBucketConfiguration={ 'LocationConstraint': my_region })
print('S3 bucket created successfully')
except Exception as e:
    print('S3 error: ',e)

У меня есть локальный csv, и я хочу загрузить его в созданное мной корзину.

Все ссылки, на которые я ссылался, имеют указания для загрузкиэто по ссылке и распакуйте его.Есть ли способ загрузить данные в корзину из локального.

Ответы [ 3 ]

0 голосов
/ 17 декабря 2018

Используйте AWS CLI.Не уверен, почему вы все это кодируете на python.Если вы хотите создать инфраструктуру, используйте CloudFormation или Terraform.

Вот как вы используете AWS CLI

aws s3 cp / path / localfolder s3: // bucketname / foldername -рекурсивный

Смотрите здесь, как настроить CLI

https://docs.aws.amazon.com/lambda/latest/dg/setup-awscli.html

0 голосов
/ 22 декабря 2018

Если вы используете Amazon SageMaker, вы можете использовать библиотеку Python SageMaker, которая реализует наиболее полезные команды для исследователей данных, включая загрузку файлов в S3.По умолчанию он уже установлен на вашем ноутбуке SageMaker.

import sagemaker
sess = sagemaker.Session()

# Uploading the local file to S3
sess.upload_data(path='local-file.txt', bucket=bucket_name, key_prefix='input')    
0 голосов
/ 17 декабря 2018

Загрузка файла s с локального компьютера в целевой сегмент S3.Ниже приведен пример:

import boto3 bucket_name = 'my-bucket' content = open('local-file.txt', 'rb') s3 = boto3.client('s3') s3.put_object( Bucket=bucket_name, Key='directory-in-bucket/remote-file.txt', Body=content ) 
...