使用命令行界面 (CLI) 传输文件 - Nimble Studio 文件传输功能

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

使用命令行界面 (CLI) 传输文件

以下各节详细介绍了如何File Transfer使用命令行界面 (CLI) 上传、下载和配置热文件夹。

上传文件

以下命令适用于命令行界面 (CLI)。使用以下命令,可以从您在配置文件中设置的相应 S3 存储桶下载文件。可以从计算机上的任何位置运行这些命令。但是,我们建议从根运行这些命令。

File Transfer 保留您提供的文件夹结构。这意味着文件夹结构在到达 Amazon S3 后保持不变。但是,您无法在绝对路径中提供 File Transfer。这意味着文件路径不能以 /(正斜杠)开头。

File Transfer 可以上传所有 S3 存储类。有关存储类的更多信息,请参阅 Amazon S3 存储类

注意

建议在本地计算机上禁用睡眠模式。如果您的计算机激活了睡眠模式,正在进行的传输可能会被中断。在设置中,切换为禁用休眠(仅限 macOS)

使用 CLI 开始上传
  1. 打开终端。

  2. (推荐)导航到包含待上传文件和文件夹的文件夹。

  3. 在计算机上的任意位置运行以下命令,将文件从本地计算机上传到 Amazon S3。

    filetransfer upload [transfer profile] [relative path]
    1. [传输配置文件]替换为您要使用的传输配置文件。

    2. [相对路径]替换为要上传的文件或目录的路径。

      1. 相对路径不以 /(正斜杠)开头。例如:Users/username/Desktop/folder1

      2. 不要使用绝对路径。绝对文件路径以 /(正斜杠)开头。例如:/Users/username/Desktop/folder1

    3. 命令示例:filetransfer upload [transfer profile name] /Users/username/Desktop/folder1

File Transfer 对您的文件执行 File Transfer 校验和。校验和用于额外的文件完整性验证,以便您检测文件是否被意外修改。校验和完成后,开始传输。如果您提供自己的媒体哈希列表 (MHL),则 File Transfer 可以验证您的文件是否与 MHL 中定义的校验和相匹配。MHL 是一个 XML 文件,通常附带原始摄像机镜头。

Flags

为了执行某些操作,可以在命令的末尾添加标志。是否使用标志是可选的。

标记 描述 示例

--help

列出可用的标志和命令。

filetransfer --help

--checksum-algorithm

定义哪个校验和计算 File Transfer 执行。支持的值:md5XXHashXXHash64XXH3

filetransfer upload [remote configuration] [relative path] –-checksum-algorithm xxhash64

--enable-metadata-filter

使用时,File Transfer 会自动筛选系统元数据文件。这些文件包括 Thumbs.db.DS_Store 和以 ._. 开头的文件

filetransfer upload [remote configuration] [relative path] --enable-metadata-filter

--filter

根据文件格式筛选正在传输的文件。筛选条件字段接受有效的正则表达式。示例:^.*\.(mov)$ 仅传输以 .mov 结尾的文件。可以将筛选条件添加到配置文件中以执行特定操作。当您在配置中添加筛选条件而不是将其用作特定命令的标志时,File Transfer 会将操作应用于所有传输。

filetransfer upload [remote configuration] [relative path] --filter "^.*\.(mov)$"

此命令只会上传格式为 .mov 的文件。

--force

无论筛选条件或冲突如何,都会强制传输。默认情况下,File Transfer 不会传输以前传输的文件。

强制标志可以使 File Transfer 忽略任何筛选条件或冲突。如果不小心删除了需要下载的文件,则此功能非常有用。

filetransfer upload [remote configuration] [relative path] --force

--max-age

只传输在截至当前时间的时间窗口内创建或修改的文件。如果未提供任何单位,则最长期限将以秒为单位。例如,2d 将下载最近两天的文件,3500 将上传最近 3500 秒的文件。

filetransfer upload [remote configuration] [relative path] --max-age “2d”

上述命令只会将最近 2 天内的文件上传到 S3 存储桶。

--retry-count

如果发生错误,File Transfer 将尝试传输文件,次数与重试次数相同。

filetransfer upload [remote configuration] [relative path] --retry-count 4

--chunk-size

组块大小(以 MB 为单位,默认为 25)

filetransfer upload [remote configuration] [relative path] --chunk-size 50

--auto-tuning

允许工具决定最佳配置值以优化传输

filetransfer upload [remote configuration] [relative path] --auto-tuning true

--max-active-checksums

活动校验和的最大数量(默认为 1)。此标志仅对上传有效。

