@@ -104,8 +104,10 @@ def _get_endpoint_sts_token(self, endpoint_id: str):
104104
105105 def _get_endpoint_certificate (self , endpoint_id : str ) -> key_agreement_client :
106106 if self ._certificate_manager is None :
107- if self .ak is None or self .sk is None :
108- raise ArkAPIError ("must set ak and sk before get endpoint token." )
107+ cert_path = os .environ .get ("E2E_CERTIFICATE_PATH" )
108+ if (self .ak is None or self .sk is None ) and cert_path is None :
109+ raise ArkAPIError ("must set (ak and sk) or (E2E_CERTIFICATE_PATH) \
110+ before get endpoint token." )
109111 self ._certificate_manager = E2ECertificateManager (self .ak , self .sk , self .region )
110112 return self ._certificate_manager .get (endpoint_id )
111113
@@ -299,7 +301,9 @@ def __init__(self, ak: str, sk: str, region: str):
299301 volcenginesdkcore .Configuration .set_default (configuration )
300302 self .api_instance = volcenginesdkark .ARKApi ()
301303
302- def _load_api_key (self , ep : str ) -> str :
304+ self .cert_path = os .environ .get ("E2E_CERTIFICATE_PATH" )
305+
306+ def _load_cert_by_ak_sk (self , ep : str ) -> str :
303307 get_endpoint_certificate_request = volcenginesdkark .GetEndpointCertificateRequest (
304308 id = ep
305309 )
@@ -313,7 +317,11 @@ def _load_api_key(self, ep: str) -> str:
313317
314318 def get (self , ep : str ) -> key_agreement_client :
315319 if ep not in self ._certificate_manager :
316- cert_pem = self ._load_api_key (ep )
320+ if self .cert_path is not None :
321+ with open (self .cert_path , 'r' ) as f :
322+ cert_pem = f .read ()
323+ else :
324+ cert_pem = self ._load_cert_by_ak_sk (ep )
317325 self ._certificate_manager [ep ] = key_agreement_client (
318326 certificate_pem_string = cert_pem
319327 )
0 commit comments