괴발개발 성장기
반응형

사이드 프로젝트/Amazon SQS 22

[Amazon SQS] 한번 SQS를 부를 때 여러개의 메시지가 오나?

메시지를 부를 때 배열을 부른다. *msgResult.Messages[0].Body 여러개의 메시지가 올까? 최소1개에서 최대 10개가 온다고 써있었다. 한번 테스트를 해보자 SQS에 11개의 데이터를 넣어놨다. 그리고 받을 때 메시지 10개를 받는다고 설정을 했다. MaxNumberOfMessages: aws.Int64(10), msgResult, err := service.GetMessages(sess, &queueURL, &timeout) if err != nil { log.Println("Got an error receiving messages:") } if len(msgResult.Messages) != 0 { for i, v:= range msgResult.Messages{ fmt.Printl..

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

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), }, MessageAttributeN..

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

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: &mes..

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

SNS로 메시지를 보내는 과정에서 에러가 났다. # 에러 메시지 InvalidParameter: Invalid parameter: The topic should either have ContentBasedDeduplication enabled or MessageDeduplicationId provided explicitly status code: 400, request id: 1) "메시지 중복 제거 켜기"에 체크를 하기 AWS에 들어갔다. SNS에 들어가서 편집을 했다. 2) 코드에 메시지중복ID를 제공한다. "메시지 중복 제거 켜기"를 체크하지 않아서 중복제거 ID를 제공 해야한다. 그래서 코드에 messageDeduplicationId := uuid.New().String() result, err ..

[Amazon SNS] SNS와 SQS 연결하는 방법

1. SNS를 생성한다. 1) 검색창에 "SNS"를 치면 "Simple Notification Service" 클릭하면 된다. 2) 왼쪽 상단 버튼을 클릭하면 아래와 같은 화면이 나온다. 주제를 클릭한다. 3) 주제 생성 버튼을 누른다 4) 세부정보를 작성한다. 5) 아래 주제 생성 버튼을 누른다. 그럼 SNS는 다 만들어졌다. 2. SQS 만들기 1) 검색창에 "SQS"를 치면 "Simple Queue Service" 클릭하면 된다. 2) Amazon SQS들어가서 대기열 생성 버튼을 클릭한다. 2) FIFO 선택하고 이름을 적는다 (반드시 .fifo를 적어야한다) 3) 아무것도 설정하지 않고 바로 아래 "대기열 생성"을 클릭한다. 3. SNS와 SQS를 연결시킨다. 1) SQS 창에서 "Amazon ..

[Amazon SQS] SNS를 통해 FIFO방식으로 SQS에 메시지 보내기

# 배경 이메일 아니라 큐에 메시지를 보내야 했다. 1) FIFO 방식이 아닌 표준방식 SNS만들고 SQS 연결했다. 이 때 메시지가 잘 보내졌다. 2) SNS에서 FIFO방식으로 만들고 FIFO방식의 SQS도 만들어서 연결 시켰다. 그리고 메시지를 보냈다. 3) MessageGroupId가 필요하다고 한다. 정확히 MessageGroupId 의미를 알지도 못했다. 4) MessageGroupId에 임의 값을 넣었다. # 코드 SQS에 메시지를 넣는 코드이다. func SendMessage(sess *session.Session, queueURL *string) error { svc := sqs.New(sess) _, err := svc.SendMessage(&sqs.SendMessageInput{ Me..

[Amazon SNS] SNS 토픽을 구독한 메일로 메시지를 보낸다

메시지를 보내는 코드가 aws 홈페이지에 나와 있었다. 그래서 적용 시켜봤다. 토픽 리스트를 조회해서 내 이메일이 구독한 arn 주소와 메시지 내용을 보내 준다. # 코드 func SendMessage(arn string, svc *sns.SNS) { msgPtr := flag.String("m", "메시지내용", "The message to send to the subscribed users of the topic") topicPtr := flag.String("t", arn, "The ARN of the topic to which the user subscribes") flag.Parse() result, err := svc.Publish(&sns.PublishInput{ Message: msgPtr..

[Amazon SNS] SNS 토픽을 조회한다

내가 가지고 있는 토픽을 조회하려고 한다. # 조회하는 방법 1) sns를 import 한다 github.com/aws/aws-sdk-go/service/sns 2) sess에는 AWS 정보들이 있는 변수 svc := sns.New(sess) 3) 토픽 리스트를 조회할 수 있다. topics, err := svc.ListTopics(nil) # 코드 참조 https://docs.aws.amazon.com/ko_kr/sdk-for-go/v1/developer-guide/making-requests.html Using the AWS SDK for Go with AWS Services - AWS SDK for Go (version 1) Using the AWS SDK for Go with AWS Service..

[Amazon SNS] AWS에서 topic를 생성한다 - 이메일용

1) aws 홈페이지 접속해서 로그인을 한다. 2) 상단 검색창에 SNS 쓰면 서비스에 "Simple Notification Service"를 클릭한다. 3) 왼쪽 바에 "주제"를 클릭한다 4) 오른쪽 상단에 "주제생성"를 클릭한다 뭘 어떻게 해야할지 모르니까 우선 이메일 보내기를 테스트 해보려고 한다. 5) 표준을 선택하고 이름을 작성했다. 6) 그럼 토픽이 생성되었다. 7) 생성된 페이지에 "구독생성" 버튼이 있다 8) 위에 만든 토픽과 연결하고 이메일 주소를 적는다. 9) 이제 코드를 짜서 메일로 알림을 보내야한다.!!!!!

[Amazon SNS] aws를 연결하기

# 배경 로컬에 AWS 정보를 저장하고 aws에 있는 SNS를 불러오기 위해서 AWS 연결 코드를 써야한다. # 코드 sess := session.Must(session.NewSessionWithOptions(session.Options{ SharedConfigState: session.SharedConfigEnable, })) # 내용 이 안에 AWS 관련 정보들이 들어있다. 액세스키ID, 비밀액세스 키, 지역정보 등등이 들어있다. SNS나 SQS를 사용하려면 기본적으로 코드를 작성해줘야한다. # 참조 https://github.com/YooGenie/send-message-service/issues/1 aws를 연결하기 · Issue #1 · YooGenie/send-message-service gi..

반응형