如何启动与golang aws sqs的连接
我正在golang构建微服务应用程序,每个服务通过sqs与另一个服务对话,但是,当服务器启动时,我很难启动sqs连接,因此如何启动sqs连接并在我的服务中使用它。使用go工具包构建服务,因此我有一个名为service.go、main.go、endpoint.go和transport.go的文件 基本上我有连接的代码如何启动与golang aws sqs的连接,go,microservices,amazon-sqs,Go,Microservices,Amazon Sqs,我正在golang构建微服务应用程序,每个服务通过sqs与另一个服务对话,但是,当服务器启动时,我很难启动sqs连接,因此如何启动sqs连接并在我的服务中使用它。使用go工具包构建服务,因此我有一个名为service.go、main.go、endpoint.go和transport.go的文件 基本上我有连接的代码 creds := credentials.NewStaticCredentials(aws_access_key_id, aws_secret_access_key, token)
creds := credentials.NewStaticCredentials(aws_access_key_id, aws_secret_access_key, token)
cfg := aws.NewConfig().WithRegion("region").WithCredentials(creds)
service := sqs.New(session.New(), cfg)
qURL := "q_url"
receive_params := &sqs.ReceiveMessageInput{
QueueUrl: aws.String(qURL),
MaxNumberOfMessages: aws.Int64(1),
VisibilityTimeout: aws.Int64(30),
WaitTimeSeconds: aws.Int64(1),
}
receive_resp, err := service.ReceiveMessage(receive_params)
if err != nil {
log.Println(err)
}
fmt.Printf("[Receive message] \n%v \n\n", receive_resp)
return true, nil
那么,我如何启动连接并开始在我的服务中获取消息呢。谢谢大家。您的代码应该检索消息,但它会被指示提取消息一次 如果应用程序需要同时运行其他程序,那么您需要将其放入这样的循环中,并可能在另一个goroutine上运行它
go func() {
for {
receive_resp, err := service.ReceiveMessage(receive_params)
if err != nil {
log.Println(err)
}
fmt.Printf("[Receive message] \n%v \n\n", receive_resp)
}
}()
…错误是什么?