Amazon web services 无需凭据即可通过NIFI连接S3

Amazon web services 无需凭据即可通过NIFI连接S3,amazon-web-services,apache-nifi,Amazon Web Services,Apache Nifi,今天,我有一个在S3上保存数据的NIFI,但是当更改环境和机器时,我会在每个EC2上放置一个带有凭据(有时我需要更改凭据)的目录。我想知道是否有一种方法可以自动连接S3,而无需在每次机器更改时使用凭据更改文件 谢谢我不确定我是否理解这个问题。是否要设置进程,使NiFi对凭据不可知,并且只“将数据保存到S3”,由运行此流的特定计算机告知凭据?或者在NiFi中嵌入凭据,以便无论此流在哪台计算机上运行,它都使用相同的凭据?两者都有可能 由计算机提供的凭据 您可以通过三种方式填充AWS凭据(访问密钥和密

今天,我有一个在S3上保存数据的NIFI,但是当更改环境和机器时,我会在每个EC2上放置一个带有凭据(有时我需要更改凭据)的目录。我想知道是否有一种方法可以自动连接S3,而无需在每次机器更改时使用凭据更改文件


谢谢

我不确定我是否理解这个问题。是否要设置进程,使NiFi对凭据不可知,并且只“将数据保存到S3”,由运行此流的特定计算机告知凭据?或者在NiFi中嵌入凭据,以便无论此流在哪台计算机上运行,它都使用相同的凭据?两者都有可能

由计算机提供的凭据 您可以通过三种方式填充AWS凭据(访问密钥和密钥):

  • 提供凭据文件处理器属性的文件路径,该属性指向磁盘上包含这些凭据的文件
  • 使用填充
    PutS3Object
    组件的相应属性
  • 使用这些值创建一个
    AWSCredentialsProviderControllerService
    实例,并从此处理器引用它
  • 无论磁盘上的凭据文件中有什么凭据,都将使用参数上下文或引用的控制器服务。如果将流段部署到不同的NiFi实例(并且存在相应的凭据文件,或者填充参数,或者填充控制器服务[取决于场景]),则将使用这些新值

    NiFi流中嵌入的凭据
    PutS3Object
    组件的适当属性中填充AWS凭据(访问密钥和密钥),或者使用这些值创建一个
    AWSCredentialsProviderControllerService
    实例并从此处理器引用它。如果将此流部署到另一个NiFi实例,它将继续使用这些相同的凭据

    谢谢,我们使用了第一种形式,现在我们将开始使用terraform来提供机器。根据您的经验,第三个选项有效吗?是的,您可以通过API创建和填充控制器服务,就像使用参数或处理器属性直接填充一样。