订阅golang中的SNS主题和/或SQS队列?

时间:2018-11-07 22:41:09

标签: amazon-web-services go amazon-s3 amazon-sqs amazon-sns

我知道如何在Java中执行此操作,但是我根本无法在Go中弄清楚。

我想做的就是有一种方法来检测在S3存储桶中创建的项目,然后触发SNS主题,然后通知我S3中的文件位置。

有没有人提供一个可行的示例,说明如果需要我可以如何订阅SNS主题或SNS队列呢?因为我似乎只能找到Java和Node。我可以找到go的发布示例,但是它们对我的用例没什么用。

1 个答案:

答案 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