使用以下代碼,我可以使用我的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主題的消息。所以,顯然,我做錯了什麼,但我不再看到它。
任何幫助將是巨大的!我希望亞馬遜會有例子,SDK附帶的例子沒有顯示任何有關設置策略或權限的信息。在線文檔中也沒有顯示任何內容。令人沮喪。
只是說我同意你不是一個巨大的數額,當涉及到的例子 - 我一直在尋找到如何設置 - ReceiveMessageWaitTimeSeconds我只是不斷撞擊磚牆 - 我可以在控制檯中做到這一點,但無法找到關於如何設置它的代碼示例 - 我認爲這將是直接的! – anna
@anna聽起來你正在試圖對SQS隊列進行長時間輪詢。你遇到了什麼具體問題?你發佈了一個SO問題嗎?也許我可以幫忙。 –
我想做長時間輪詢,我知道如何手動設置它,但我需要設置它當我創建隊列中的代碼我有這創建隊列var sqsRequest = new CreateQueueRequest(); sqsRequest.QueueName =「Bin2AutomationQ」; var createQueueResponse = sqs.CreateQueue(sqsRequest); myQueueUrl = createQueueResponse.CreateQueueResult。QueueUrl;但不知道如何將ReceiveMessageWaitTimeSeconds設置爲20 – anna