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()