오늘도 한 뼘 더

[Golang] AWS SNS(Simple Notification Service) 주제 리스트 조회하기 본문

Study/Go

[Golang] AWS SNS(Simple Notification Service) 주제 리스트 조회하기

나른한댕댕이🐶 2022. 9. 6. 14:10
728x90
반응형

  # AWS 설정  

1. IAM 사용자를 생성한다.

  • AWS SNS(Simple Notification Service)에 대한 권한을 가진 IAM 사용자를 만든다
  • IAM 사용자에 대한 키를 저장한다.

2. AWS Config를 설정한다. 

  • 사용자의 "ACCESS_KEY_ID"와 " SECRET_ACCESS_KEY"를 사용하여 로컬에 "aws configure" 명령어를 통해 설정한다. 

이전 게시글에 같은 프로세스를 정리하였다.

2022.01.10 - [DevOps & Infra/AWS] - [AWS] AWS CLI 설치하기

 

[AWS] AWS CLI 설치하기

AWS를 작업할 때 크게 두 가지 방법으로 작업을 한다. 1) AWS Console 2) AWS CLI(Command Line Interface) 보통 대부분의 작업을 Console로 작업을 했다. 이유는 눈에 더 확실히 보이기 때문이었는데 DevOps 및 I..

baekji919.tistory.com

 

  # Golang 코드  

1. module import

 $ go get github.com/aws/aws-sdk-go/aws/session

 $ go get github.com/aws/aws-sdk-go/service/sns

 

2. 주제 리스트 불러오기

main.go

package main

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

	"fmt"
	"os"
)

func main() {
	// Initialize a session that the SDK will use to load
	// credentials from the shared credentials file. (~/.aws/credentials).
	sess := session.Must(session.NewSessionWithOptions(session.Options{
		SharedConfigState: session.SharedConfigEnable,
	}))

	svc := sns.New(sess)

	result, err := svc.ListTopics(nil)
	if err != nil {
		fmt.Println(err.Error())
		os.Exit(1)
	}

	for _, t := range result.Topics {
		fmt.Println(*t.TopicArn)
	}
}

// 결과 : SNS 주제 arn
728x90
반응형
Comments