Skip to main content

Download Tool Icon 下载工具

使用“下载”从 URL 检索数据以用于下游处理或保存到文件中。“下载”工具还可以通过 FTP 和 SFTP 下载或上传数据。

从 2022.3 开始的非 FIPS Designer 版本默认启用对等验证。转至对等验证允许列表了解如何在平面文件中指定问题主机的列表(应在这些主机上跳过对等验证)。

配置工具

“基本”选项卡

使用基本选项卡为“下载”工具设置必须的控制。

  1. URL 字段:指定传入数据流中包含要从中提取数据(或将数据上传到)的 URL(统一资源定位器 - Internet 资源)的字段。这可能只是一个在文本输入工具中通过一个字段值指定 URL 。

    将“下载”工具与 DCM 一起使用时,将从中提取数据的 URL 会分为两部分。URL 的基是从 DCM 数据源定义中获取,而后一部分(附加到基 URL 的部分)是从传入数据流中获取。

  2. 编码 URL 文本:选中以对 URL 进行编码,以便将不安全的 ASCII 字符转换成可以通过 Internet 传输的格式。例如,用 %20 替换空格。

  3. 输出:指定返回数据的格式。数据可以通过数据字段返回或输出到文件中。

    • 至字段:下载的内容作为数据字段在数据流中返回。下载的内容在一个名为“DownloadData”的字段中。您可能需要使用下游工具(如文本转换到列工具正则表达式工具公式工具)解析此数据。

      • 字符串:数据作为新的宽字符串类型字段返回。宽字符串支持 Unicode® 字符。选择一个用于编码的代码页。默认值为 UTF-8。为了获得最一致的结果,应用程序应使用 Unicode,如 UTF-8(代码页 65001)或 UTF-16,而不是特定的代码页。

      • Blob:数据作为新的 blob 类型字段返回。Blob 也称为二进制大对象。图像文件通常以这种格式存储。要使用图像,请在下游配置图像工具并指定图像或 Blob 字段。

    • 至文件

      • 临时文件:数据输出到位于用户临时目录中的临时文件。如需详细了解如何在 Designer 中进行临时文件处理,请参阅 Alteryx 和临时文件

      • 文件名在字段中:数据输出到一个特定文件中,通过一个传入字段指定文件。使用下拉菜单选择要输出到的文件名所在的字段。

标题选项卡

使用标头信息选项卡修改随 Web 请求发送的 HTTP 标头

  • 添加以下常量值:允许添加固定标头值。

    例如,添加标头“Accept: text/plain”……

    1. 选择添加按钮。

    2. 在“名称”字段中输入“Accept”,在“值”字段中输入“text/plain”。

  • 包含值的字段:从记录数据中取值来创建标头值。

    例如,要添加标头“Expect: 100-continue”,请从名为“Expect”的输入数据中选择一个包含“100-continue”的字段。

“实际数据”选项卡

使用实际数据选项卡设置要执行的 HTTP 操作,并根据需要为 Web 请求构建查询字符串或请求体。

  1. HTTP 操作:为 Web 请求选择 HTTP 操作:

    • GET(或 FTP):执行 GET 请求或从 FTP 或 SFTP 站点下载文件。您无需在此选项卡上输入任何其他选项,即可从所选 URL 下载数据。

    • POST:对所选 URL 执行 POST 请求。通常,在使用此选项时,您使用以下选项指定 POST 请求体。

    • PUT:执行 PUT 请求。此选项仅允许您通过 Blob 输入工具从 Blob 字段中获取查询正文。通常用于将文件上传到远程服务器。

    • DELETE:执行 DELETE 请求。通常用于要求远程服务器删除指定的资源。

    • HEAD:执行 HEAD 请求。要求服务器返回标头数据,但不返回正文数据。

    • 自定义:使用此选项可在文本框中输入自定义动词。此请求的其他所有行为与 POST 相同。就在发出请求之前,POST 动词被自定义动词替换。

      动词支持

      只有当您向其发送请求的远程服务器支持某个特定动词时,这些选项才有效。检查有关您在使用的 URL 的 API 文档,以查看哪些请求是受支持的。

  2. 从以下查询字符串/正文选项中选择:

    • 编写查询字符串/正文

      1. 来自以下常量值:将常量名称值对添加到查询字符串/正文

      2. 以及来自这些字段的值:从传入数据记录中获取名称值对。字段名称是查询字符串/正文中使用的名称。

      3. 内容类型:控制名称值对的编码方式。

        • Application/x-www-form-urlencoded:例如,Name1=Value1&Name2=Value2&Name3=Value3。因为不安全的 ASCII 字符会被自动编码,因此请确保不要预先对您的数据编码。

        • Multipart/form-data(多部件/表单数据):仅在使用 POST 和自定义 HTTP 操作时可用。

    • 从字段中获取查询字符串/正文:选择输入数据中包含查询字符串/正文数据的字段。使用 POST、PUT 和自定义 HTTP 操作时,可以选择 Blob 字段。

    • 从以下框中获取查询字符串/正文:手动输入查询字符串或正文内容。

    • 所有文本数据在发送到远程 Web 服务器之前都经过 UTF-8 编码。

