我们正在使用Nifi注册表和Azure Devops为Nifi开发CI-CD。我们希望它是完全自动化的,并且在一个问题上被阻止。在我们的处理器中,我们使用密码等敏感属性。如何从rest API或nipyapi模块更新它们?
是否支持它,或者推荐的方式是什么?
发布于 2019-08-01 13:17:29
敏感属性设置与任何其他属性设置一样简单。
使用nipyapi更新GetTwitter处理器中的敏感属性的示例代码段。
# Custom method to return all processors in a process group by using group name;
# Equivalent to nipyapi.canvas.list_all_processors(pg_id='root') but accepts group name
def get_all_processors_in_group(processgroup_name, "name"):
# ...
# ...
def update():
processors_list = get_all_processors_in_group(processgroup_name, "name")
processor = ... # Get 'GetTwitter' processor
props = processor.component.config.properties
props["Consumer Key"] = "Random key"
props["Consumer Secret"] = "Random secret" # Sensitive value
props["Access Token"] = "Random token"
props["Access Token Secret"] = "Random token secret" # Sensitive value
config = processor.component.config
config.properties = props
nipyapi.canvas.update_processor(processor, config)发布于 2019-08-01 12:50:18
您可以使用UI、API或命令行工具(如NiFi CLI或NiPyAPI )设置敏感属性,方法与设置任何其他属性的方式相同。如果你已经用TLS保护了你的NiFi实例,你的脚本和NiFi之间的所有调用都将被加密。您可以为脚本颁发用于身份验证的自定义客户端证书,或者使用Kerberos/SPNEGO (如果已配置)。
https://stackoverflow.com/questions/57301809
复制相似问题