DSS Rest API and Azure

Hi, client mine wrote:

"We are experiencing performanceproblems in our testenvironment and therefore one of our application developers went through your document on REST-API and found a section with a recommendation NOT to use this in combination with Azure. We have plans to migrate our application using Azure during 2023."

Is this correct, is DSS REST API and Azure not a recommended combination?

Best Answer

  • Jirapongse
    Answer ✓

    @stefan.sirkia

    Thanks for reaching out to us.

    It is not a bug in the SDK. It is a limitation when using the SDK on Azure. You may contact the product team to enhance the SDK to run properly on Azure.

    If the application runs less than 240 seconds, it should not be a problem.

    Otherwise, you can try the following code to disable keep-alive.

            public void ConnectToServer(string dssUserName, string dssUserPassword)
            {
                ExtractionsContext.SetRequestHeaders(() =>
                {
                    return new Dictionary<string, string>{
                            { "Connection", "close" }
                    };
    });

                extractionsContext = new ExtractionsContext(dssUri, dssUserName, dssUserPassword);
                
            }

    The code sets the value of the "Connection" request header to "close" before creating the ExtractionsContext. I found this solution on StackOverflow.

    I hope that this information is of help.

Answers

  • Further,

    ”Don’t use with Azure” comment in the document called “DataScope Select Best Practices & Fair Usage Policy” (from April 2023) here:

    https://developers.refinitiv.com/en/api-catalog/datascope-select/datascope-select-rest-api/documentation


    From the document:

    "Do Not Use the SDK to Host Applications in Azure

    We do not recommend using the DataScope Select SDK for applications hosted in Azure. Azure is not

    tested with the DataScope Select SDK and therefore, not directly supported.The SDK uses the

    regular.NET Framework class HttpClient with keep-alive enabled. The Azure Load Balancer may reuse

    existing connection after some period of inactivity (240 seconds by default) and ignores the keep-alive

    settings of an open connection. As a result, SDK clients who host their applications in Azure may

    experience intermittent disconnects."

    Client's questions regarding this are:

    1. Is this something that you plan to fix during 2023, so that the SDK will be supported for applications hosted in Azure?
    2. If we only use the connections for less than 240 seconds, can we ignore this issue? Our connections are usually only used for 10-20 seconds.
  • Hi @Jirapongse

    Jupiter (Refinitiv Access) client is planning to use Azure for DSS API, please confirm if its recommended or not.

    Also pls confirm the best authentication method to use when calling DSS from Azure