下载工具
使用“下载”从 URL 检索数据以用于下游处理或保存到文件中。“下载”工具还可以通过 FTP 和 SFTP 下载或上传数据。
从 2022.3 开始的非 FIPS Designer 版本默认启用 对等验证 。转至 对等验证允许列表 了解如何在平面文件中指定问题主机的列表(应在这些主机上跳过对等验证)。
配置工具
“基本”选项卡
使用 基本 选项卡为“下载”工具设置必须的控制。
URL 字段 :指定传入数据流中包含要从中提取数据(或将数据上传到)的 URL(统一资源定位器 - Internet 资源)的字段。这可能只是一个在 文本输入工具 中通过一个字段值指定 URL 。
将“下载”工具与 DCM 一起使用时,将从中提取数据的 URL 会分为两部分。URL 的基是从 DCM 数据源定义中获取,而后一部分(附加到基 URL 的部分)是从传入数据流中获取。
编码URL文本 :选中时,URL 会予以编码,因此不安全的 ASCII 字符会转换为可以通过 Internet 传输的格式。例如,以 %20 替换空格。
输出 :指定返回数据的格式。数据可以通过数据字段返回或输出到文件中。
至字段 :下载的内容作为数据字段在数据流中返回。下载的内容将位于一个名为“DownloadData.”的字段中。您可能需要使用下游工具(如 文本转换到列工具 、 正则表达式工具 或 公式工具 )解析此数据。
至文件
临时文件 :数据输出到位于用户临时目录中的临时文件。如需详细了解如何在 Designer 中进行临时文件处理,请参阅 Alteryx 和临时文件 。
文件名在字段中 :数据输出到一个特定文件中,通过一个传入字段指定文件。使用下拉菜单选择要输出到的文件名所在的字段。
标题选项卡
使用 标头信息 选项卡修改随 Web 请求发送的 HTTP 标头 。
添加以下常量值 :允许添加固定标头值。
For example, to add the header "Accept: text/plain"...
Select the Add button.
Enter "Accept" in the Name field and "text/plain" in the Value field.
包含值的字段 :从记录数据中取值来创建标头值。
For example, to add the header "Expect: 100-continue", select a field from the input data named "Expect" that contains "100-continue."
“实际数据”选项卡
使用 实际数据 选项卡设置要执行的 HTTP 操作,并根据需要为 Web 请求构建查询字符串或请求体。
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 文档,以查看哪些请求是受支持的。
从以下查询字符串/正文选项中选择:
编写查询字符串/正文 :
来自以下常量值 :将常量名值对添加到查询字符串/正文
包含值的字段 :从传入数据记录中获取名值对。字段名称是查询字符串/正文中使用的名称
Content-Type :控制名值对的编码方式。
Application/x-www-form-urlencoded :例如,Name1=Value1&Name2=Value2&Name3=Value3。因为不安全的 ASCII 字符会被自动编码,因此请确保不要预先对您的数据编码。
Multipart/form-data :仅在使用 HTTP 操作 POST 和“自定义”时才可用。
从字段中获取查询字符串/正文 :选择输入数据中包含查询字符串/正文数据的字段。使用 HTTP 操作 POST、PUT 和“自定义”时,可以选择 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 值。支持的别名:
These are the supported aliases:
{dcm:userName}
{dcm:password}
{dcm:host}
将下载工具添加到画布,选择 DCM 连接,并确保选中 解析实际数据 复选框。
在 标头或实际数据 选项卡上,根据您目标端点的要求,您可以添加一个常量,并在 值 列中使用
{dcm:userName}
或{dcm:password}
。您可以组合多个 DCM 引用或添加自定义字符串;例如,可以创建值为{dcm:userName}:{dcm:password}
的标头 Authentication 。如果您希望在 POST 请求中将 DCM 密钥作为实际数据正文的一部分进行解析,请确保从 内容类型 下拉列表中选择 multipart/form-data 选项,因为出于安全原因,Alteryx 不允许在 URL 内扩展密钥。
Base64 编码
在“下载”工具的配置窗格中,您可以使用
{base64:yourtextgoeshere}
标记将任何字符串纳入“标头”或“实际数据”常量值中。如果要对 DCM 引用值进行 base64 编码,则可以将其与任何其他字符串甚至上述 DCM 标记结合使用。
您可以使用
{base64:{dcm:userName}:{dcm:password}}
作为 Authentication 标头值,对存储在 DCM 中的用户名和密码组合进行编码。
其他注意事项
为避免使用“下载”工具时出现连接延迟,请确保在账户的 Internet 属性(控制面板>Internet 选项>连接>局域网 (LAN) 设置)中取消选中“自动检测设置”选项。