代码之家  ›  专栏  ›  技术社区  ›  SunilS

从API更新Nifi敏感属性

  •  0
  • SunilS  · 技术社区  · 5 年前

    我们正在使用Nifi注册表和;Azure Devops。我们希望它完全自动化,并且在一个问题上被阻止。在我们的处理器中,我们使用敏感属性,如密码等。我们如何从rest API或nipyapi模块更新它们?

    它是否得到支持,或者推荐的方式是什么?

    0 回复  |  直到 5 年前
        1
  •  3
  •   arunkvelu    5 年前

    敏感属性设置与其他属性设置一样简单。

    使用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)
    
        2
  •  1
  •   Andy    5 年前

    可以使用UI、API或命令行工具(如NiFi CLI或NiPyAPI)设置敏感属性,与设置任何其他属性的方式相同。如果已使用TLS保护NiFi实例,则脚本和NiFi之间的所有调用都将被加密。您可以为脚本颁发自定义客户端证书以用于身份验证,或者使用Kerberos/SPNEGO(如果已配置)。

    推荐文章