AWS EKS exposed API

114 Views Asked by At

Hello again community.

I'm working with an EKS cluster in AWS.

I already installed Apache pinot in this cluster in a node.

I already create a virtual service, gateway and load balancer and it returned me a link where I can check the Apache pinot UI. Egg: http://LoadBalancer..amazonaws.com

enter image description here

Even if I want to work with python and I use the API with this endpoint: http://LoadBalancer..amazonaws.com it works, egg:

import requests

# Get request to URI
response = requests.get("http://LoadBalancer.<My region>.amazonaws.com/tables")

# Check if request was successfully
if response.status_code == 200:
    data = response.json()
    print(data['tables'])
else:
    print("Error in request:", response.status_code)

This still works, but when I want to use the pinotdb API it doesn't work, it returns me timeout or errors in that way.

from pinotdb import connect

hosted = 'LoadBalancer.<My region>.amazonaws.com'

connection = connect(host=hosted, port=8099, scheme='http')

cursor = connection.cursor()

# execute a query
query = "select * from testing limit 10"
cursor.execute(query)

In the virtual service that I configure with the kubectl command I linked with my pinot controller to show me the UI in port 9000 and I created other virtual service with pinot broker in port 8099 but the pinotdb Api doesn't work.

Can someone help me with this problem? Or isn't possible to do what I want?

1

There are 1 best solutions below

1
Sat21343 On

Based on official document.

While establishing the connection you have to pass the API path.

connection = connect(host=hosted, port=8099, path='/query/sql', scheme='http')