[go] Go 언어를 사용하여 AWS SNS 토픽에 메시지 발행하기

AWS Simple Notification Service(SNS)를 사용하면 토픽에 메시지를 발행하여 여러 가입자에게 전송할 수 있습니다. 이 문서에서는 Go 언어를 사용하여 AWS SDK를 통해 SNS 토픽에 메시지를 발행하는 방법에 대해 알아보겠습니다.

1. AWS SDK 설치

먼저 Go 언어를 사용하여 AWS 서비스와 상호작용하기 위해 aws/aws-sdk-go 패키지를 설치해야 합니다.

go get -u github.com/aws/aws-sdk-go

2. AWS IAM 자격 증명 구성

AWS SDK를 사용하여 AWS 서비스에 액세스하려면 적절한 IAM(Identity and Access Management) 권한을 가진 자격 증명이 필요합니다.

3. Go 코드 작성

다음은 Go로 AWS SNS 토픽에 메시지를 발행하는 간단한 예제 코드입니다.

package main

import (
    "github.com/aws/aws-sdk-go/aws"
    "github.com/aws/aws-sdk-go/aws/session"
    "github.com/aws/aws-sdk-go/service/sns"
    "fmt"
)

func main() {
    // AWS 세션 생성
    sess := session.Must(session.NewSession(&aws.Config{
        Region: aws.String("your-aws-region"),
        // 자격 증명 정보는 기본 자격 증명 공급자에서 가져옴
    }))

    // SNS 클라이언트 생성
    svc := sns.New(sess)

    // SNS 토픽 ARN
    topicArn := "your-sns-topic-arn"

    // 메시지 발행
    result, err := svc.Publish(&sns.PublishInput{
        Message:  aws.String("Hello from Go!"),
        TopicArn: aws.String(topicArn),
    })

    if err != nil {
        fmt.Println("Error", err)
        return
    }

    fmt.Println("Message ID:", *result.MessageId)
}

위 코드에서 your-aws-regionyour-sns-topic-arn을 해당하는 값으로 대체해야 합니다.

요약

위의 예제 코드를 사용하면 Go로 AWS SNS 토픽에 메시지를 발행할 수 있습니다. 이를 통해 애플리케이션에서 간단하게 SNS를 사용하여 메시지를 발행할 수 있습니다.

이와 더불어 사용자 정의 구성을 통해 더 복잡한 시나리오에 대응할 수 있습니다.

참고 자료