0
SQS에서 메시지를 삭제하려고했지만 성공하지 못했습니다. 방금 url/queue에서 메시지를 가져 왔지만 QueueDoesNotExistException이 발생합니다. 아무도 내가 뭘 잘못하고 있다고 말할 수 있습니까? 여기에 내가 쓴 기능은 다음과 같습니다 SQS의 AWS java/android SDK : QueueDoesNotExistException
public ArrayList<String> receiveSqsMessages(String url) {
AmazonSQSClient client = getSQSClient(Regions.SA_EAST_1);
ReceiveMessageRequest request = new ReceiveMessageRequest(url);
request.setMaxNumberOfMessages(10);
request.setWaitTimeSeconds(5);
ArrayList<Message> messageList = null;
try {
ReceiveMessageResult result = client.receiveMessage(request);
messageList = new ArrayList<Message>(result.getMessages());
} catch (AmazonClientException ac) {
return null;
}
ArrayList<String> messages = new ArrayList<String>();
for (Message m : messageList) {
String current_message = m.getBody();
if(md5(current_message).equals(m.getMD5OfBody())) {
messages.add(current_message);
String ticket = m.getReceiptHandle();
DeleteMessageRequest delete = new DeleteMessageRequest();
delete.setReceiptHandle(ticket);
client.deleteMessage(delete);
}
}
return messages;
}
private AmazonSQSClient getSQSClient(Regions regions) {
AWSCredentials credentials = new BasicAWSCredentials(ACCESS_KEY_ID, SECRET_KEY);
Region region = Region.getRegion(regions);
AmazonSQSClient client = new AmazonSQSClient(credentials);
client.setRegion(region);
return client;
}
나는 메시지가 줄을 Log.d를 사용하여 검색되는 확인했다.