Querying a Topic Policy
Function
This API is used to query a topic policy.
URI
GET /v2/{project_id}/notifications/topics/{topic_urn}/attributes
| Parameter | Mandatory | Type | Description |
|---|---|---|---|
| project_id | Yes | String | Specifies the project ID. |
| topic_urn | Yes | String | Specifies the resource identifier of the topic, which is unique. To obtain the resource identifier, see Querying Topics. |
| Parameter | Mandatory | Type | Description |
|---|---|---|---|
| name | Yes | String | Specifies the topic policy name. Only specified policy names are supported. For details, see Topic Attribute List. |
Request Parameters
| Parameter | Mandatory | Type | Description |
|---|---|---|---|
| X-Auth-Token | Yes | String | Specifies the user token. It can be obtained by calling the IAM API (value of X-Subject-Token in the response header). |
Response Parameters
Status code: 200
| Parameter | Type | Description |
|---|---|---|
| request_id | String | Specifies the request ID, which is unique. |
| attributes | TopicAttribute object | Specifies the attribute key-value pair. access_policy: topic access policy introduction: description of a topic |
| Parameter | Type | Description |
|---|---|---|
| Version | String | Specifies the policy specification version. Only 2016-09-07 is supported. |
| Id | String | Specifies the policy ID, which uniquely identifies a policy. The policy ID must be specified. |
| Statement | Array of Statement objects | You can use statements to configure a topic policy. Each topic policy may contain one or more statements. You can use statements to grant topic operation permissions to other users or cloud services. |
| Parameter | Type | Description |
|---|---|---|
| Sid | String | Specifies the statement ID. The statement ID must be unique, for example, statement01 or statement02. |
| Effect | String | Specifies the statement effect. The value can be Allow or Deny. |
| Principal | String | Specifies the object the statement applies to. Valid values are:
Either Principal or NotPrincipal must be configured.
|
| NotPrincipal | String | Specifies the object the statement does not apply to. Valid values are:
Either Principal or NotPrincipal must be configured.
|
| Action | String | Specifies the allowed statement action. You can use a wildcard character to configure a type of actions, for example, SMN:Update* and SMN:Delete*. If you only enter a wildcard character (*) in a statement, all supported actions are configured. Either Action or NotAction must be configured. The following actions are supported:
|
| NotAction | String | Specifies the statement action that is not allowed. You can use a wildcard character to configure a type of actions, for example, SMN:Update* and SMN:Delete*. If you only enter a wildcard character (*) in a statement, all supported actions are configured. Either Action or NotAction must be configured. The following actions are supported: SMN:UpdateTopic SMN:DeleteTopic SMN:QueryTopicDetail SMN:ListTopicAttributes SMN:UpdateTopicAttribute SMN:DeleteTopicAttributes SMN:DeleteTopicAttributeByName SMN:ListSubscriptionsByTopic SMN:Subscribe SMN:Unsubscribe SMN:Publish |
| Resource | String | Specifies the topic the statement applies to. Either Resource or NotResource must be configured. You need to enter a topic URN. |
| NotResource | String | Specifies the topic the statement does not apply to. Either Resource or NotResource must be configured. You need to enter a topic URN. |
Status code: 400
| Parameter | Type | Description |
|---|---|---|
| request_id | String | Specifies the request ID, which is unique. |
| code | String | Specifies the error code. |
| message | String | Describes the error message. |
Status code: 403
| Parameter | Type | Description |
|---|---|---|
| request_id | String | Specifies the request ID, which is unique. |
| code | String | Specifies the error code. |
| message | String | Describes the error message. |
Status code: 404
| Parameter | Type | Description |
|---|---|---|
| request_id | String | Specifies the request ID, which is unique. |
| code | String | Specifies the error code. |
| message | String | Describes the error message. |
Status code: 500
| Parameter | Type | Description |
|---|---|---|
| request_id | String | Specifies the request ID, which is unique. |
| code | String | Specifies the error code. |
| message | String | Describes the error message. |
Example Requests
Querying a Topic Policy
GET https://{SMN_Endpoint}/v2/{project_id}/notifications/topics/urn:smn:regionId:8bad8a40e0f7462f8c1676e3f93a8183:test_create_topic_v2/attributes?name=access_policy
null Example Responses
Status code: 200
OK
{
"request_id" : "6837531fd3f54550927b930180a706bf",
"attributes" : {
"access_policy" : {
"version" : "2016-09-07",
"Id" : "__default_policy_ID",
"Statement" : [ {
"Sid" : "__user_pub_0",
"Effect" : "Allow",
"Principal" : [ {
"CSP" : [ "urn:csp:iam::93dc1b4697ac493d9b7d089569f86b32:root" ]
} ],
"Action" : [ "SMN:Publish", "SMN:QueryTopicDetail" ],
"Resource" : "urn:smn:regionId:8bad8a40e0f7462f8c1676e3f93a8183:aaa"
}, {
"Sid" : "__service_pub_0",
"Effect" : "Allow",
"Principal" : [ {
"Service" : [ "obs" ]
} ],
"Action" : [ "SMN:Publish", "SMN:QueryTopicDetail" ],
"Resource" : "urn:smn:regionId:8bad8a40e0f7462f8c1676e3f93a8183:aaa"
} ]
}
}
} Status Codes
| Status Code | Description |
|---|---|
| 200 | OK |
| 400 | Bad Request |
| 403 | Unauthorized |
| 404 | Not Found |
| 500 | Internal Server Error |
Error Codes
See Error Codes.
Last Article: Querying Details About a Topic
Next Article: Updating a Topic Policy
Did this article solve your problem?
Thank you for your score!Your feedback would help us improve the website.