本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
列出远程目录的内容
在从远程 SFTP 服务器检索文件之前,可以检索远程 SFTP 服务器上目录的内容。为此,您可以使用 StartDirectoryListingAPI 调用。
以下示例列出了远程 SFTP 服务器上该home
文件夹的内容,该内容是在连接器的配置中指定的。结果将放入 Amazon S3 位置/DOC-EXAMPLE-BUCKET/connector-files
和名为的文件中c-AAAA1111BBBB2222C-6666abcd-11aa-22bb-cc33-0000aaaa3333.json
。
aws transfer start-directory-listing \ --connector-id c-AAAA1111BBBB2222C \ --output-directory-path /DOC-EXAMPLE-BUCKET/example/connector-files \ --remote-directory-path /home
此 Amazon CLI 命令返回列表 ID 和包含结果的文件的名称。
{ "ListingId": "6666abcd-11aa-22bb-cc33-0000aaaa3333", "OutputFileName": "c-AAAA1111BBBB2222C-6666abcd-11aa-22bb-cc33-0000aaaa3333.json" }
注意
输出文件的命名约定为
。connector-ID
-listing-ID
.json
JSON 文件包含以下信息:
-
filePath
:远程文件的完整路径,相对于远程服务器上 SFTP 连接器的列出请求目录。 -
modifiedTimestamp
:上次修改文件的时间,以秒为单位,采用协调世界时 (UTC) 格式。该字段是可选的。如果远程文件属性不包含时间戳,则文件列表中将省略该时间戳。 -
size
: 文件的大小,以字节为单位。该字段是可选的。如果远程文件属性不包含文件大小,则文件列表中将省略该文件大小。 -
path
:远程目录的完整路径,相对于远程服务器上的 SFTP 连接器的列出请求目录。 -
truncated
: 一个标志,指示列表输出是否包含远程目录中包含的所有项目。如果您的truncated
输出值为 true,则可以增加可选max-items
输入属性中提供的值,以便能够列出更多项目(允许的最大列表大小为 10,000 个)。
以下是输出文件 (c-AAAA1111BBBB2222C-6666abcd-11aa-22bb-cc33-0000aaaa3333.json
) 内容的示例,其中远程目录包含两个文件和两个子目录(路径)。
{ "files": [ { "filePath": "/home/what.txt", "modifiedTimestamp": "2024-01-30T20:34:54Z", "size" : 2323 }, { "filePath": "/home/how.pgp", "modifiedTimestamp": "2024-01-30T20:34:54Z", "size" : 4691 } ], "paths": [ { "path": "/home/magic" }, { "path": "/home/aws" }, ], "truncated": "false" }