fix(shared-sqs): populate URL and ARN for seeded queues (v0.1.10)
This commit is contained in:
@@ -25,11 +25,11 @@ import (
|
|||||||
// Открыты намеренно — тестовый стенд.
|
// Открыты намеренно — тестовый стенд.
|
||||||
// Тенант ограничен 10 очередями и не имеет прав admin API.
|
// Тенант ограничен 10 очередями и не имеет прав admin API.
|
||||||
const (
|
const (
|
||||||
demoTenantID = "t-demo-shared-sqs-ngcloud"
|
demoTenantID = "t-demo-shared-sqs-ngcloud"
|
||||||
demoAccessKey = "SSAK-demo-shared-sqs"
|
demoAccessKey = "SSAK-demo-shared-sqs"
|
||||||
demoSecretKey = "demo-secret-key-shared-sqs-ngcloud-2026"
|
demoSecretKey = "demo-secret-key-shared-sqs-ngcloud-2026"
|
||||||
demoTenantName = "demo-service"
|
demoTenantName = "demo-service"
|
||||||
demoMaxQueues = 10
|
demoMaxQueues = 10
|
||||||
)
|
)
|
||||||
|
|
||||||
// seedDemoData создаёт тенанта demo-service с очередями и сообщениями.
|
// seedDemoData создаёт тенанта demo-service с очередями и сообщениями.
|
||||||
@@ -85,6 +85,17 @@ func seedDemoData(store *tenant.TenantStore) {
|
|||||||
for _, q := range queues {
|
for _, q := range queues {
|
||||||
key := t.AccessKey + ":" + q.name
|
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))
|
msgs := make([]models.SqsMessage, 0, len(q.msgs))
|
||||||
for _, body := range q.msgs {
|
for _, body := range q.msgs {
|
||||||
//nolint:gosec — MD5 здесь для совместимости с AWS SQS протоколом
|
//nolint:gosec — MD5 здесь для совместимости с AWS SQS протоколом
|
||||||
@@ -100,6 +111,8 @@ func seedDemoData(store *tenant.TenantStore) {
|
|||||||
models.SyncQueues.Lock()
|
models.SyncQueues.Lock()
|
||||||
models.SyncQueues.Queues[key] = &models.Queue{
|
models.SyncQueues.Queues[key] = &models.Queue{
|
||||||
Name: q.name,
|
Name: q.name,
|
||||||
|
URL: queueURL,
|
||||||
|
Arn: queueARN,
|
||||||
VisibilityTimeout: 30,
|
VisibilityTimeout: 30,
|
||||||
MaximumMessageSize: 262144,
|
MaximumMessageSize: 262144,
|
||||||
MessageRetentionPeriod: 345600,
|
MessageRetentionPeriod: 345600,
|
||||||
|
|||||||
Reference in New Issue
Block a user