我正在探索适用于ML的AWS sagemaker。我创建了一个存储桶:
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,我想将其加载到我创建的存储桶中。
我提到的所有链接都有从链接加载和解压缩的说明。有没有一种方法可以将数据从本地加载到存储桶中。
答案 0 :(得分:0)
使用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
答案 1 :(得分:0)
如果您使用的是Amazon SageMaker,则可以使用SageMaker python库,该库实现了对数据科学家最有用的命令,包括将文件上传到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')
答案 2 :(得分:-1)
将文件从本地计算机上传到目标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 )