SNS/SQS的命名约定

Aur*_*ien 8 amazon-sqs amazon-web-services amazon-sns

在我们正在实施的ETL过程中,我们将创建一个Amazon SNS主题,该主题将消息发送到Amazon SQS队列.

在文档中我们没有看到关于名称的特定规范,所以我想知道是否有人可以推荐有关SNS主题和SQS队列的命名约定的最佳实践.

范围是了解命名主题(SNS)和队列(SQS)中是否存在最佳实践,以便遵循命名的最佳方法.例如,推荐骆驼案例吗?主题名称/队列名称是否应该表示域名?

小智 9

我们实现了扇出模式,发现继承 SNS 主题名称的 SQS 队列是最好的方法,因为它有助于开发、调试,并且正如您提出的代表领域知识一样。

例如,如果您有一个名为 的应用程序StrawberryShaker。该主题将被调用StrawberryShaker,并且订阅该主题的队列都将带有前缀StrawberryShaker

您应该注意一些名称长度:-

队列名称最多可包含 80 个字符。接受以下字符:字母数字字符、连字符 (-) 和下划线 (_)。

https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-limits.html

主题名称不得超过 256 个字符。允许使用字母数字字符以及连字符 (-) 和下划线 (_)。

https://aws.amazon.com/sns/faqs/

希望有帮助!


Joh*_*ein 5

您可以随意命名 SNS 主题和 SQS 队列,只要它不抱怨(例如空格或非法字符)。

请注意,随着时间的推移,您可能会有许多主题和许多队列,它们构成 ARN 的一部分,因此将来很难更改。我会推荐应用程序的前缀和描述性部分。例如,如果unicorn应用程序将发票推送到队列,则调用队列:

unicorn_invoice
Run Code Online (Sandbox Code Playgroud)

不要在名称中包含“主题”或“队列”,因为它们无关紧要(例如unicorn_invoice比 更好unicorn_invoice_queue)。

如果许多不同的团队使用同一个 AWS 账户,您可以添加一个额外的层来指示谁“拥有”资源,例如:

lawson_unicorn_invoice
Run Code Online (Sandbox Code Playgroud)

CamelCase 也可以,如果这在您的公司中很常见:

lawsonUnicornInvoice
Run Code Online (Sandbox Code Playgroud)