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() 方法自动包含发送到活动中心的数据的发布日期和时间。当您将数据作为表添加到活动中心中的分析和仪表板中时,将包括发布时间字段,以显示并动态更新表中每个记录的最新发布日期和时间。
此时间戳信息对于验证来自机器人应用程序的计划发布是否在预期的日期和时间执行非常有用。如果将记录追加到数据集,时间戳信息还会显示每条记录追加的时间,并允许您按时间戳进行排序。