С помощью следующего кода я могу добавить разрешение, используя мой номер учетной записи AWS, но очередь не получает сообщений от SNS.Как добавить разрешения в очередь AWS SQS?
AddPermissionRequest addPermissionRequest = new AddPermissionRequest();
addPermissionRequest.ActionName.Add("SendMessage");
addPermissionRequest.ActionName.Add("ReceiveMessage");
addPermissionRequest.QueueUrl = queueUrl;
addPermissionRequest.Label = General.IpAddressAWSFriendly;
addPermissionRequest.AWSAccountId.Add(AWS_ACCOUNT_ID);
sqs.AddPermission(addPermissionRequest);
Но, когда я пытаюсь установить разрешение через групповой символ (*) для всех:
addPermissionRequest.AWSAccountId.Add("*");
это дает мне ошибку. Если я вручную добавить разрешения в консоли AWS SQS и указать
SendMessage
ReceiveMessage
для разрешенных действий и принципа, я поставил его на «все», то очередь делает получать сообщения от моего SNS темы. Итак, очевидно, я делаю что-то неправильно, но я больше этого не вижу.
Любая помощь будет замечательной! Я бы хотел, чтобы у Amazon были примеры, пример, который поставляется с SDK, ничего не показывает о настройке политик или разрешений. Ничего не показано в онлайн-документации. Разочарование.
просто сказать, что я согласен с вами, а не огромное количество, когда речь идет, например - я так долго искали в том, чтобы установить - ReceiveMessageWaitTimeSeconds и я просто держать удар в кирпичную стену - Я могу сделать это в консоли, но не могу найти примеры кода о том, как его установить - я думал, что это будет прямо! – anna
@anna Похоже, вы пытаетесь сделать длинный опрос в очередях SQS. С какими конкретными проблемами вы сталкиваетесь? Вы задали вопрос? Может быть, я могу помочь. –
Я пытаюсь сделать длинный опрос, я знаю, как его вручную установить, но мне нужно установить его, когда я создаю очередь в коде. У меня есть это, что создает очередь var sqsRequest = new CreateQueueRequest(); sqsRequest.QueueName = "Bin2AutomationQ"; var createQueueResponse = sqs.CreateQueue (sqsRequest); myQueueUrl = createQueueResponse.CreateQueueResult.QueueUrl; но не уверен, как установить ReceiveMessageWaitTimeSeconds в 20 – anna