我知道如何在Java中执行此操作,但是我根本无法在Go中弄清楚。
我想做的就是有一种方法来检测在S3存储桶中创建的项目,然后触发SNS主题,然后通知我S3中的文件位置。
有没有人提供一个可行的示例,说明如果需要我可以如何订阅SNS主题或SNS队列呢?因为我似乎只能找到Java和Node。我可以找到go的发布示例,但是它们对我的用例没什么用。
答案 0 :(得分:1)
要使用SNS,您将需要一个简单的HTTP / HTTPS端点来接收SNS通知。分为两个部分(确认订阅和处理来自HTTP / HTTPS端点的消息)
1。确认订阅 做这样简单的事情:
func confirmSubscription(subcribeURL string) {
response, err := http.Get(subcribeURL)
if err != nil {
fmt.Printf("Unbale to confirm subscriptions")
} else {
fmt.Printf("Subscription Confirmed sucessfully. %d", response.StatusCode)
}
}
2。处理来自HTTP / HTTPS端点的消息
解析请求的正文,documentations提到了正文的结构。
来源:
https://docs.aws.amazon.com/sns/latest/dg/sns-http-https-endpoint-as-subscriber.html
https://github.com/viveksyngh/aws-sns-subscriber/blob/master/subscriber/subscriber.go