Day19 NiFi - 与 AWS SNS & AWS SQS 对接设定

今天要来介绍如何从 NiFi 将 FlowFiles 送到 SNS 和 SQS,一样就有原生的 Processor 就可做操作了,所以也不会到非常复杂。

SNS & SQS

一样在操作前,仍先来简单介绍一下这两个服务,若有不熟悉的读者可看一下我如下整理好的表格:

AWS SNS AWS SQS
Persistence No Yes, 预设保留 14 天
Direction Push-Based。Consumer 必须持续监听,若 Consumer 服务中断则会导致资料 loss Pull-Based。Consumer 若服务中断且重新启动时,仍可取得原本尚未处理的资料

我们都能想像成两个服务都是类似一个 Queue 的概念,只是其中 SNS 中间并不会保留资料与讯息,所以若接受的服务坏掉了,则资料或讯息就会不见了; 反之,SQS 很明确就是一个 Queue,会保留资料14天,若 Consumer 服务坏掉时,後续启动仍可以取得近期14天内的资料。

How to use?

SQS

在 Nifi 这边有三种关於 SQS 的 Processor,分别是 GetSQSPutSQSDeleteSQS,这些的设定都差不多,所以我们可看到如下要注意的设定:

  • Queue URL
    填入 AWS SQS url,可以在 AWS SQS Console 上取得,直接复制贴过来即可。
  • AWS Credentials Provider service
    一样指定好原先建立的 AWS Controller Service。
  • Region
    设定好对应的 region。
  • Batch Size
    该参数代表一次要拉多少笔 Record,预设为 10 笔。

SNS

NiFi 对於 SNS 的 Processor 目前只有 PutSNS 可以做使用,来让我们可以将 FlowFile 传送到 SNS 对应的 topic 下:

  • Amazone Resource Name
    一样可以到 AWS SNS 的 topic Console 取得 ARN,直接复制贴过来即可。
  • ARN Type
    预设为 Topic ARN,来让我们可将 FlowFile 指定到上一个设定的 SNS topic。
  • Region
    设定好对应的 region。
  • AWS Credentials Provider service
    一样指定好原先建立的 AWS Controller Service。

如上述设定完之後,就可以轻松与 SNS 和 SQS 做整合了。

小总结

今天这篇的篇幅相对比较简单,一方面是目前 NiFi 所支援的 Processor 就前面所列出这些,而大致上的设定都与前面的 AWS 服务相同,只有一两个参数要特别留意。

所以读者们应该会发现,只要我建立好 AWS Controller Service 之後,剩下的都是个别服务的调整,甚至有些可以在 AWS Console 贴过来即可,或是设定成 Parameters 也可以。所以整体在对 AWS 服务的操作都十分简单,接下来就会带读者们操作 GCP 的服务了。

Reference


<<:  食谱搜寻系统制作_上

>>:  上场,就是要放手一博 - 认清自己的特质与优势

Day 14: 【架构篇】 设计与架构、软件的两大价值 (待改进中... )

「软件架构的目标是最小化 『建置和维护系统所需的人力』」 「架构的规则都是一样的! 年轻设计师可能...

Chapter1-DJ最爱的音频动感图像(III)妈妈叫你不要玩音乐,现在知道当DJ很难了吧

加油!这章节快完成了 根据上面这张图,我们写好了以下的程序码,就成功得到经由傅立叶转换的音频讯号了,...

第7章:管理本地端主机之使用者与群组(一)

前言 在上一章节中,笔者解释了该如何使用指令执行中的管线来重新导向到档案中,以及将指令的输出利用pi...

Day 21 - ESG已经是个不可不知的显学

图片来源 延续上一篇所谈的气候变迁与净零碳排, 在大势所趋之下, 近年无论是在投资与企业经营上的一...

Day14 - 在 Next.js 如何做 authentication

Authentication 在 web 应用中经常需要验证使用者的权限,例如登入与未登入能看到的页...