在做数据预处理的时候, 先是在local实现, 使用了os去获取单个文件夹下所有文件的路径然后去处理.
def get_file_list(mainfile):
path_list = []
for doc in os.listdir(mainfile):
newpath = os.path.join(mainfile, doc)
if os.path.isfile(newpath):
path_list.append(newpath)
return path_list
1
2
3
4
5
6
7
然而在将代码转移到AWS Sagemaker时当然就不能使用os去获取路径了. 要理解的是S3是没有folder的概念的, 虽然我们在S3的console里面可以看到类似folder的结构, 但实际上我们只是在不同object的名称中加了prefix而已. (其实我觉得是一个东西…但亚麻强调没有…那就没有吧)
下面是获取一个buket中相关key的所有文件路径的方法
import boto3
def get_file_list(bucket_name, prefix):
s3 = boto3.resource('s3')
bucket=bucket_name
my_bucket = s3.Bucket(bucket)
location_list = []
for (bucket_name, key) in map(lambda x: (x
在做数据预处理的时候, 先是在local实现, 使用了os去获取单个文件夹下所有文件的路径然后去处理.def get_file_list(mainfile): path_list = [] for doc in os.listdir(mainfile): newpath = os.path.join(mainfile, doc) if os.path.isfile(newpath): path_list.append(newpath...
本片我将为大家讲解如何
获取
用户输入的
文件
路径
,
获取
指定
路径
以及
路径
下所有的
文件
和目录,而且可以统计
文件
和目录的数量。
提示:以下是本篇文章正文内容,下面案例可供参考
一、主要的类
其实涉及到
文件
和目录,一般都是与
Java
的IO类
相关
的,但是本章却没有涉及到IO,而是涉及到了另一个类File。他可以对我们的
文件
和目录进行管理。
java
.io.File类主要用于描述
文件
或目录
路径
的抽象表示信息,可以
获取
文件
或目录的特征信息,如:大小等。
二、实现代码
s3
= boto3.resource('
s3
', region_name='cn-north-1', endpoint_url=host,
aws
_access_key_id=ak,
aws
_secret_access_key=sk)
client =
s3
.meta.client
# 创建 bucket
bucket =
s3
.create_bucket(Bucket='process-main')
# 使用 resource
查看
所有 bucket
for bucket in
s3
.buckets
public class Test {
public static void main(String[] args) throws Exception{
File file = new File("D:\\xxx");
if (!file.exists()) { //用来测试此
路径
名表示的
文件
或目录是否存在
file.isDirectory(); //来判断这是不是一个
文件
夹。
2.已经在
aws
中
创建用户,并同时获得
AWS
_ACCESS_KEY和
AWS
_SECRET_KEY
3.在
S3
中
已经创建好
桶
,不过没有创建好,代码
中
也有提现。
Java
在
S3
上操作的工具代...
一、
S3
概述
1.1、简介
S3
是Standard Storage Service的简称,即标准存储服务。即分布式的、存储容量可无限扩容的、保证数据不丢失的、安全的、低成本的存储解决方案。
S3
旨在为公有云用户解决下面的存储痛点:
1、存储可无限扩容:用户自建存储集群节点扩容时数据迁移成本高。单个bucket存储容量无限制,单个
文件
最大50TB限制。
2、安全:保证只被授权用户访问(问题:CDN访问时怎样做授权校验?)
3、数据可靠不丢失:通过冗余备份+EC纠删码的方式,保证11个9的不丢失保证。
aws
CLI是什么东西,暂且先不去了解,目前的需求是
s3
.
我在Jenkins上创建一个bucket,然后申请access_key,然后就可以使用
s3
来存储数据了。也就是说,
s3
就是一个网盘。
1.安装CLI
文档:http://docs.
aws
.amazon.com/cli/latest/userguide/installing.html
$ curl "https://
s3
.am
1. 登录
AWS
控制台并转到 Amazon
S3
服务页面。
2. 找到您上传
文件
的存储
桶
(bucket),并单击它。
3. 找到您上传的
文件
,并单击它以打开“对象概述”窗口。
4. 在“对象概述”窗口
中
,复制“对象 URL”字段的值,该值即为
文件
的完整
路径
。
另外,您也可以通过
AWS
SDK 或
AWS
CLI 等工具来
获取
文件
的完整
路径
。例如,使用
AWS
SDK for Python (Boto3) 可以按以下方式
获取
文件
的完整
路径
:
```python
import boto3
s3
= boto3.resource('
s3
')
bucket =
s3
.Bucket('your-bucket-name')
object = bucket.Object('your-object-key')
url = object.meta.client.generate_presigned_url('get_object', Params={'Bucket': bucket.name, 'Key': object.key}, ExpiresIn=3600)
print(url)
上述代码将生成一个预签名 URL,该 URL 包含
文件
的完整
路径
。注意,此 URL 仅在指定的有效期内(此处为3600秒)有效。