如何在 C# 中 subscribe/receive AWS SNS 消息?
How to subscribe/receive AWS SNS messages in C#?
我正在开发 C# 应用程序,我想实现对 AWS SNS 的使用。我了解如何从我的 C# 应用程序发布 SNS,但如何在 C# 中 subscribe/receive SNS?有可能吗?
您似乎想在应用程序之间执行 message-passing。
为此 use-case,我建议使用 Amazon 简单队列服务 (Amazon SQS) 而不是使用 Amazon 简单通知服务 (Amazon SNS) ).
基本上:
- App1 向 Amazon SQS 队列
发送消息
- App2 定期轮询(查看)队列 以查看是否有要处理的消息。如果是这样,它会获取消息
- Amazon SQS 生成消息 'invisible' 因此其他工作人员不会看到它
- App2 处理完消息后,它从队列
中删除消息
- 如果 App2 没有在定义的 'invisibility period' 内删除消息,则消息将自动 'reappear' 进入队列,以便 re-processed
这是 message-passing 的 more-rigorous 方法,因为它可以处理发生错误或目标应用当前不在 运行 的情况。
Amazon SNS,相比之下,简单地将消息发送到所需的目的地(例如 HTTP 端点),如果目标应用程序不是 运行。
我正在开发 C# 应用程序,我想实现对 AWS SNS 的使用。我了解如何从我的 C# 应用程序发布 SNS,但如何在 C# 中 subscribe/receive SNS?有可能吗?
您似乎想在应用程序之间执行 message-passing。
为此 use-case,我建议使用 Amazon 简单队列服务 (Amazon SQS) 而不是使用 Amazon 简单通知服务 (Amazon SNS) ).
基本上:
- App1 向 Amazon SQS 队列 发送消息
- App2 定期轮询(查看)队列 以查看是否有要处理的消息。如果是这样,它会获取消息
- Amazon SQS 生成消息 'invisible' 因此其他工作人员不会看到它
- App2 处理完消息后,它从队列 中删除消息
- 如果 App2 没有在定义的 'invisibility period' 内删除消息,则消息将自动 'reappear' 进入队列,以便 re-processed
这是 message-passing 的 more-rigorous 方法,因为它可以处理发生错误或目标应用当前不在 运行 的情况。
Amazon SNS,相比之下,简单地将消息发送到所需的目的地(例如 HTTP 端点),如果目标应用程序不是 运行。