Exemple de code de regroupement de connexions
Découvrez un exemple de code de regroupement de connexions particulièrement efficace pour envisager d'ajouter des fonctions que vous créez avec OCI Functions.
Pour les fonctions qui se connectent à des ressources externes, vous voudrez généralement inclure du code de regroupement de connexions dans une fonction afin de réduire le temps nécessaire pour établir une connexion lorsque la fonction est appelée pour la première fois.
Cette section présente un exemple de code de regroupement de connexions particulièrement efficace.
Exemple Python de code de regroupement de connexions
import requests, json, logging
def send_to_endpoint(data: list, rest_endpoint: str):
"""
This function demonstrates best practices to efficiently POST data payloads to REST API endpoints.
Because the Session and HTTPAdapter negotiate and retain TLS sessions with endpoints for the life of
the connection pool, it eliminates expensive TLS re-negotiation per POST.
"""
session = None
try:
session = requests.Session()
adapter = requests.adapters.HTTPAdapter(pool_connections=10, pool_maxsize=10)
session.mount('https://', adapter)
http_headers = {'Content-type': 'application/json'}
for item in data:
resp = session.post(rest_endpoint, data=json.dumps(item), headers=http_headers)
if resp.status_code not in [200, 202]:
raise RuntimeError(f'POST Error / {resp.status_code} / {resp.text}')
logging.info(f'POST Success / {resp.status_code} / {resp.text}')
finally:
session.close()