如何启动与golang aws sqs的连接

如何启动与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)

我正在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)
    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)
  }
}()


…错误是什么?