371
阿里云
查看对象列表__管理文件_开发人员指南_对象存储 OSS-阿里云
查看对象列表即列出您在Bucket中上传的文件(Object),您可以通过OSS的接口调用一次性得到某一Bucket下最多1000个的Object列表。通过下面的四个参数,您可以完成多种拓展功能:
| 名称 | 作用 |
|---|---|
| Delimiter | 用于对Object名字进行分组的字符。所有名字包含指定的前缀且第一次出现Delimiter字符之间的Object作为一组元素: CommonPrefixes。 |
| Marker | 设定结果从Marker之后按字母排序的第一个开始返回。 |
| MaxKeys | 限定此次返回Object的最大数,如果不设定,默认为100,MaxKeys取值不能大于1000。 |
| Prefix | 限定返回的Object key必须以Prefix作为前缀。注意使用prefix查询时,返回的key中仍会包含Prefix。 |
文件夹模拟功能
OSS服务是没有文件夹这个概念的,所有元素都是以Object来存储。创建模拟文件夹本质上来说是创建了一个size为0的Object。对于这个Object照样可以上传下载,只是控制台会对以“/”结尾的Object以文件夹的方式展示。所以您可以使用上述方式来实现创建模拟文件夹。
您可以通过 Delimiter 和 Prefix 参数的配合模拟出文件夹功能。Delimiter 和 Prefix 的组合效果是这样的:
- 如果把 Prefix 设为某个文件夹名,就可以罗列以此 Prefix 开头的文件,即该文件夹下递归的所有的文件和子文件夹(目录)。文件名在Contents中显示。
- 如果再把 Delimiter 设置为 “/” 时,返回值就只罗列该文件夹下的文件和子文件夹(目录),该文件夹下的子文件名(目录)返回在 CommonPrefixes 部分,子文件夹下递归的文件和文件夹不被显示。
举个例子:假如在OSS的Bucket:oss-sample下有如下Object:文件D目录A/文件C目录A/文件D目录A/目录B/文件B目录A/目录B/目录C/文件A目录A/目录C/文件A目录A/目录D/文件B目录B/文件A1. 列出第一层目录和文件根据API中请求约定,需要设置Prefix为“”,Delimiter为"/":返回结果如下:<?xml version="1.0" encoding="UTF-8"?><ListBucketResult><Name>oss-sample</Name><Prefix></Prefix><Marker></Marker><MaxKeys>1000</MaxKeys><Delimiter>/</Delimiter><IsTruncated>false</IsTruncated><Contents><Key>文件D</Key><LastModified>2015-11-06T10:07:11.000Z</LastModified><ETag>"8110930DA5E04B1ED5D84D6CC4DC9080"</ETag><Type>Normal</Type><Size>3340</Size><StorageClass>Standard</StorageClass><Owner><ID>oss</ID><DisplayName>oss</DisplayName></Owner></Contents><CommonPrefixes><Prefix>目录A/</Prefix></CommonPrefixes><CommonPrefixes><Prefix>目录B/</Prefix></CommonPrefixes></ListBucketResult>可以看到:Contents返回的是第一层的文件:“文件D”。CommonPrefixes返回的是第一层的目录:“目录A/” 和 “目录B/”,而“目录A/” 和 “目录B/”下的文件名不显示。2. 列出第二层目录A底下的目录和文件根据API中请求约定,需要设置Prefix为“目录A”,Delimiter为"/":返回结果如下:<?xml version="1.0" encoding="UTF-8"?><ListBucketResult><Name>oss-sample</Name><Prefix>目录A/</Prefix><Marker></Marker><MaxKeys>1000</MaxKeys><Delimiter>/</Delimiter><IsTruncated>false</IsTruncated><Contents><Key>目录A/文件C</Key><LastModified>2015-11-06T09:36:00.000Z</LastModified><ETag>"B026324C6904B2A9CB4B88D6D61C81D1"</ETag><Type>Normal</Type><Size>2</Size><StorageClass>Standard</StorageClass><Owner><ID>oss</ID><DisplayName>oss</DisplayName></Owner></Contents><Contents><Key>目录A/文件D</Key><LastModified>2015-11-06T09:36:00.000Z</LastModified><ETag>"B026324C6904B2A9CB4B88D6D61C81D1"</ETag><Type>Normal</Type><Size>2</Size><StorageClass>Standard</StorageClass><Owner><ID>oss</ID><DisplayName>oss</DisplayName></Owner></Contents><CommonPrefixes><Prefix>目录A/目录B/</Prefix></CommonPrefixes><CommonPrefixes><Prefix>目录A/目录C/</Prefix></CommonPrefixes><CommonPrefixes><Prefix>目录A/目录D/</Prefix></CommonPrefixes></ListBucketResult>可以看到:Contents返回的是第二层的文件:“目录A/文件C”,“目录A/文件D”。CommonPrefixes返回的是第一层的目录:“目录A/目录B/”,“目录A/目录C/”和“目录A/目录D/”。而目录下的文件名不会被显示。
功能使用参考
- API:Get Bucket
- SDK:Java SDK-列出存储空间中的文件
最后更新:2016-11-23 16:04:09
上一篇:
设置对象/文件元信息__管理文件_开发人员指南_对象存储 OSS-阿里云
下一篇:
拷贝对象__管理文件_开发人员指南_对象存储 OSS-阿里云
浏览Pipeline__Pipeline管理_Console参考手册_数据集成-阿里云
ActionTrail支持查询多久的操作记录?__常见问题_常见问题_操作审计-阿里云
编写Graph__快速开始_大数据计算服务-阿里云
MQTT 管理__控制台使用指南_消息队列 MQ-阿里云
获取域名的解析操作日志__解析管理接口_API文档_云解析-阿里云
HBase 开发手册__开发人员指南_E-MapReduce-阿里云
AlphaGo Zero横空出世;利尔达:阿里云物联网市场创始合作伙伴
删除堆栈__堆栈相关接口_API 文档_资源编排-阿里云
创建磁盘__磁盘相关接口_API 参考_云服务器 ECS-阿里云
步骤1:配置四层转发__快速入门(非网站业务)_DDoS 高防IP-阿里云
相关内容
常见错误说明__附录_大数据计算服务-阿里云
发送短信接口__API使用手册_短信服务-阿里云
接口文档__Android_安全组件教程_移动安全-阿里云
运营商错误码(联通)__常见问题_短信服务-阿里云
设置短信模板__使用手册_短信服务-阿里云
OSS 权限问题及排查__常见错误及排除_最佳实践_对象存储 OSS-阿里云
消息通知__操作指南_批量计算-阿里云
设备端快速接入(MQTT)__快速开始_阿里云物联网套件-阿里云
查询API调用流量数据__API管理相关接口_API_API 网关-阿里云
使用STS访问__JavaScript-SDK_SDK 参考_对象存储 OSS-阿里云