@@ -123,12 +123,13 @@ class VikingDBKnowledgeBackend(BaseKnowledgebaseBackend):
123123 _viking_sdk_client = None
124124
125125 def model_post_init (self , __context : Any ) -> None :
126- self ._set_env_host ()
126+ self ._set_service_info ()
127127
128128 self ._viking_sdk_client = VikingKnowledgeBaseService (
129129 host = self .host ,
130130 ak = self .volcengine_access_key ,
131131 sk = self .volcengine_secret_key ,
132+ sts_token = self .session_token ,
132133 scheme = self .schema ,
133134 )
134135
@@ -559,7 +560,7 @@ def _search_knowledge(
559560
560561 return entries
561562
562- def _set_env_host (self ):
563+ def _set_service_info (self ):
563564 env_host = getenv (
564565 "DATABASE_VIKING_BASE_URL" , default_value = None , allow_false_values = True
565566 )
@@ -574,28 +575,25 @@ def _set_env_host(self):
574575 "DATABASE_VIKING_BASE_URL must start with http:// or https://"
575576 )
576577
578+ if not (self .volcengine_access_key and self .volcengine_secret_key ):
579+ cred = get_credential_from_vefaas_iam ()
580+ self .volcengine_access_key = cred .access_key_id
581+ self .volcengine_secret_key = cred .secret_access_key
582+ self .session_token = cred .session_token
583+
577584 def _do_request (
578585 self ,
579586 body : dict ,
580587 path : str ,
581588 method : Literal ["GET" , "POST" , "PUT" , "DELETE" ] = "POST" ,
582589 ) -> dict :
583590 full_path = f"{ self .base_url } { path } "
584- volcengine_access_key = self .volcengine_access_key
585- volcengine_secret_key = self .volcengine_secret_key
586- session_token = self .session_token
587-
588- if not (volcengine_access_key and volcengine_secret_key ):
589- cred = get_credential_from_vefaas_iam ()
590- volcengine_access_key = cred .access_key_id
591- volcengine_secret_key = cred .secret_access_key
592- session_token = cred .session_token
593591
594592 request = build_vikingdb_knowledgebase_request (
595593 path = path ,
596- volcengine_access_key = volcengine_access_key ,
597- volcengine_secret_key = volcengine_secret_key ,
598- session_token = session_token ,
594+ volcengine_access_key = self . volcengine_access_key ,
595+ volcengine_secret_key = self . volcengine_secret_key ,
596+ session_token = self . session_token ,
599597 method = method ,
600598 data = body ,
601599 )
0 commit comments