Updated on 2025-08-15 GMT+08:00

Querying Specified Queue Details

Function

This API is used to query details of a specified queue.

Calling Method

For details, see Calling APIs.

URI

GET /v2/rabbitmq/{project_id}/instances/{instance_id}/vhosts/{vhost}/queues/{queue}

Table 1 Path Parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Definition:

Project ID. For details, see Obtaining a Project ID.

Constraints:

N/A

Range:

N/A

Default Value:

N/A

instance_id

Yes

String

Definition:

Instance ID. You can call the API for querying all instances to obtain the instance ID. The instance ID is in the response body.

Constraints:

N/A

Range:

N/A

Default Value:

N/A

vhost

Yes

String

Definition:

Virtual host name.

Constraints:

N/A

Range:

N/A

Default Value:

N/A

queue

Yes

String

Definition:

Offset from which the query starts.

Constraints:

N/A

Range:

≥ 0

Default Value:

0.

Request Parameters

None

Response Parameters

Status code: 200

Table 2 Response body parameters

Parameter

Type

Description

vhost

String

Definition:

Name of the virtual host to which the queue belongs.

Range:

N/A

name

String

Definition:

Queue name.

Range:

N/A

durable

Boolean

Definition:

Whether to enable queue persistence.

Range:

  • true: Yes

  • false: No

auto_delete

Boolean

Definition:

Whether to enable automatic queue deletion.

Range:

  • true: Yes

  • false: No

messages

Integer

Definition:

Accumulated messages.

Range:

N/A

consumers

Integer

Definition:

Connected consumers.

Range:

N/A

policy

String

Definition:

Policies (The AMQP version does not support this parameter).

Range:

N/A

arguments

QueueArguments object

Definition:

Queue parameter. This parameter is not returned if it is not configured.

consumer_details

Array of ConsumerDetails objects

Definition:

Details of subscribed consumers.

queue_bindings

Array of BindingsDetails objects

Definition:

Bindings to this queue.

Table 3 QueueArguments

Parameter

Type

Description

x-message-ttl

Long

Definition:

Message retention period. This parameter indicates for how long a message in this queue can be retained.

Range:

N/A

x-dead-letter-exchange

String

Definition:

Name of the dead letter exchange. Rejected and expired messages are re-sent to this exchange.

Range:

N/A

x-dead-letter-routing-key

String

Definition:

Routing key of the dead letter exchange. The dead letter exchange sends dead letter messages to the queue with a matching routing key.

Range:

N/A

x-queue-mode

String

Definition:

Lazy queue (The AMQP version does not have this parameter because all messages are persisted by default).

Range:

N/A

Table 4 ConsumerDetails

Parameter

Type

Description

consumer_tag

String

Definition:

Consumer ID.

Range:

N/A

channel_details

ChannelDetails object

Definition:

Consumer connections.

Range:

N/A

ack_required

Boolean

Definition:

Whether manual acknowledgement is enabled on the consumer client.

Range:

  • true: Yes

  • false: No

prefetch_count

Integer

Definition:

Consumer client preset value.

Range:

N/A

Table 5 ChannelDetails

Parameter

Type

Description

name

String

Definition:

Channel details, including the client IP:Port and the server IP:Port (channel_id).

Range:

N/A

number

Integer

Definition:

Channel quantity.

Range:

N/A

user

String

Definition:

Consumer username. If ACL is enabled, the real username will be returned; otherwise null will be returned.

Range:

N/A

connection_name

String

Definition:

Connection details, including the client IP:Port and the server IP:Port.

Range:

N/A

peer_host

String

Definition:

IP address of the connected consumer.

Range:

N/A

peer_port

Integer

Definition:

Port of the process of the connected consumer.

Range:

N/A

Table 6 BindingsDetails

Parameter

Type

Description

source

String

Definition:

Exchange name.

Range:

N/A

destination_type

String

Definition:

Type of the binding target.

Range:

N/A

destination

String

Definition:

Type of the binding target.

Range:

N/A

routing_key

String

Definition:

Binding key-value.

Range:

N/A

properties_key

String

Definition:

URL-translated routing key.

Range:

N/A

Example Requests

Querying specified queue details

GET https://{endpoint}/v2/rabbitmq/{project_id}/instances/{instance_id}/vhosts/{vhost}/queues?offset=0&limit=10

Example Responses

Status code: 200

Successful

