AWS server return different data type when using REST API with python2 instead of python3

Hi,
I am trying to use REST API in python to extract tick history. I was able to follow the example provided in the download section and extract tick data successfully (in .csv.gzip format) in my development environment, which is in python3. However, when I tested exactly the same code in my production environment (python2) I got an error saying the return data is not in gzip format.
I checked the `Content-Type` field in HTTP response, I found AWS return a xml data, instead of gzip, in my production environment. Message as below:
`Content response headers (AWS server): type: application/xml`
The only difference, as far as I can tell for now, is that I am running with python2. Would this be the problem?
Thanks so much for helping
Best Answer
-
I have tried the TRTH_OnDemand_IntradayBars.py example which is modified to use TickHistoryTimeAndSales extraction with Python 2.7.9 version, but cannot find the issue. Could you provide the request message you are using? Is there any modification on the example except the request?
Are you able replicate the issue on demand? Could you 1) enable debug logging, 2) add the X-Client-Session-Id header, and 3) log the response header of the RawExtractionResults endpoint?
Please provide the application's console log.
Below is the sample of modified code on Step 5.
#Step 5: get the extraction results, using the received jobId.
...
# Advisory: avoid incomplete output - decompress then download
# 1) enable debug logging
logging.basicConfig(level=logging.DEBUG)
requestUrl = "https://hosted.datascopeapi.reuters.com/RestApi/v1/Extractions/RawExtractionResults" + "('" + jobId + "')" + "/$value"
#AWS requires an additional header: X-Direct-Download
if useAws:
requestHeaders={
"Prefer":"respond-async",
"Content-Type":"text/plain",
"Accept-Encoding":"gzip",
"X-Direct-Download":"true",
"Authorization": "token " + token,
# 2) add the X-Client-Session-Id header
"X-Client-Session-Id": "9FBAA1E1-DFF3-435C-A0CA-1C9A6C46C266"
}
else:
requestHeaders={
"Prefer":"respond-async",
"Content-Type":"text/plain",
"Accept-Encoding":"gzip",
"Authorization": "token " + token
}
r5 = requests.get(requestUrl,headers=requestHeaders,stream=True)
#Ensure we do not automatically decompress the data on the fly:
r5.raw.decode_content = False
if useAws:
# 3) log the response header
for red in r5.history:
print (red.headers)
print ('Content response headers (AWS server): type: ' + r5.headers["Content-Type"] + '\n')
#AWS does not set header Content-Encoding="gzip".0
Answers
-
Could you share the snippet code and application log when the issue occurred, so that I will try to replicate the issue?
0 -
I don't know the best way to share snippet here, but my code basically follows the example file in official doc: TRTH_OnDemand_IntradayBars.py, except we are extracting Time and Sales, instead of Intraday Summary.
Which kind of log are you looking for? I can try to paste it here.
Thanks
0
Categories
- All Categories
- 3 Polls
- 6 AHS
- 36 Alpha
- 166 App Studio
- 6 Block Chain
- 4 Bot Platform
- 18 Connected Risk APIs
- 47 Data Fusion
- 34 Data Model Discovery
- 688 Datastream
- 1.4K DSS
- 625 Eikon COM
- 5.2K Eikon Data APIs
- 11 Electronic Trading
- 1 Generic FIX
- 7 Local Bank Node API
- 3 Trading API
- 2.9K Elektron
- 1.4K EMA
- 255 ETA
- 557 WebSocket API
- 38 FX Venues
- 14 FX Market Data
- 1 FX Post Trade
- 1 FX Trading - Matching
- 12 FX Trading – RFQ Maker
- 5 Intelligent Tagging
- 2 Legal One
- 23 Messenger Bot
- 3 Messenger Side by Side
- 9 ONESOURCE
- 7 Indirect Tax
- 60 Open Calais
- 276 Open PermID
- 44 Entity Search
- 2 Org ID
- 1 PAM
- PAM - Logging
- 6 Product Insight
- Project Tracking
- ProView
- ProView Internal
- 22 RDMS
- 1.9K Refinitiv Data Platform
- 695 Refinitiv Data Platform Libraries
- 4 LSEG Due Diligence
- LSEG Due Diligence Portal API
- 4 Refinitiv Due Dilligence Centre
- Rose's Space
- 1.2K Screening
- 18 Qual-ID API
- 13 Screening Deployed
- 23 Screening Online
- 12 World-Check Customer Risk Screener
- 1K World-Check One
- 46 World-Check One Zero Footprint
- 45 Side by Side Integration API
- 2 Test Space
- 3 Thomson One Smart
- 10 TR Knowledge Graph
- 151 Transactions
- 143 REDI API
- 1.8K TREP APIs
- 4 CAT
- 27 DACS Station
- 121 Open DACS
- 1.1K RFA
- 105 UPA
- 194 TREP Infrastructure
- 229 TRKD
- 918 TRTH
- 5 Velocity Analytics
- 9 Wealth Management Web Services
- 92 Workspace SDK
- 11 Element Framework
- 5 Grid
- 18 World-Check Data File
- 1 Yield Book Analytics
- 48 中文论坛