Я пытаюсь отправить сообщение от моей лямбда-функции в очередь sqs, которая уже создана. Когда я запускаю код, он буквально останавливает выполнение, и aws-sdk не предоставляет никакой обратной связи.
У меня также есть функция для чтения из очереди, когда я вставляю сообщения вручную, я использую тот же код для создания сеанса. Который, я считаю, может быть использован в обеих ситуациях.
Затем я попытался использовать код, предоставленный amazon, но результат был тот же.
https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/sqs-example-receive-message.html
Единственная разница в моем коде заключается в том, как я создаю сеанс. Как я уже упоминал выше, я использую это для чтения сообщений, когда они вставляются вручную в очередь. С этой функцией все кажется идеальным.
func sendToOrderQueue(rID string, c Course) error {
log.Println(1)
var err error
sess := session.Must(session.New(&aws.Config{
Region: aws.String("eu-central-1"),
}), err)
svc := sqs.New(sess)
log.Println(2)
url := "https://sqs.eu-central-1.amazonaws.com/XXXXXX/myqueue"
log.Println(3)
result, err := svc.SendMessage(&sqs.SendMessageInput{
DelaySeconds: aws.Int64(10),
MessageAttributes: map[string]*sqs.MessageAttributeValue{
"Title": &sqs.MessageAttributeValue{
DataType: aws.String("String"),
StringValue: aws.String("The Whistler"),
},
"Author": &sqs.MessageAttributeValue{
DataType: aws.String("String"),
StringValue: aws.String("John Grisham"),
},
"WeeksOn": &sqs.MessageAttributeValue{
DataType: aws.String("Number"),
StringValue: aws.String("6"),
},
},
MessageBody: aws.String("Information about current NY Times fiction bestseller for week of 12/11/2016."),
QueueUrl: &url,
})
log.Println(4)
if err != nil {
log.Println("Error", err)
return err
}
log.Println(5, *result.MessageId, err)
return err
}
Кроме того, мой serverless.yaml
service: client
frameworkVersion: ">=1.28.0 <2.0.0"
provider:
name: aws
runtime: go1.x
vpc: ${file(../security.yaml):vpc}
package:
exclude:
- ./**
include:
- ./bin/**
functions:
postFunction:
handler: bin/post
environment:
REDIS_URL: ${file(../env.yaml):environment.REDIS_URL}
HASH_KEY: ${file(../env.yaml):environment.HASH_KEY}
events:
- http:
path: /func
method: post
cors: ${file(../cors.yaml):cors}
Проверка журналов облачных часов на выполнение печать 1 , 2 , 3 и ничего больше. Нет 4 , нет Ошибка и нет 5 .
Что я здесь не так делаю?