+++ /dev/null
-.. This work is licensed under a Creative Commons Attribution 4.0 International License.\r
-.. http://creativecommons.org/licenses/by/4.0\r
-\r
-DMaaP connection objects\r
-========================\r
-\r
-DMaaP connection objects are JSON objects that:\r
-\r
-1. Components should expect at runtime in their application\r
- configuration and is to be used to connect to the appropriate DMaaP\r
- feed or topic.\r
-2. Developers must provide through the command-line argument\r
- ``--dmaap-file`` to test their component with manually provisioned\r
- feeds and topics.\r
-\r
-This page is a reference to the specific structure that each type of\r
-DMaaP stream requires.\r
-\r
-Note for #1 that components should expect the entire object with all\r
-properties at runtime where the default will be ``null`` unless\r
-specified otherwise.\r
-\r
-Note for #2 that developers are not required to provide the entire\r
-object. The required properties will be labeled with “*required as\r
-input*”.\r
-\r
-.. _dmaap-message-router:\r
-\r
-Message router\r
---------------\r
-\r
-Publishers and subscribers both have the same JSON object structure.\r
-Here’s an example:\r
-\r
-.. code:: json\r
-\r
- {\r
- "type": "message_router",\r
- "aaf_username": "some-user",\r
- "aaf_password": "some-password",\r
- "dmaap_info": {\r
- "client_role": "com.dcae.member",\r
- "client_id": "1500462518108",\r
- "location": "mtc00",\r
- "topic_url": "https://we-are-message-router.us:3905/events/some-topic"\r
- }\r
- }\r
-\r
-\r
-At the top-level:\r
-\r
-+-------------+----+--------------------+\r
-| Property | Ty\| Descript\ |\r
-| Name | pe | ion |\r
-+=============+====+====================+\r
-| type | st\| *Require\ |\r
-| | ri\| d \ |\r
-| | ng | as \ |\r
-| | | input*. |\r
-| | | Must be |\r
-| | | ``message_router`` |\r
-| | | for |\r
-| | | message |\r
-| | | router |\r
-| | | topics |\r
-+-------------+----+--------------------+\r
-| aaf_usernam\| st\| AAF |\r
-| e | ri\| username |\r
-| | ng | message |\r
-| | | router |\r
-| | | clients |\r
-| | | use to |\r
-| | | authenti\ |\r
-| | | cate |\r
-| | | with |\r
-| | | secure |\r
-| | | topics |\r
-+-------------+----+--------------------+\r
-| aaf_passwor\| st\| AAF |\r
-| d | ri\| password |\r
-| | ng | message |\r
-| | | router |\r
-| | | clients |\r
-| | | use to |\r
-| | | authenti\ |\r
-| | | cate |\r
-| | | with |\r
-| | | secure |\r
-| | | topics |\r
-+-------------+----+--------------------+\r
-| dmaap_info | JS\| *Require\ |\r
-| | ON | d \ |\r
-| | ob\| as \ |\r
-| | je\| input*. |\r
-| | ct | Contains |\r
-| | | the |\r
-| | | topic |\r
-| | | connecti\ |\r
-| | | on |\r
-| | | details |\r
-+-------------+----+--------------------+\r
-\r
-The ``dmaap_info`` object contains:\r
-\r
-+-------------+----+----------+\r
-| Property | Ty\| Descript\|\r
-| Name | pe | ion |\r
-+=============+====+==========+\r
-| client_role | st\| AAF |\r
-| | ri\| client |\r
-| | ng | role |\r
-| | | that’s |\r
-| | | requesti\|\r
-| | | ng |\r
-| | | publish |\r
-| | | or |\r
-| | | subscrib\|\r
-| | | e |\r
-| | | access |\r
-| | | to the |\r
-| | | topic |\r
-+-------------+----+----------+\r
-| client_id | st\| Client |\r
-| | ri\| id for |\r
-| | ng | given |\r
-| | | AAF |\r
-| | | client |\r
-+-------------+----+----------+\r
-| location | st\| DCAE |\r
-| | ri\| location |\r
-| | ng | for the |\r
-| | | publishe\|\r
-| | | r |\r
-| | | or |\r
-| | | subscrib\|\r
-| | | er, |\r
-| | | used to |\r
-| | | set up |\r
-| | | routing |\r
-+-------------+----+----------+\r
-| topic_url | st\| *Require\|\r
-| | ri\| d \ |\r
-| | ng | as \ |\r
-| | | input*. |\r
-| | | URL for |\r
-| | | accessin\|\r
-| | | g |\r
-| | | the |\r
-| | | topic to |\r
-| | | publish |\r
-| | | or |\r
-| | | receive |\r
-| | | events |\r
-+-------------+----+----------+\r
-\r
-Here’s an example of the minimal JSON that must be provided as an input:\r
-\r
-.. code:: json\r
-\r
- {\r
- "type": "message_router",\r
- "dmaap_info": {\r
- "topic_url": "https://we-are-message-router.us:3905/events/some-topic"\r
- }\r
- }\r
-\r
-.. _dmaap-data-router:\r
-\r
-Data router\r
------------\r
-\r
-Publisher\r
-~~~~~~~~~\r
-\r
-Here’s an example of what the JSON object connection for data router\r
-publisher looks like:\r
-\r
-.. code:: json\r
-\r
- {\r
- "type": "data_router",\r
- "dmaap_info": {\r
- "location": "mtc00",\r
- "publish_url": "https://we-are-data-router.us/feed/xyz",\r
- "log_url": "https://we-are-data-router.us/feed/xyz/logs",\r
- "username": "some-user",\r
- "password": "some-password",\r
- "publisher_id": "123456"\r
- } \r
- }\r
-\r
-At the top-level:\r
-\r
-+-------------+----+----------------+\r
-| Property | Ty\| Descript\ |\r
-| Name | pe | ion |\r
-+=============+====+================+\r
-| type | st\| *Require\ |\r
-| | ri\| d \ |\r
-| | ng | as \ |\r
-| | | input*. |\r
-| | | Must be |\r
-| | | ``data_router``|\r
-| | | for data |\r
-| | | router |\r
-| | | feeds |\r
-+-------------+----+----------------+\r
-| dmaap_info | JS\| *Require\ |\r
-| | ON | d \ |\r
-| | ob\| as \ |\r
-| | je\| input*. |\r
-| | ct | Contains |\r
-| | | the |\r
-| | | topic |\r
-| | | connecti\ |\r
-| | | on |\r
-| | | details |\r
-+-------------+----+----------------+\r
-\r
-The ``dmaap_info`` object contains:\r
-\r
-+-------------+----+----------+\r
-| Property | Ty\| Descript\|\r
-| Name | pe | ion |\r
-+=============+====+==========+\r
-| location | st\| DCAE |\r
-| | ri\| location |\r
-| | ng | for the |\r
-| | | publishe\|\r
-| | | r, |\r
-| | | used to |\r
-| | | set up |\r
-| | | routing |\r
-+-------------+----+----------+\r
-| publish_url | st\| *Require\|\r
-| | ri\| d \ |\r
-| | ng | as \ |\r
-| | | input*. |\r
-| | | URL to |\r
-| | | which |\r
-| | | the |\r
-| | | publishe\|\r
-| | | r |\r
-| | | makes |\r
-| | | Data |\r
-| | | Router |\r
-| | | publish |\r
-| | | requests |\r
-+-------------+----+----------+\r
-| log_url | st\| URL from |\r
-| | ri\| which |\r
-| | ng | log data |\r
-| | | for the |\r
-| | | feed can |\r
-| | | be |\r
-| | | obtained |\r
-+-------------+----+----------+\r
-| username | st\| Username |\r
-| | ri\| the |\r
-| | ng | publishe\|\r
-| | | r |\r
-| | | uses to |\r
-| | | authenti\|\r
-| | | cate |\r
-| | | to Data |\r
-| | | Router |\r
-+-------------+----+----------+\r
-| password | st\| Password |\r
-| | ri\| the |\r
-| | ng | publishe\|\r
-| | | r |\r
-| | | uses to |\r
-| | | authenti\|\r
-| | | cate |\r
-| | | to Data |\r
-| | | Router |\r
-+-------------+----+----------+\r
-| publisher_i | st\| Publishe\|\r
-| d | ri\| r |\r
-| | ng | id in |\r
-| | | Data |\r
-| | | Router |\r
-+-------------+----+----------+\r
-\r
-Here’s an example of the minimal JSON that must be provided as an input:\r
-\r
-.. code:: json\r
-\r
- {\r
- "type": "data_router",\r
- "dmaap_info": {\r
- "publish_url": "https://we-are-data-router.us/feed/xyz"\r
- }\r
- }\r
-\r
-Subscriber\r
-~~~~~~~~~~\r
-\r
-Here’s an example of what the JSON object connection for data router\r
-subscriber looks like:\r
-\r
-.. code:: json\r
-\r
- {\r
- "type": "data_router",\r
- "dmaap_info": {\r
- "location": "mtc00",\r
- "delivery_url": "https://my-subscriber-app.dcae:8080/target-path",\r
- "username": "some-user",\r
- "password": "some-password",\r
- "subscriber_id": "789012"\r
- } \r
- }\r
-\r
-At the top-level:\r
-\r
-+-------------+----+----------------+\r
-| Property | Ty\| Descript\ |\r
-| Name | pe | ion |\r
-+=============+====+================+\r
-| type | st\| *Require\ |\r
-| | ri\| d |\r
-| | ng | as \ |\r
-| | | input*. |\r
-| | | Must be |\r
-| | | ``data_router``|\r
-| | | for data |\r
-| | | router |\r
-| | | feeds |\r
-+-------------+----+----------------+\r
-| dmaap_info | JS\| *Require\ |\r
-| | ON | d \ |\r
-| | ob\| as \ |\r
-| | je\| input*. |\r
-| | ct | Contains |\r
-| | | the |\r
-| | | topic |\r
-| | | connecti\ |\r
-| | | on |\r
-| | | details |\r
-+-------------+----+----------------+\r
-\r
-The ``dmaap_info`` object contains:\r
-\r
-+--------------+----+----------+\r
-| Property | Ty\| Descript\|\r
-| Name | pe | ion |\r
-+==============+====+==========+\r
-| location | st\| DCAE |\r
-| | ri\| location |\r
-| | ng | for the |\r
-| | | publishe\|\r
-| | | r, |\r
-| | | used to |\r
-| | | set up |\r
-| | | routing |\r
-+--------------+----+----------+\r
-| delivery_ur\ | st\| URL to |\r
-| l | ri\| which |\r
-| | ng | the Data |\r
-| | | Router |\r
-| | | should |\r
-| | | deliver |\r
-| | | files |\r
-+--------------+----+----------+\r
-| username | st\| Username |\r
-| | ri\| Data |\r
-| | ng | Router |\r
-| | | uses to |\r
-| | | authenti\|\r
-| | | cate |\r
-| | | to the |\r
-| | | subscrib\|\r
-| | | er |\r
-| | | when |\r
-| | | deliveri\|\r
-| | | ng |\r
-| | | files |\r
-+--------------+----+----------+\r
-| password | st\| Password |\r
-| | ri\| Data |\r
-| | ng | Router |\r
-| | | uses to |\r
-| | | authenti\|\r
-| | | cate |\r
-| | | to the |\r
-| | | subscrib\|\r
-| | | er |\r
-| | | when |\r
-| | | deliveri\|\r
-| | | ng |\r
-| | | files |\r
-+--------------+----+----------+\r
-| subscriber_i\| st | Subscrib\|\r
-| d | ri | er |\r
-| | ng | id in |\r
-| | | Data |\r
-| | | Router |\r
-+--------------+----+----------+\r
-\r
-Here’s an example of the minimal JSON that must be provided as an input:\r
-\r
-.. code:: json\r
-\r
- {\r
- "type": "data_router",\r
- "dmaap_info": {\r
- }\r
- }\r
-\r
-Developers are recommended to use ``username`` and ``password`` since\r
-this is the recommended security practice.\r
-\r
-Note that the dcae-cli will construct the ``delivery_url`` when\r
-deploying the component since this can only be known at deployment time.\r