作者:俏巴
操作步驟
1、ak,sk參數擷取:
阿裡雲常見參數擷取位置2、endpoint參數
擷取
3、pom.xml
<dependency>
<groupId>com.aliyun.mns</groupId>
<artifactId>aliyun-sdk-mns</artifactId>
<version>1.1.8</version>
<classifier>jar-with-dependencies</classifier>
</dependency>
4、Code Sample
import com.aliyun.mns.client.CloudAccount;
import com.aliyun.mns.client.MNSClient;
import com.aliyun.mns.model.PagingListResult;
import com.aliyun.mns.model.QueueMeta;
import com.aliyun.mns.model.TopicMeta;
import java.util.List;
public class DeleteQueueOrTopicDemo {
public static void main(String[] args) {
//初始參數設定 ak,sk資訊及對應區域所在的位址
String accessKeyId = "********";
String accessKeySecret = "********";
String endpoint = "http://********.mns.cn-********.aliyuncs.com/";
CloudAccount account = new CloudAccount(accessKeyId, accessKeySecret, endpoint);
MNSClient client = account.getMNSClient();
String prefix = ""; //全部删除設定
String marker = "";
Integer retNumber = 10000;
// deleteQueues(client, prefix, marker, retNumber); // 删除隊列
deleteTopics(client, prefix, marker, retNumber); // 删除主題
client.close();
}
/***
* delete queue
* @param client client對象
* @param prefix 隊列名稱字首,如果是批量全部删除,直接使用 "" 即可
* @param marker 列舉的起始位置,""表示從第一個開始,也可以是前一次列舉傳回的marker
* @param retNumber 最多傳回的個數
*/
public static void deleteQueues(MNSClient client,String prefix,String marker,Integer retNumber)
{
PagingListResult<QueueMeta> listResult = client.listQueue(prefix, marker, retNumber);
System.out.println(listResult.getResult().size());
List<QueueMeta> queues = listResult.getResult();
//循環周遊删除Queue
int i = 0;
System.out.println(queues.size());
if(queues.size() != 0) {
for (QueueMeta queue : queues) {
//删除消息隊列
String queueName = queue.getQueueName();
client.getQueueRef(queueName).delete();
i++;
System.out.println("Delete queue " + queueName);
}
}else{
System.out.println("沒有滿足篩選條件的隊列");
}
System.out.println("The number of deleted queues is" + i);
}
/**
* delete topic
* @param client client對象
* @param prefix 主題名稱字首,如果是批量全部删除,直接使用 "" 即可
* @param marker 列舉的起始位置,""表示從第一個開始,也可以是前一次列舉傳回的marker
* @param retNumber 最多傳回的個數
*/
public static void deleteTopics(MNSClient client,String prefix,String marker,Integer retNumber)
{
PagingListResult<TopicMeta> listResult = client.listTopic(prefix, marker, retNumber);
List<TopicMeta> topics = listResult.getResult();
//循環周遊删除Queue
int i = 0;
if (topics.size() != 0) {
//循環周遊删除Topic
for (TopicMeta topic : topics) {
//删除消息Topic
String topicName = topic.getTopicName();
client.getTopicRef(topicName).delete();
System.out.println("Delete Topic " + topicName);
i++;
}
}
else{
System.out.println("沒有滿足篩選條件的主題");
}
System.out.println("The number of deleted topics is" + i);
}
}
參考連結
MNS Java SDK下載下傳