{
  "vhost" : "default",
  "name" : "testQueue",
  "durable" : true,
  "auto_delete" : false,
  "messages" : 100,
  "consumers" : 10,
  "policy" : "ttl",
  "arguments" : {
    "x-message-ttl" : 60000,
    "x-dead-letter-exchange" : "dead-exchange-deal",
    "x-dead-letter-routing-key" : "dead-ex-routing-key",
    "x-queue-mode" : "lazy"
  },
  "consumer_details" : {
    "consumer_tag" : "tag",
    "channel_details" : {
      "name" : "channel_name",
      "number" : 1,
      "user" : "root",
      "connection_name" : "connection_name",
      "peer_host" : "192.128.1.254",
      "peer_port" : 12345
    },
    "ack_required" : true,
    "prefetch_count" : 200
  },
  "queue_bindings" : {
    "source" : "amq.direct",
    "destination_type" : "queue",
    "destination" : "testQueue",
    "routing_key" : "info",
    "properties_key" : "info"
  }
}

SDK Sample Code

The SDK sample code is as follows.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
package com.huaweicloud.sdk.test;

import com.huaweicloud.sdk.core.auth.ICredential;
import com.huaweicloud.sdk.core.auth.BasicCredentials;
import com.huaweicloud.sdk.core.exception.ConnectionException;
import com.huaweicloud.sdk.core.exception.RequestTimeoutException;
import com.huaweicloud.sdk.core.exception.ServiceResponseException;
import com.huaweicloud.sdk.rabbitmq.v2.region.RabbitMQRegion;
import com.huaweicloud.sdk.rabbitmq.v2.*;
import com.huaweicloud.sdk.rabbitmq.v2.model.*;


public class ShowQueueDetailsSolution {

    public static void main(String[] args) {
        // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
        // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
        String ak = System.getenv("CLOUD_SDK_AK");
        String sk = System.getenv("CLOUD_SDK_SK");
        String projectId = "{project_id}";

        ICredential auth = new BasicCredentials()
                .withProjectId(projectId)
                .withAk(ak)
                .withSk(sk);

        RabbitMQClient client = RabbitMQClient.newBuilder()
                .withCredential(auth)
                .withRegion(RabbitMQRegion.valueOf("<YOUR REGION>"))
                .build();
        ShowQueueDetailsRequest request = new ShowQueueDetailsRequest();
        request.withInstanceId("{instance_id}");
        request.withVhost("{vhost}");
        request.withQueue("{queue}");
        try {
            ShowQueueDetailsResponse response = client.showQueueDetails(request);
            System.out.println(response.toString());
        } catch (ConnectionException e) {
            e.printStackTrace();
        } catch (RequestTimeoutException e) {
            e.printStackTrace();
        } catch (ServiceResponseException e) {
            e.printStackTrace();
            System.out.println(e.getHttpStatusCode());
            System.out.println(e.getRequestId());
            System.out.println(e.getErrorCode());
            System.out.println(e.getErrorMsg());
        }
    }
}
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# coding: utf-8

import os
from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdkrabbitmq.v2.region.rabbitmq_region import RabbitMQRegion
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdkrabbitmq.v2 import *

if __name__ == "__main__":
    # The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
    # In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
    ak = os.environ["CLOUD_SDK_AK"]
    sk = os.environ["CLOUD_SDK_SK"]
    projectId = "{project_id}"

    credentials = BasicCredentials(ak, sk, projectId)

    client = RabbitMQClient.new_builder() \
        .with_credentials(credentials) \
        .with_region(RabbitMQRegion.value_of("<YOUR REGION>")) \
        .build()

    try:
        request = ShowQueueDetailsRequest()
        request.instance_id = "{instance_id}"
        request.vhost = "{vhost}"
        request.queue = "{queue}"
        response = client.show_queue_details(request)
        print(response)
    except exceptions.ClientRequestException as e:
        print(e.status_code)
        print(e.request_id)
        print(e.error_code)
        print(e.error_msg)
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
package main

import (
	"fmt"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
    rabbitmq "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/rabbitmq/v2"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/services/rabbitmq/v2/model"
    region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/rabbitmq/v2/region"
)

func main() {
    // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
    // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
    ak := os.Getenv("CLOUD_SDK_AK")
    sk := os.Getenv("CLOUD_SDK_SK")
    projectId := "{project_id}"

    auth := basic.NewCredentialsBuilder().
        WithAk(ak).
        WithSk(sk).
        WithProjectId(projectId).
        Build()

    client := rabbitmq.NewRabbitMQClient(
        rabbitmq.RabbitMQClientBuilder().
            WithRegion(region.ValueOf("<YOUR REGION>")).
            WithCredential(auth).
            Build())

    request := &model.ShowQueueDetailsRequest{}
	request.InstanceId = "{instance_id}"
	request.Vhost = "{vhost}"
	request.Queue = "{queue}"
	response, err := client.ShowQueueDetails(request)
	if err == nil {
        fmt.Printf("%+v\n", response)
    } else {
        fmt.Println(err)
    }
}

For SDK sample code of more programming languages, see the Sample Code tab in API Explorer. SDK sample code can be automatically generated.

Status Codes

Status Code

Description

200

Successful

Error Codes

See Error Codes.