Python 将文件从databricks dbfs/local上载到S3存储桶。如何使用boto3库或装载S3将文件从Datatricks上载到S3存储桶?
我尝试了以下几种方法在S3中上传我的文件 这最终导致存储的不是数据,而是数据的路径 数据Python 将文件从databricks dbfs/local上载到S3存储桶。如何使用boto3库或装载S3将文件从Datatricks上载到S3存储桶?,python,amazon-web-services,amazon-s3,boto3,databricks,Python,Amazon Web Services,Amazon S3,Boto3,Databricks,我尝试了以下几种方法在S3中上传我的文件 这最终导致存储的不是数据,而是数据的路径 数据 导入boto3 s3=boto3.resource('s3') 或 s3=boto3.client( “s3”, aws\u access\u key\u id=“key\u id”, aws\u secret\u access\u key=“access\u key”) s3.Object('bucket/folder/','xyz.csv')。上传文件(文件名='/mnt/folder/xyz.c
导入boto3
s3=boto3.resource('s3')
或
s3=boto3.client(
“s3”,
aws\u access\u key\u id=“key\u id”,
aws\u secret\u access\u key=“access\u key”)
s3.Object('bucket/folder/','xyz.csv')。上传文件(文件名='/mnt/folder/xyz.csv'))
-->给我一个错误FileNotFoundError:[Errno 2]没有这样的文件或目录:'/mnt/folder/xyz.csv'
s3.put_对象(Body='/databricks/driver/xyz.csv',Bucket='Bucket',Key='folder/xyz.csv')
-->成功执行,但打开时,文件只包含以下字符串-“/databricks/driver/xyz.csv”
s3.Object('bucket','folder/xyz.csv').put(Body=“/FileStore/folder/xyz.csv”)
-->成功执行,但打开时,文件只包含以下字符串-“/FileStore/folder/xyz.csv”
bucket=s3.bucket('bucket'))
s3.Object('bucket/folder','xyz.csv').put(Body=open('/FileStore/folder/xyz.csv','rb'))
-->给我一个错误FileNotFoundError:[Errno 2]没有这样的文件或目录:'/mnt/folder/xyz.csv'
打开('/mnt/folder/xyz.csv',“rb”)作为f:
s3.上传文件对象(f,‘bucket’、‘folder/xyz.csv’)
-->给我一个错误FileNotFoundError:[Errno 2]没有这样的文件或目录:'/mnt/folder/xyz.csv'
s3.meta.client.upload_文件('/mnt/folder/xyz.csv',bucket',folder/xyz.csv')
-->给我一个错误FileNotFoundError:[Errno 2]没有这样的文件或目录:'/mnt/folder/xyz.csv'
如果有任何打字错误或语法错误,或者需要更改问题的结构,请告诉我。谢谢强> 我已经找到了我问题的答案-
下面的代码对我来说很好
import boto3
from botocore.client import Config
ACCESS_KEY = 'YOUR_ACCESS_KEY'
SECRET_KEY = 'YOUR_SECRET_KEY'
AWS_BUCKET_NAME = "BUCKET_NAME"
s3 = boto3.resource('s3', aws_access_key_id = ACCESS_KEY, aws_secret_access_key
=SECRET_KEY, config = Config(signature_version = 's3v4') )
s3.meta.client.upload_file( '/dbfs/FileStore/filename.csv', AWS_BUCKET_NAME,
"filename.csv")
import boto3
from botocore.client import Config
ACCESS_KEY = 'YOUR_ACCESS_KEY'
SECRET_KEY = 'YOUR_SECRET_KEY'
AWS_BUCKET_NAME = "BUCKET_NAME"
s3 = boto3.resource('s3', aws_access_key_id = ACCESS_KEY, aws_secret_access_key
=SECRET_KEY, config = Config(signature_version = 's3v4') )
s3.meta.client.upload_file( '/dbfs/FileStore/filename.csv', AWS_BUCKET_NAME,
"filename.csv")