Creating a Custom Event Source
Function
This API is used to create a custom event source, which must use a custom event channel.
Authorization Information
Each account has all the permissions required to call all APIs, but IAM users must be assigned the required permissions. For details about the required permissions, see Permissions Policies and Supported Actions.
URI
POST /v1/{project_id}/sources
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
project_id |
Yes |
String |
Tenant resource space ID. |
Request Parameters
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
X-Auth-Token |
Yes |
String |
User token. The token can be obtained by calling the IAM API used to obtain a user token. The value of X-Subject-Token in the response header is the user token. |
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
name |
Yes |
String |
Name of the custom event source. The value must be unique under a tenant. Only lowercase letters, digits, periods (.), underscores (_), and hyphens (-) are allowed. It must start with a letter or digit and cannot start with hc.. |
|
description |
No |
String |
Description of the event source. |
|
type |
No |
String |
Type of the event source. |
|
detail |
No |
EventSourceDetail object |
Message instance connection information encapsulated in JSON format. |
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
instance_id |
No |
String |
Message queue instance ID. |
|
group |
Yes |
String |
Consumer group. |
|
topic |
Yes |
String |
Topic |
|
access_key |
Yes |
String |
Username. |
|
secret_key |
Yes |
String |
Secret key. |
|
vpc_id |
No |
String |
VPC ID. |
|
subnet_id |
No |
String |
Subnet ID. |
|
namesrv_address |
No |
String |
Connection address. |
|
ssl_enable |
No |
Boolean |
SSL |
|
enable_acl |
No |
Boolean |
Whether to enable access control. |
|
vhost_name |
No |
String |
RabbitMQ exchange name. |
|
queue_name |
No |
String |
RabbitMQ queue name. |
|
user_name |
No |
String |
Username. |
|
password |
No |
String |
Password. |
Response Parameters
Status code: 200
|
Parameter |
Type |
Description |
|---|---|---|
|
X-Request-Id |
String |
This field is the request ID number for task tracking. Format is request_uuid-timestamp-hostname. |
|
Parameter |
Type |
Description |
|---|---|---|
|
id |
String |
ID of the event source. |
|
name |
String |
Name of the event source. |
|
label |
String |
Label of the event source. |
|
description |
String |
Description of the event source. |
|
provider_type |
String |
Type of the event source provider, which can be OFFICIAL (official cloud service event source), CUSTOM (custom event source), or PARTNER (partner event source). |
|
event_types |
Array of event_types objects |
List of event types provided by the event source. Only the official cloud service event source provides event types. |
|
created_time |
String |
UTC time when the event source is created. |
|
updated_time |
String |
UTC time when the event source is updated. |
|
channel_name |
String |
Name of the event channel to which the event source belongs. |
|
type |
String |
Type of the event source. |
|
detail |
Object |
Connection information encapsulated in JSON format in the message instance, such as the instance_id field of the RabbitMQ instance, vhost field of the virtual host, queue field, username, and password. |
|
status |
String |
Status of the custom event source. |
|
error_info |
ErrorInfo object |
Error message. |
Example Requests
Create a custom event source.
POST https://{endpoint}/v1/{project_id}/sources
{
"name" : "first-source",
"description" : "first event source",
"channel_id" : "bd14144e-8f3c-43d6-bdfd-bf09b52c2b96",
"type" : "RABBITMQ"
}
Example Responses
Status code: 200
Operation successful.
{
"id" : "90e0b962-c6c1-438c-ba8a-3024fe592bda",
"name" : "first-source",
"label" : "first-source",
"description" : "first event source",
"provider_type" : "CUSTOM",
"event_types" : [ {
"name" : "OBS:CloudTrace:ApiCall",
"description" : "Service API call type event."
} ],
"created_time" : "2021-12-09 09:00:00",
"updated_time" : "2021-12-09 09:00:00",
"channel_name" : "channel",
"type" : "RABBITMQ",
"detail" : "{\"instance_id\":\"ac14144e-9v3c-43d6-acfd-bf09b52c98uy\",\"user_name\":\"rabbitmq_user\",\"password\":\"changeme\",\"vhost_name\":\"vhost_name\",\"queue_name\":\"queue_name\"}",
"status" : "RUNNING",
"error_info" : { }
}
Status Codes
|
Status Code |
Description |
|---|---|
|
200 |
Operation successful. |
Error Codes
See Error Codes.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot