列出远程目录的内容 - AWS Transfer Family

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

列出远程目录的内容

在从远程 SFTP 服务器检索文件之前,可以检索远程 SFTP 服务器上目录的内容。为此,你可以使用 StartDirectoryListingAPI 操作。

以下示例列出了远程 SFTP 服务器上该home文件夹的内容,该内容是在连接器的配置中指定的。结果将放入 Amazon S3 位置/amzn-s3-demo-bucket/connector-files和名为的文件中c-AAAA1111BBBB2222C-6666abcd-11aa-22bb-cc33-0000aaaa3333.json

aws transfer start-directory-listing \ --connector-id c-AAAA1111BBBB2222C \ --output-directory-path /amzn-s3-demo-bucket/example/connector-files \ --remote-directory-path /home

此 AWS 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" }