괴발개발 성장기

사이드 프로젝트/Amazon SQS

[Amazon SQS] SQS에 있는 메시지를 출력하기

지니유 2023. 6. 21. 09:40
반응형

SNS를 통해서 SQS에 메시지가 있다.

그러니까 SQS 안에 있는 메시지를 출력해보자!

 

	sess := session.Must(session.NewSessionWithOptions(session.Options{
		SharedConfigState: session.SharedConfigEnable,
	}))

	timeout := int64(5)
	queueURL := "sqs 주소"
    
	svc := sqs.New(sess)

	msgResult, err := svc.ReceiveMessage(&sqs.ReceiveMessageInput{
		AttributeNames: []*string{
			aws.String(sqs.MessageSystemAttributeNameSentTimestamp),
		},
		MessageAttributeNames: []*string{
			aws.String(sqs.QueueAttributeNameAll),
		},
		QueueUrl:            queueURL,
		MaxNumberOfMessages: aws.Int64(1),
		VisibilityTimeout:   timeout,
	})

	if err != nil {
		return nil, err
	}
    
}

msgResult 안에 다양한 정보 중에 메시지 내용이 있다. 

*msgResult.Messages[0].Body

 

바디 값안에 있는 정보

{ "Type" : "Notification",
"MessageId" : "3da6fe1a-c689-5d83-b040-a310338cc23c",
"SequenceNumber" : "10000000000000037000",
"TopicArn" : "",
"Message" : "메시지 내용입니다.",
"Timestamp" : "2023-06-20T00:28:53.349Z",
"UnsubscribeURL" : "" }

 

MaxNumberOfMessages *int64 `type:"integer"`

 

 

*msgResult.Messages[0].Body 이 코드를 보면 메시지는 배열이다. 배열의 개수를 설정할 수 있다.

MaxNumberOfMessages *int64 `type:"integer"`

최소 1개에 최대 10개까지 설정할 수 있다. 한번에 메시지를 최대 10개까지 가져올 수 있다.

 

# 참조

https://docs.aws.amazon.com/ko_kr/sdk-for-go/v1/developer-guide/sqs-example-receive-message.html

 

Sending and Receiving Messages in Amazon SQS - AWS SDK for Go (version 1)

Thanks for letting us know this page needs work. We're sorry we let you down. If you've got a moment, please tell us how we can make the documentation better.

docs.aws.amazon.com

 

# 이슈

https://github.com/YooGenie/receive-message-service/issues/17

 

SQS에 있는 메시지를 출력하기 · Issue #17 · YooGenie/receive-message-service

 

github.com

 

반응형