Con il seguente codice, posso aggiungere un'autorizzazione utilizzando il mio numero di account AWS ma la coda non riceve alcun messaggio da SNS.Come si aggiungono le autorizzazioni su una coda SQS AWS?
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);
Ma, quando cerco di impostare l'autorizzazione tramite un carattere jolly (*) per tutti:
addPermissionRequest.AWSAccountId.Add("*");
mi dà un errore. Se posso aggiungere manualmente il permesso nella console AWS SQS e specificare
SendMessage
ReceiveMessage
per le azioni consentite e per il principio, l'ho impostato a "tutti", la coda non ricevere messaggi dal mio argomento SNS. Quindi, ovviamente, sto facendo qualcosa di sbagliato ma non lo vedo più.
Qualsiasi aiuto sarebbe fantastico! Vorrei che Amazon avesse degli esempi, l'esempio che viene fornito con l'SDK non mostra nulla sull'impostazione delle politiche o dei permessi. Nulla è mostrato nella documentazione online, neanche. Frustrante.
solo dire che sono d'accordo con te, non una quantità enorme quando si tratta di esempio - Io ho cercato in come impostare - ReceiveMessageWaitTimeSeconds e ho appena continuare a colpire un muro di mattoni - Posso farlo nella console ma non riesco a trovare esempi di codice su come impostarlo - ho pensato che sarebbe stato semplice! – anna
@anna Sembra che tu stia cercando di eseguire un polling lungo sulle code SQS. Quali problemi specifici incontri? Hai postato una domanda SO? Forse posso aiutare. –
Sto provando a fare il polling lungo so come impostarlo manualmente ma ho bisogno di impostarlo quando sto creando la coda nel codice ho questo che crea la coda var sqsRequest = new CreateQueueRequest(); sqsRequest.QueueName = "Bin2AutomationQ"; var createQueueResponse = sqs.CreateQueue (sqsRequest); myQueueUrl = createQueueResponse.CreateQueueResult.QueueUrl; ma non sono sicuro di come impostare ReceiveMessageWaitTimeSeconds su 20 – anna