1 # DMaaP connection objects
3 DMaaP connection objects are JSON objects that:
5 1. Components should expect at runtime in their application configuration and is to be used to connect to the appropriate DMaaP feed or topic.
6 2. Developers must provide through the command-line argument `--dmaap-file` to test their component with manually provisioned feeds and topics.
8 This page is a reference to the specific structure that each type of DMaaP stream requires.
10 Note for #1 that components should expect the entire object with all properties at runtime where the default will be `null` unless specified otherwise.
12 Note for #2 that developers are not required to provide the entire object. The required properties will be labeled with "*required as input*".
16 Publishers and subscribers both have the same JSON object structure. Here's an example:
20 "type": "message_router",
21 "aaf_username": "some-user",
22 "aaf_password": "some-password",
24 "client_role": "com.dcae.member",
25 "client_id": "1500462518108",
27 "topic_url": "https://we-are-message-router.us:3905/events/some-topic"
34 Property Name | Type | Description
35 ------------- | ---- | -----------
36 type | string | *Required as input*. Must be `message_router` for message router topics
37 aaf_username | string | AAF username message router clients use to authenticate with secure topics
38 aaf_password | string | AAF password message router clients use to authenticate with secure topics
39 dmaap_info | JSON object | *Required as input*. Contains the topic connection details
41 The `dmaap_info` object contains:
43 Property Name | Type | Description
44 ------------- | ---- | -----------
45 client_role | string | AAF client role that's requesting publish or subscribe access to the topic
46 client_id | string | Client id for given AAF client
47 location | string | DCAE location for the publisher or subscriber, used to set up routing
48 topic_url | string | *Required as input*. URL for accessing the topic to publish or receive events
50 Here's an example of the minimal JSON that must be provided as an input:
54 "type": "message_router",
56 "topic_url": "https://we-are-message-router.us:3905/events/some-topic"
65 Here's an example of what the JSON object connection for data router publisher looks like:
69 "type": "data_router",
72 "publish_url": "https://we-are-data-router.us/feed/xyz",
73 "log_url": "https://we-are-data-router.us/feed/xyz/logs",
74 "username": "some-user",
75 "password": "some-password",
76 "publisher_id": "123456"
83 Property Name | Type | Description
84 ------------- | ---- | -----------
85 type | string | *Required as input*. Must be `data_router` for data router feeds
86 dmaap_info | JSON object | *Required as input*. Contains the topic connection details
88 The `dmaap_info` object contains:
90 Property Name | Type | Description
91 ------------- | ---- | -----------
92 location | string | DCAE location for the publisher, used to set up routing
93 publish_url | string | *Required as input*. URL to which the publisher makes Data Router publish requests
94 log_url | string | URL from which log data for the feed can be obtained
95 username | string | Username the publisher uses to authenticate to Data Router
96 password | string | Password the publisher uses to authenticate to Data Router
97 publisher_id | string | Publisher id in Data Router
99 Here's an example of the minimal JSON that must be provided as an input:
103 "type": "data_router",
105 "publish_url": "https://we-are-data-router.us/feed/xyz"
112 Here's an example of what the JSON object connection for data router subscriber looks like:
116 "type": "data_router",
119 "delivery_url": "https://my-subscriber-app.dcae:8080/target-path",
120 "username": "some-user",
121 "password": "some-password",
122 "subscriber_id": "789012"
129 Property Name | Type | Description
130 ------------- | ---- | -----------
131 type | string | *Required as input*. Must be `data_router` for data router feeds
132 dmaap_info | JSON object | *Required as input*. Contains the topic connection details
134 The `dmaap_info` object contains:
136 Property Name | Type | Description
137 ------------- | ---- | -----------
138 location | string | DCAE location for the publisher, used to set up routing
139 delivery_url | string | URL to which the Data Router should deliver files
140 username | string | Username Data Router uses to authenticate to the subscriber when delivering files
141 password | string | Password Data Router uses to authenticate to the subscriber when delivering files
142 subscriber_id | string | Subscriber id in Data Router
144 Here's an example of the minimal JSON that must be provided as an input:
148 "type": "data_router",
154 Developers are recommended to use `username` and `password` since this is the recommended security practice.
156 Note that the dcae-cli will construct the `delivery_url` when deploying the component since this can only be known at deployment time.