我正在尝试使用 nifi 将一个值放入 dynamoDB,但我不知道在 putdynamoDB 属性中的何处输入我的新值。它总是将我的哈希键值插入到 dynamoDB 中。

GetDynamoDB 工作正常。

amazon-web-services - putdynamodb 如何在 nifi 中工作?-LMLPHP

任何帮助将不胜感激。

最佳答案

我将介绍处理器的每个属性。

表名称 - Dynamo DB 表的名称。

哈希键名称 - Dynamo 表中的主分区键的名称。

范围键名称 - 主分区键的范围键名称(设置 Dynamo 表时不需要设置)。

哈希键值 - 要用于在 Dynamo 表中查找值的键。这很可能是您在 FlowFile 属性中拥有的唯一 ID,您将使用表达式语言进行引用。示例:${uuid} 将使用 NiFi 生成的流文件的唯一 ID。

范围键值 - 如果您使用范围键功能,请在此处提供范围键值。

哈希键值类型 - 您作为键值、字符串或数字发送的类型。如果您使用 uuid,它将是字符串。

范围键值类型 - 除了范围键外,与上一行相同。如果未设置 Range Key Name 属性,则将被忽略。

Json 文档属性 - 这是您想要在 Dynamo 中存储为值的内容。当您引用与此数据关联的相应哈希键时,这就是 Dynamo 将返回的值。该值来自传递到必须为 JSON 格式的处理器的 FlowFile 内容。如果要存储 JSON 格式的 FlowFile 的全部内容,只需在此处放置一个 $。如果你想要一个特定的 JSON 属性,它的行为与 EvaluateJSONPath 处理器完全一样,如果你在根对象中有一个 id,你可以通过以下方式引用它: $.id 。要注意的一件事,您的 JSON 对象中可能没有空字符串,请参阅此处了解更多详细信息:https://github.com/aws/aws-sdk-js/issues/833

文档的字符集 - JSON FlowFile 内容所在的字符格式。

每个请求的批次项目(1 到 50 之间) - 您希望在一个帖子中发送的项目数量。数字越大,对 Dynamo 的 API 调用越少,写入性能可能越好。

区域 - 您的 Dynamo 表所在的 AWS 区域。

访问 key - 您在注册或创建新用户时提供给您的 AWS 访问 key 。

key - 您在注册或创建新用户时提供给您的 AWS key 。

AWS 凭证提供程序服务 - 如果在使用此服务的 EC2 实例上运行 NiFi,您可以使用默认的 IAM 角色进行身份验证。您必须在 Controller 服务部分创建此服务。 https://nifi.apache.org/docs/nifi-docs/components/org.apache.nifi/nifi-aws-nar/1.5.0/org.apache.nifi.processors.aws.credentials.provider.service.AWSCredentialsProviderControllerService/

通信超时 - 等待 Dynamo 响应的时间量。

SSL 上下文服务 - SSL 上下文服务,如果提供,将用于创建也在 NiFi 的 Controller 服务部分中创建的连接。

关于amazon-web-services - putdynamodb 如何在 nifi 中工作?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45840156/

10-11 07:18