-1

我们当前设置了属性文件的路径,其中包含 AWSCredentialsProviderControlerService 的凭据文件的密钥/访问密钥。问题是,每次我们运行 nifi 工作流时,我们都在更改产品和非产品的属性路径。试图对凭据文件路径上的配置不进行任何更改,以便无论产品还是非产品都可以读取访问/密钥。由于凭证文件不支持 Nifi 表达式语言,因此尝试使用 ACCESS KEY/SECRET 属性 ${ENV:equalsIgnoreCase("prod"):ifElse(${ACESS_PROD},${ACESS_NONPROD})} 我们面临的问题,我们是无法将这些访问密钥/秘密密钥存储到注册表。因此无法实施此更改。无论Nifi中的环境如何,有什么方法可以读取访问/密钥。目前,我们将 1 个属性文件用于非 prod nifi,将 2nd 属性文件用于 prod 属性。在此设置中,从 prod 切换到 non prod 时需要手动更改为凭证文件路径。尝试在不更改凭据文件路径的情况下无缝工作。有没有办法做到这一点?

在此处输入图像描述

4

1 回答 1

0

使用 AWSCredentialsProviderControlerService 的进程不支持参数或变量,但 AWSCredentialsProviderControlerService “凭据文件”属性支持“参数上下文”作为条目,请将此用于您的解决方案。

例子:

触发某些东西 --> RouteOnAttribute --> If Prod (运行 executestreamcmd 并将参数上下文值更改为指向 prod credfile) else if DEV(运行 executestreamcmd 并将参数上下文值更改为指向 prod credfile) --> 然后运行你AWS 处理器。

您可以使用工具包客户端来编辑参数上下文,或事件 nipyapi python 模块。它不会很快tohu。

于 2020-10-24T02:48:29.740 回答