Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/270.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# AWS S3-ListObjects返回不完整的目录列表_C#_Amazon Web Services_Amazon S3_Aws Sdk - Fatal编程技术网

C# AWS S3-ListObjects返回不完整的目录列表

C# AWS S3-ListObjects返回不完整的目录列表,c#,amazon-web-services,amazon-s3,aws-sdk,C#,Amazon Web Services,Amazon S3,Aws Sdk,我使用ListObject函数时没有任何分隔符,因此我得到了如下结果: /BF /BF/FTP /BF/MUSIC/LIBRARY/AUDITION/BEAKING%20EARLY.MP3 /BF/VIDEO/ /BF/VIDEO/Example /BF/VIDEO/Example/test.mp4 音乐文件夹中的问题。为什么ListObjects不返回键为“/BF/MUSIC”的S3Object。有许多对象具有相同的问题。为什么会这样 原因是S3实际上是一个扁平结构。没有文件夹,但它只识别正

我使用ListObject函数时没有任何分隔符,因此我得到了如下结果:

/BF
/BF/FTP
/BF/MUSIC/LIBRARY/AUDITION/BEAKING%20EARLY.MP3
/BF/VIDEO/
/BF/VIDEO/Example
/BF/VIDEO/Example/test.mp4

音乐文件夹中的问题。为什么ListObjects不返回键为“/BF/MUSIC”的S3Object。有许多对象具有相同的问题。为什么会这样

原因是S3实际上是一个扁平结构。没有文件夹,但它只识别正斜杠,因此将具有相同前缀的文件夹分组到同一文件夹下。因此,在您的示例中“/BF/MUSIC”将只是另一个对象,而不是一个空文件夹

在AmazonS3中,bucket和对象是主要资源,其中 对象存储在桶中。AmazonS3的结构是扁平的,没有 就像您在典型文件系统中看到的层次结构一样。然而,对于 为了简化组织,AmazonS3控制台支持 文件夹概念作为对象分组的一种方式。AmazonS3就是这样做的 通过使用对象的键名前缀


来源:

我需要写一些类似bucket文件夹资源管理器的东西,你知道如何使用ListObjects或其他东西获取路径吗?我不知道。您可能需要想出自己的算法,例如将所有内容作为子文件夹处理,并跟踪它们以对对象进行分组。@neustrat47这就是分隔符的作用。它在响应XML中返回
中的“文件夹”。