Rest api
Module to handle REST API operations.
RESTApiException
¶
Bases: requests.RequestException
Class representing any possible REST API Exception.
Source code in mkdocs/lakehouse_engine/packages/utils/rest_api.py
__init__(message)
¶
Construct RESTApiException instances.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
message |
str
|
message to display on exception event. |
required |
RestMethods
¶
RestStatusCodes
¶
execute_api_request(method, url, headers=None, basic_auth_dict=None, json=None, files=None, sleep_seconds=0.2)
¶
Execute a REST API request.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
method |
str
|
REST method (e.g., POST or PUT). |
required |
url |
str
|
url of the api. |
required |
headers |
dict
|
request headers. |
None
|
basic_auth_dict |
dict
|
basic http authentication details (e.g., {"username": "x", "password": "y"}). |
None
|
json |
dict
|
json payload to send in the request. |
None
|
files |
dict
|
files payload to send in the request. |
None
|
sleep_seconds |
float
|
for how many seconds to sleep to avoid error 429. |
0.2
|
Returns:
Type | Description |
---|---|
requests.Response
|
response from the HTTP request. |
Source code in mkdocs/lakehouse_engine/packages/utils/rest_api.py
get_basic_auth(username, password)
¶
Get the basic authentication object to authenticate REST requests.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
username |
str
|
username. |
required |
password |
str
|
password. |
required |
Returns:
Type | Description |
---|---|
requests.auth.HTTPBasicAuth
|
requests.auth.HTTPBasicAuth: the HTTPBasicAuth object. |
Source code in mkdocs/lakehouse_engine/packages/utils/rest_api.py
get_configured_session(sleep_seconds=0.2, total_retries=5, backoff_factor=2, retry_status_codes=None, allowed_methods=None, protocol='https://')
¶
Get a configured requests Session with exponential backoff.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
sleep_seconds |
float
|
seconds to sleep before each request to avoid rate limits. |
0.2
|
total_retries |
int
|
number of times to retry. |
5
|
backoff_factor |
int
|
factor for the exponential backoff. |
2
|
retry_status_codes |
list
|
list of status code that triggers a retry. |
None
|
allowed_methods |
list
|
http methods that are allowed for retry. |
None
|
protocol |
str
|
http:// or https://. |
'https://'
|
Returns requests.Session: the configured session.