如何配置NiFi PutS3Object处理器以使用S3凭据的流属性

时间:2017-04-26 23:19:14

标签: apache-nifi

我假设PutS3Object处理器可以解析对Access Key和Secret Key的引用,因为这两个配置参数支持表达式语言。但我无法让它发挥作用。

通过使用实际值配置Access Key和Secret Key的PutS3Object处理器,我已成功将文件放入S3存储桶。但是,当我尝试在UpdateAttribute处理器中设置这些值,然后使用表达式引用Access Key和Secret Key设置中的属性时,它们似乎没有设置,并且put对象调用失败。

以下是分别将Access Key和Secret Key定义为$ {s3.accessKey}和$ {s3.secretAccessKey}时的错误消息。这两个属性已在PutS3Object处理器之前的UpdateAttribute处理器中设置。

com.amazonaws.services.s3.model.AmazonS3Exception:授权标头格式错误;必须在凭证中提供非空的访问密钥(AKID)。 (服务:Amazon S3;状态代码:400;错误代码:AuthorizationHeaderMalformed;

com.amazonaws.services.s3.model.AmazonS3Exception:授权标头格式错误;必须在凭证中提供非空的访问密钥(AKID)。

1 个答案:

答案 0 :(得分:1)

我担心AWS访问密钥属性允许的表达式不包含FlowFile属性。这些表达式旨在与全局配置的“Variable Registry”值一起使用,以便可以将访问密钥作为服务器部署的一部分提供。该功能在“NiFi系统管理员指南”中的Custom Properties下进行了描述。

允许FlowFile属性需要通过NiFi JIRA ticket system提供功能请求。