“连接”选项卡

使用连接选项卡设置连接凭证。

  • 用户名(可选):如果上述 URL 规范要求,请输入用户名。这是可选字段。

  • 密码(可选):如果上述 URL 规范要求,请输入密码。这是可选字段。

以上凭证用于基本身份验证。

  • 最大连接数量:指定“下载”工具要执行的最大同时传输数。只有当有多条输入记录被发送到下载工具时,才会并行传输。多个“下载”工具独立运行,但通常不会同时运行。对于添加到工作流的新的下载工具,默认连接数为 2,最大连接数为 32。

    增加连接数可能会减少完成所有传输所需的总时间,但请注意不要将连接数设置得太高,否则可能会使服务器过载。如果服务器认为您使用不当,它可能会停止响应、报告错误,甚至拒绝连接。这在访问不受您控制的公共网站时尤为重要。大多数 Web 浏览器会进行多达 6 次的同时传输,但这些通常是作为网页的一部分的相对较小的传输。对于您自己企业内部的,您可以更好地控制其配置方式的服务器,使用更多数量的连接可能是可以的。

    此外,由于“下载”工具会在传输完成时向下游发送记录,因此可能会导致记录通过该工具时的顺序发生变化。如果顺序很重要,请确保对结果进行排序或将连接数限制为 1。最后,请注意空 URL 会在需要实际传输的 URL 之前处理。

  • 超时(秒):指定在报告由于连接无响应而导致的超时之前要等待的秒数。选择 0(从不超时)到 10,000 之间的一个数字。

  • 限制记录数量:(默认情况下未选中)选中此选项可限制在给定分钟内通过该工具的记录数。当可以处理的记录数受到限制时,这对于指定每分钟发送的请求数很有用。

  • 每分钟的记录数:选中正上方的限制记录数量复选框,以自定义您希望每分钟通过该工具的记录数。

    • 默认值为 60。

    • 可接受的范围为 0 到 60,001(不含)。

DCM 支持

下载工具的 DCM 支持通过基本验证对 API 端点进行身份验证。当发送 PUT 和 POST 请求时,它还可以解析请求标头或实际数据常量中存储在 DCM 中的值。这是通过允许使用 base64 编码对标头或实际数据值的特定部分进行编码来实现的。该编码与 DCM 扩展值配合使用,可让您添加来自 DCM 的凭证并使用 base64 对其进行加密。

选中使用数据连接管理器 (DCM) 复选框以通过 DCM 设置连接。如需了解详情,请参阅 DCM - Designer

在 PUT 和 POST 实际数据请求中解析 DCM 凭证

选中解析实际数据复选框,将 DCM 特定的别名用于“标头”和“实际数据”设置。别名可以用于名称和值,而仅“编写查询字符串/正文”选项支持“实际数据”。运行工作流后,这些别名将自动替换为相应的 DCM 值。

这些是支持的别名:

  • {dcm:userName}

  • {dcm:password}

  • {dcm:host}

1_basic.png
2_multipart_form-data.png
  1. 将下载工具添加到画布,选择 DCM 连接,并确保选中解析实际数据复选框。

  2. 标头实际数据选项卡上,根据您目标端点的要求,您可以添加一个常量,并在列中使用 {dcm:userName}{dcm:password}。您可以组合多个 DCM 引用,也可以包含自定义字符串。例如,您可以创建一个标头验证,其值为 {dcm:userName}:{dcm:password}

  3. 如果您希望在 POST 请求中将 DCM 密钥作为实际数据正文的一部分进行解析,请确保从内容类型下拉列表中选择 multipart/form-data 选项,因为出于安全原因,Alteryx 不允许在 URL 内扩展密钥。

Base64 编码

在“下载”工具的配置窗格中,您可以使用 {base64:yourtextgoeshere} 标记将任何字符串纳入“标头”或“实际数据”常量值中。如果要对 DCM 引用值进行 base64 编码,则可以将其与任何其他字符串甚至上述 DCM 标记结合使用。

您可以使用 {base64:{dcm:userName}:{dcm:password}} 作为 Authentication 标头值,对存储在 DCM 中的用户名和密码组合进行编码。

3_64.png

其他注意事项

为避免使用“下载”工具时出现连接延迟,请确保在账户的 Internet 属性(“控制面板”>“Internet 选项”>“连接”>“局域网 (LAN) 设置”)中取消选中“自动检测设置”选项。