S3FileLister¶
- class torchdata.datapipes.iter.S3FileLister(source_datapipe: IterDataPipe[str], length: int = - 1, request_timeout_ms=- 1, region='', masks: Union[str, List[str]] = '')¶
[已弃用] 请改用 https://github.com/awslabs/s3-connector-for-pytorch。
列出具有给定前缀的 Amazon S3 文件 URL 的 Iterable DataPipe(功能名称:
list_files_by_s3
)。可接受的前缀包括s3://bucket-name
、s3://bucket-name/
、s3://bucket-name/folder
。注意
source_datapipe
**必须**包含有效 S3 URL 列表length
默认值为 -1,并且任何对__len__()
的调用都是无效的,因为在迭代所有文件之前长度是未知的。request_timeout_ms
和region
将覆盖配置文件或环境变量中的设置。缺少 AWS 正确的配置会导致空响应。有关 S3 IO DataPipe 设置和 AWS 配置的更多详细信息,请参阅 README 文件。
- 参数:
source_datapipe – 包含 s3 文件的 URL/URL 前缀的 DataPipe
length – DataPipe 的名义长度
request_timeout_ms – 每个请求的超时设置(默认 3,000 毫秒)
region – 访问文件的区域(默认情况下从凭据推断)
示例
from torchdata.datapipes.iter import IterableWrapper, S3FileLister s3_prefixes = IterableWrapper(['s3://bucket-name/folder/', ...]) dp_s3_urls = S3FileLister(s3_prefixes) for d in dp_s3_urls: pass # Functional API dp_s3_urls = s3_prefixes.list_files_by_s3(request_timeout_ms=100) for d in dp_s3_urls: pass