question

Upvotes
Accepted
2 0 0 0

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


elektronrefinitiv-realtimeelektron-sdk
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 5.0 MiB each and 10.0 MiB total.

Upvotes
Accepted
38.1k 71 35 53

@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.

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


1583294326067.png (32.4 KiB)
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 5.0 MiB each and 10.0 MiB total.

Upvotes
38.1k 71 35 53

@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


icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 5.0 MiB each and 10.0 MiB total.

Click below to post an Idea Post Idea