publish() 方法
将 Pandas 或 HCL 数据帧发送到 活动中心 数据集。
语法
hcl.publish(dataframe_name, table_name = AC_dataset_name, column_names = {"column_name":"dataset_display_name", "...n":"...n"}|dictionary_object, append = True|False)
AC = 活动中心
参数
| 名称 | 描述 |
|---|---|
| dataframe_name | 要保存到 活动中心 的 Pandas 或 HCL 数据帧的名称。 将保存数据帧中的所有列。如果您只想保存选定的列,请先适当配置的数据帧,然后再使用 publish()。 |
| table_name = AC_dataset_name | 活动中心 数据集的名称。 |
| column_names = {"column_name" : "dataset_display_name", "...n" : "...n"} 可选 | 数据帧中的列名与 活动中心 数据集中相应字段的显示名称之间的映射。 使用标准 Python 字典为一个或多个列构建该映射。 您仅为目标 活动中心 数据集中的字段指定显示名称。活动中心 中的底层字段名称保持不变。 您可以选择仅为列的子集指定显示名称。未指定显示名称的列使用 活动中心 中的数据帧列名。 column_names 参数不选择要保存哪些列。默认情况下,publish() 方法将数据帧中的所有列保存到 活动中心。 |
| column_names = 字典对象 可选 | 一个预先存在的字典对象,它将数据帧中的一个或多个列名映射到 活动中心 数据集中相应字段的显示名称。 作为在 publish() 内部创建列映射的替代解决方案,您可以在单独的字典中创建映射并仅在 publish() 内部指定该字典名称。如果您需要为 活动中心 中的多个目标数据集创建同一组显示名称,则此方法效率更高。 在 publish() 内创建字典时适用的准则也适用于创建单独的字典时。 |
| append = True | False |
如果您省略该参数,则保存的数据默认覆盖所有现有数据。 |
返回
如果成功,则为返回码 204。对于失败,返回一个错误消息。
返回代码 204 表示 机器人 已成功将数据发送到 活动中心。活动中心 中随后的数据处理也必须成功,然后从 机器人 发送的数据才能在 活动中心 中作为数据集使用。
示例
将数据帧保存到 活动中心 数据集
您将 customer_summary 数据帧保存到名为 Customer 的 活动中心 数据集。如果 活动中心 中已存在 Customer 数据集,现有记录将被覆盖。
hcl.publish(customer_summary, table_name = "Customer")
备注
避免 活动中心 数据集重名
publish() 方法和 活动中心 不会阻止发布名称重复或相同的数据集。重名的数据集会在 活动中心 中造成混淆。
有两种不同情形可能导致 活动中心 中出现名称相同的数据集:
包含同名数据集的 publish() 方法在两个不同的机器人中运行。
包含同名数据集的 publish() 方法在同一机器人的开发模式和生产模式下都运行。
为避免创建重复的数据集名称,请执行以下操作::
指定唯一的名称在 table_name 参数中指定数据集名称之前,请查看 活动中心 中现有数据集的名称。务必指定一个唯一的数据集名称。
使用不同的开发和生产数据集名称在开发模式下,在 table_name 参数中使用开发数据集名称。在将脚本版本激活至生产模式之前,更新 table_name 参数以使用生产数据集名称。
例如,将 table_name = "Customer_dev" 更新为 table_name = "Customer"。
说明
按照设计,开发模式和生产模式会隔离存储在 机器人 中的数据。这种隔离可防止开发模式下的任何操作或脚本意外修改或删除生产数据。该设计意味着,在这两种模式下名称完全相同的表、数据帧或数据集是彼此完全独立、互不关联的对象。
有关详细信息,请参阅机器人 中的开发模式和生产模式。
列名称和显示名称必须是唯一的
要成功将数据从 机器人 发布到 活动中心,数据帧列名必须是唯一的。如果数据帧中出现重复的列名,将会导致 publish() 方法失败,并显示错误消息。
如果您为 活动中心 数据集中的字段指定显示名称,则显示名称也必须是唯一的。数据集中出现重复的显示名称不会导致 publish() 方法失败,包含该方法的脚本仍会运行完成。然而,随后的数据处理将失败,且无法成功发布到 活动中心。
发布能力范围
从 机器人 创建的 活动中心 数据集的写入权限是基于机器人的。要更新数据集,必须使用最初创建数据集的机器人。publish() 方法不支持跨机器人更新数据集。
自动添加发布日期和时间
publish() 方法会自动在发送到 活动中心 的数据中包含发布日期和时间。当您将数据作为表添加到 活动中心 中的分析和仪表盘中时,将包括发布时间字段,以显示并动态更新表中每个记录的最新发布日期和时间。
此时间戳信息对于验证来自 机器人 的计划发布是否在预期的日期和时间执行非常有用。如果将记录追加到数据集,时间戳信息还会显示每条记录追加的时间,并允许您按时间戳进行排序。