filetransfer upload [remote configuration] [relative path] --max-active-checksums 5

--max-active-transfers

最大传输数量

filetransfer upload [remote configuration] [relative path] --max-active-transfers 10

--prefix

用于上传和下载的 S3 前缀路径

filetransfer upload [remote configuration] [relative path] --prefix my/s3/path

--profile

AWS 已命名的个人资料

filetransfer upload [remote configuration] [relative path] --profile my_named_profile

--threads

每次上传的线程数(默认为 10)

filetransfer upload [remote configuration] [relative path] --threads 10

FILETRANSFER_CONFIG_DIR

覆盖默认 .filetransfer 文件夹。

此变量可以定义任何目录来存储配置文件和数据库文件。如果未设置 FILETRANSFER_CONFIG_DIR,则将使用默认值 ~/.filetransfer。仍必须将文件命名为 configuration.yamlconfiguration.yamlchecksum-cache.db。如果文件不存在,就会被创建。

FILETRANSFER_CONFIG_DIR=Desktop/config1 filetransfer upload [remote configuration] [relative path]

配置热文件夹

要使用 CLI 配置上传热文件夹。
  1. 使用计算机上的任何文本编辑软件打开配置文件。

    1. Windows:导航到您计算机上的 User/<your username> 文件夹。打开 .filetransfer 文件夹,用文本编辑器打开 filetransfer.yaml 文件。

    2. macOS:输入 Cmd+Shift+G。然后输入 ~/.filetransfer。使用文本编辑器打开 filetransfer.yaml 文件。

    3. Linux:使用任何文本编辑器打开 filetransfer.yaml 文件。文件位于 ~/.filetransfer/configuration.yaml 中。

  2. 使用以下字段创建新 hot_folder 部分

    hot folders: - enabled: true local_source_folder: /Users/user/myhotfolder name: my_hot_folder remote_configurations: - remote_configuration_name: example_configuration s3_destination_folder: my/s3/prefix
  3. 仅当 enabled 设置为 true 时,热文件夹才会处于活动状态。

  4. local_source_folder 替换为您希望 File Transfer 监控的文件夹位置。文件路径必须包含完整路径:C:\path\to\upload-hot-folder (Windows) 或 /path/to/upload-hot-folder (Linux&macOS)。

  5. remote_configurations 下:

    1. remote_configuration_name 替换为您使用的远程配置的名称。可以在 protocols.s3.transfer_profiles 下找到您的远程配置。

    2. (可选)将 s3_destination_folder 替换为要将文件上传到的 S3 目标文件夹。如果此文件夹尚不存在,File Transfer 将在 Amazon S3 中创建该文件夹。如果未设置此值,会将文件放在存储桶的根目录中。

    3. (可选)您可以根据需要在此处添加任意数量的远程配置条目,热文件夹将使用每个远程配置开始上传。这允许您设置一个将上传到多个存储桶的热文件夹。

  6. 以下示例是具有多个热文件夹的上传热文件夹配置。在此示例中,有两个热文件夹。

    1. 第一个热文件夹设置为监视 Media/drive 文件夹。将文件添加到此文件夹后,它将启动两次上传,一次使用 example1 远程配置,另一次使用 example2 远程配置。每次上传都将使用其各自的 s3_destination_folder

    2. 第二个热文件夹设置为监视 /Users/user1/myhotfolder 文件夹。将文件添加到此文件夹后,它将使用 another_configuration 远程配置开始单次上传。所有文件都将上传到 Amazon S3 中的 example_folder 文件夹中。

    hot folders: - enabled: true local_source_folder: /Media/drive name: my_hot_folder remote_configurations: - remote_configuration_name: example1 s3_destination_folder: my/s3/folder - remote_configuration_name: example2 s3_destination_folder: second/folder - enabled: true local_source_folder: /Users/user1/my_hot_folder name: another_hot_folder remote_configurations: - remote_configuration_name: another_configuration s3_destination_folder: example/folder
  7. 保存配置文件。

    注意

    当您启动进程守护程序或添加/更新热文件夹时,将开始对整个文件夹进行自动强制上传。如果您不喜欢这种行为,可以打开 GUI 并取消此作业。

下载文件

使用以下命令,可以从您在配置文件中设置的相应 S3 存储桶下载文件。可以从计算机上的任何位置运行这些命令。我们建议从根运行这些命令。

File Transfer 无法直接从 Deep Archive 或 Glacier 存储类下载。这是因为这些类存储在不同的系统中。这些类型的对象需要使用不同的方法检索文件。有关从不同系统检索对象的更多信息,请参阅恢复已归档的对象。有关存储类的更多信息,请参阅 Amazon S3 存储类

