괴발개발 성장기

사이드 프로젝트/Amazon SQS

[Amazon SNS] SNS로 메시지 보내기

지니유 2023. 6. 20. 08:30
반응형

SNS에 메시지 보내는 코드

func main() {	
    // aws 연결
    sess := session.Must(session.NewSessionWithOptions(session.Options{
		SharedConfigState: session.SharedConfigEnable,
	}))

	SNSURL := "arn 주소"
    svc := sns.New(sess)

	msgPtr := "메시지 내용입니다."
	messageGroupId := "test"
	messageDeduplicationId := uuid.New().String()

	result, err := svc.Publish(&sns.PublishInput{
		Message:                &msgPtr,
		TopicArn:               &topicArn,
		MessageGroupId:         &messageGroupId,
		MessageDeduplicationId: &messageDeduplicationId,
	})
    
	if err != nil {
		fmt.Println(err.Error())
		os.Exit(1)
	}
  }  

	fmt.Println(*result.MessageId)

코드를 실행하면 SNS를 구독한 SQS에 메시지가 들어간다.

지난번에 SNS를 연결한 SQS에 메시지가 잘 갔다는 걸 알수있다.

여러개의 SQS가 하나의 SNS를 구독하면 

한번 SNS를 실행하면 여러개의 SQS에 값이 가는 지도 테스트 해봤다.

1개의 SNS에 "Queue_Test.fifo"와 "SQS_TEST2.fifo" 두개의 SQS가 구독을 했다. 

그럼 두개의 SQS에 메시지가 간다.

 

 


 

messageDeduplicationId 작성하지 않으면 에러가 난다.

2023.06.19 - [사이드 프로젝트/비동기프로그래밍] - [Amazon SNS] SNS에서 메시지 보낼 때 나는 에러(error) 해결책

 

[Amazon SNS] SNS에서 메시지 보낼 때 나는 에러(error) 해결책

SNS로 메시지를 보내는 과정에서 에러가 났다. # 에러 메시지 InvalidParameter: Invalid parameter: The topic should either have ContentBasedDeduplication enabled or MessageDeduplicationId provided explicitly status code: 400, request id:

pink1016.tistory.com

 


# Git 이슈

https://github.com/YooGenie/send-message-service/issues/15

 

SNS로 메시지 보내기 · Issue #15 · YooGenie/send-message-service

 

github.com


https://docs.aws.amazon.com/ko_kr/sns/latest/dg/example_sns_Publish_section.html

 

AWS SDK를 사용하여 Amazon SNS 주제 게시 - Amazon Simple Notification Service

이 설명서는 개발자 평가판 버전 SDK에 관한 것입니다. SDK는 변경될 수 있으며 프로덕션에서 사용하지 않는 것을 권장합니다.

docs.aws.amazon.com

 

반응형