I’m trying to do is to open a connection, without using a config file, is that possible?

I’m trying to stream prices using the lseg api.

I was using a config file to set up the session:

 

with open(self.config_file_name, "w") as config_file:
        config_file.write(json.dumps(self.config_dict, indent=4))
self._session = rd.open_session(config_name=self.config_file_name)

 

This works well, but when I deploy to AWS the connection fails. I think it’s because I don’t have permissions to write files on the cloud.

 

I tried to set up the session without using the config:

 

session = rd.session.platform.Definition(app_key =self.appKey, grant = rd.session.platform.GrantPassword(username=self.user, password=self.password), signon_control=True).get_session()rd.session.set_default(session)self._session = rd.open_session()

 

This seems to open a connection, and then I can open the stream:

 

rd.open_pricing_stream(universe=codes, fields=fields, on_data=lambda stream, instrument_name,                                                                                            fields: threading.Thread(target=connection.process_stream_updates, args=(instrument_name,stream)).start())return cls._instance

 

But then I don’t see the prices streaming.

 

In short, what I’m trying to do is to open a connection, without using a config file, is that possible?

 

Answers

  • Hello @navamani.p

    Yes, it is possible to use the library without the config file. I would recommend that you update your library (RD library) to the latest version (LD library).

    In the provided examples for LD library, you can see how to create and open a platform session without the use of a configuration file,

    session = ld.session.platform.Definition(
        app_key = APP_KEY, 
        grant = ld.session.platform.GrantPassword(
            username = RDP_LOGIN, 
            password = RDP_PASSWORD
        )
    ).get_session()
    
  • I would also like to point out that you are able to open the session from AWS and unable to stream prices, then there might be an issue with firewall config. Streaming connection requirements are different from the REST API connection. Enable the debug logs in your configuration to get the reason why streaming is not working.