注意

建议在本地计算机上禁用睡眠模式。如果您的计算机激活了睡眠模式,正在进行的传输可能会被中断。在设置中,切换为禁用休眠(仅限 macOS)

使用 CLI 开始下载
  1. 打开终端。

  2. (推荐)导航到要将文件下载到的文件夹。

  3. 在计算机上的任意位置运行以下命令,将文件从 Amazon S3 下载到您的计算机上。

    filetransfer download [transfer profile] [relative path]
    1. [传输配置文件]替换为您要使用的传输配置文件。

    2. [相对路径]替换为要将文件下载到的路径。

      1. 相对路径不以 /(正斜杠)开头。例如:Users/username/Desktop/folder1

      2. 不要使用绝对路径。绝对文件路径以 /(正斜杠)开头。例如:/Users/username/Desktop/folder1

    3. 命令示例:filetransfer download [transfer profile name] /Users/username/Desktop/folder1

File Transfer 检查本地 File Transfer 数据库以验证所选文件是否已下载。

Flags

为了执行某些操作,可以在命令的末尾添加标志。是否使用标志是可选的。

标记 描述 示例

--help

列出可用的标志和命令。

filetransfer --help

--checksum-algorithm

定义哪个校验和计算 File Transfer 执行。支持的值:md5XXHashXXHash64XXH3

filetransfer download [remote configuration] [relative path] –-checksum-algorithm xxhash64

--enable-metadata-filter

使用时,File Transfer 会自动筛选系统元数据文件。这些文件包括 Thumbs.db.DS_Store 和以 ._. 开头的文件

filetransfer download [remote configuration] [relative path] --enable-metadata-filter

--filter

根据文件格式筛选正在传输的文件。筛选条件字段接受有效的正则表达式。示例:^.*\.(mov)$ 仅传输以 .mov 结尾的文件。可以将筛选条件添加到配置文件中以执行特定操作。当您在配置中添加过滤器而不是将其用作特定命令的标志时,File Transfer 会将操作应用于所有传输。

filetransfer download [remote configuration] [relative path] --filter "^.*\.(mov)$"

此命令只会下载格式为 .mov 的文件。

--force

无论筛选条件或冲突如何,都会强制传输。默认情况下,File Transfer 不会传输以前传输的文件。

强制标志可以使 File Transfer 忽略任何筛选条件或冲突。如果不小心删除了需要下载的文件,则此功能非常有用。

filetransfer download [remote configuration] [relative path] --force

--max-age

只传输在截至当前时间的时间窗口内创建或修改的文件。如果未提供任何单位,则最长期限将以秒为单位。例如,2d 将下载最近两天的文件,3500 将上传最近 3500 秒的文件。

filetransfer download [remote configuration] [relative path] --max-age “2d”

上述命令只会将最近 2 天内的文件下载到 S3 存储桶。

--retry-count

如果发生错误,File Transfer 将尝试传输文件,次数与重试次数相同。

filetransfer download [remote configuration] [relative path] --retry-count 4

--chunk-size

组块大小(以 MB 为单位,默认为 25)

filetransfer download [remote configuration] [relative path] --chunk-size 50

--auto-tuning

允许工具决定最佳配置值以优化传输

filetransfer download [remote configuration] [relative path] --auto-tuning true

--max-active-checksums

活动校验和的最大数量(默认为 1)

filetransfer download [remote configuration] [relative path] --max-active-checksums 5

--max-active-transfers

最大传输数量

filetransfer download [remote configuration] [relative path] --max-active-transfers 10

--prefix

用于上传和下载的 S3 前缀路径

filetransfer download [remote configuration] [relative path] --prefix my/s3/path

--profile

AWS 已命名的个人资料

filetransfer download [remote configuration] [relative path] --profile my_named_profile

--threads

每次下载的线程数(默认为 10)

filetransfer download [remote configuration] [relative path] --threads 10

FILETRANSFER_CONFIG_DIR

覆盖默认 .filetransfer 文件夹。

此变量可以定义任何目录来存储配置文件和数据库文件。如果未设置 FILETRANSFER_CONFIG_DIR,则将使用默认值 ~/.filetransfer。仍必须将文件命名为 configuration.yamlconfiguration.yamlchecksum-cache.db。如果文件不存在,就会被创建。

FILETRANSFER_CONFIG_DIR=Desktop/config1 filetransfer download [remote configuration] [relative path]