Which all Reuters host/ ports will Elektron consumer Consumer_3 can connect to in production?

We have recently certified with reuters Elektron API via EMA using Elektron consumer Consumer_3.


Pls let us know which all Reuters host/ ports will Elektron consumer Consumer_3 can connect to in NY production, so that we can set up network connection with all those in advance before deploying our adaptor.


In dev/ test env, Consumer_3 routes our connection requests (unknown to us beforehand) to -

amer-1.pricing.streaming.edp.thomsonreuters.com 14002

amer-2.pricing.streaming.edp.thomsonreuters.com 14002

amer-3.pricing.streaming.edp.thomsonreuters.com 14002


In UAT env, Consumer_3 routes our connection requests (unknown to us beforehand) to -

34.192.36.253 443

34.196.145.13 443

18.235.150.175 443


Having a list of production IP/ ports will help us to prepare for production deployment better.


Thanks

Ashish


Best Answer

  • Jirapongse
    Jirapongse admin
    Answer ✓

    @ashish.mudgil

    You can use the following endpoint (https://api.refinitiv.com/streaming/pricing/v1/) to retrieve a list of servers and transports that supports the stream pricing.

    For EMA, you need to select servers that support tcp transport and rwf data format.

    From the result, all ports for the tcp transport are 14002.

    image

    For a list of IP addresses, you can contact Elektron Real Time in Cloud support team via MyRefinitiv.

Answers

  • Hello @ashish.mudgil

    Please contact Refinitiv account team for the list of server/IP that you can connect to.

  • @ashish.mudgil

    If you are using a machine id to connect to Elektron Real Time in Cloud, you can use the code from GitHub to get a list of servers from https://api.refinitiv.com/streaming/pricing/v1/.

    For example, I have used the market_price_edpgw_service_discovery.py python code.

    First, you need to modify the code in the query_service_discovery function to get a list of servers for tcp transport (params={"transport": "tcp"}).

    def query_service_discovery(url=None):

        if url is None:
            url = discovery_url

        print("Sending EDP-GW service discovery request to " + url)

        try:
            r = requests.get(url, headers={"Authorization": "Bearer " + sts_token}, params={"transport": "tcp"}, allow_redirects=False)

    Then, run the code with the following arguments:

    python market_price_edpgw_service_discovery.py --user <machine_id> --password <password> --clientid <machine_id>

    You will see the following response:

    Sending EDP-GW service discovery request to https://api.refinitiv.com/streaming/pricing/v1/
    EDP-GW Service discovery succeeded. RECEIVED:
    {
      "services":[
        {
          "dataFormat":[
            "rwf"
          ],
          "endpoint":"apac-1.pricing.streaming.edp.thomsonreuters.com",
          "location":[
            "ap-southeast-1a"
          ],
          "port":14002,
          "provider":"aws",
          "transport":"tcp"
        },
        {
          "dataFormat":[
            "rwf"
          ],
          "endpoint":"emea-2.pricing.streaming.edp.thomsonreuters.com",
          "location":[
            "eu-west-1b"
          ],
          "port":14002,
          "provider":"aws",

    The modified code is attached market_price_edpgw_service_discovery.py.txt