diff --git a/shared-sqs/app/cmd/seed.go b/shared-sqs/app/cmd/seed.go index 8d36d49..34f6374 100644 --- a/shared-sqs/app/cmd/seed.go +++ b/shared-sqs/app/cmd/seed.go @@ -25,11 +25,11 @@ import ( // Открыты намеренно — тестовый стенд. // Тенант ограничен 10 очередями и не имеет прав admin API. const ( - demoTenantID = "t-demo-shared-sqs-ngcloud" - demoAccessKey = "SSAK-demo-shared-sqs" - demoSecretKey = "demo-secret-key-shared-sqs-ngcloud-2026" - demoTenantName = "demo-service" - demoMaxQueues = 10 + demoTenantID = "t-demo-shared-sqs-ngcloud" + demoAccessKey = "SSAK-demo-shared-sqs" + demoSecretKey = "demo-secret-key-shared-sqs-ngcloud-2026" + demoTenantName = "demo-service" + demoMaxQueues = 10 ) // seedDemoData создаёт тенанта demo-service с очередями и сообщениями. @@ -85,6 +85,17 @@ func seedDemoData(store *tenant.TenantStore) { for _, q := range queues { key := t.AccessKey + ":" + q.name + // URL и ARN формируем по тому же шаблону что gosqs/tenant_helpers.go:tenantQueueURL/tenantQueueARN + // Иначе AWS CLI получает пустой QueueUrl в ListQueues и не может работать с очередью. + env := models.CurrentEnvironment + var queueURL string + if env.Region != "" { + queueURL = "http://" + env.Region + "." + env.Host + ":" + env.Port + "/" + t.ID + "/" + q.name + } else { + queueURL = "http://" + env.Host + ":" + env.Port + "/" + t.ID + "/" + q.name + } + queueARN := "arn:aws:sqs:" + env.Region + ":" + t.ID + ":" + q.name + msgs := make([]models.SqsMessage, 0, len(q.msgs)) for _, body := range q.msgs { //nolint:gosec — MD5 здесь для совместимости с AWS SQS протоколом @@ -100,6 +111,8 @@ func seedDemoData(store *tenant.TenantStore) { models.SyncQueues.Lock() models.SyncQueues.Queues[key] = &models.Queue{ Name: q.name, + URL: queueURL, + Arn: queueARN, VisibilityTimeout: 30, MaximumMessageSize: 262144, MessageRetentionPeriod: 345600,