При попытке сделать запрос из лямбды с помощью запросов botocore.vendored я обнаружил, что моя строка запроса усекается.
Я пытался построить ее как строку, продиктовать и даже пыталсяпросто создайте закодированный URL, но все они, похоже, обрезаются после первого параметра запроса
import base64
import os
import traceback
from urllib.parse import urlencode
from botocore.vendored import requests
ORIGIN = os.environ.get('ORIGIN')
def api_proxy(event, context):
if event['queryStringParameters']:
myParams = urlencode(event['queryStringParameters'],'utf-8')
url = ORIGIN + event['path']
print("URL: " + url)
print("Params: " + myParams)
try:
if myParams:
dataRequest = requests.get(url, params=myParams)
else:
dataRequest = requests.get(url)
print("Requested URL: " + dataRequest.url)
except:
traceback.print_exc()
Я печатаю три разные части процесса, и вот что я получаю:
URL: https://{my_domain}/premium/data/DefinedImage/png
Params: minY=47.00&minX=-15.00&maxY=61.00&maxX=5.00&width=1000&RUN=2019-05-30T09%3A00%3A00Z&styles=&FORECAST=%2B0&height=1200
Requested URL: https://{my_domain}/premium/data/DefinedImage/png?minY=47.00
Я ожидаю, что запрошенный URL будет полным URL со всеми параметрами в конце, но request.get, похоже, усекает мой URL в первом амперсанде.