@@ -676,15 +676,19 @@ def _normalize_entity_schema(self, tablename: str) -> str:
676676 return tablename
677677 return f"new_{ self ._to_pascal (tablename )} "
678678
679- def _get_entity_by_schema (self , schema_name : str ) -> Optional [Dict [str , Any ]]:
679+ def _get_entity_by_schema (
680+ self ,
681+ schema_name : str ,
682+ headers : Optional [Dict [str , str ]] = None ,
683+ ) -> Optional [Dict [str , Any ]]:
680684 url = f"{ self .api } /EntityDefinitions"
681685 # Escape single quotes in schema name
682686 schema_escaped = self ._escape_odata_quotes (schema_name )
683687 params = {
684688 "$select" : "MetadataId,LogicalName,SchemaName,EntitySetName" ,
685689 "$filter" : f"SchemaName eq '{ schema_escaped } '" ,
686690 }
687- r = self ._request ("get" , url , params = params )
691+ r = self ._request ("get" , url , params = params , headers = headers )
688692 items = r .json ().get ("value" , [])
689693 return items [0 ] if items else None
690694
@@ -723,10 +727,11 @@ def _wait_for_entity_ready(self, schema_name: str, delays: Optional[List[int]] =
723727 import time
724728 delays = delays or [0 , 2 , 5 , 10 , 20 , 30 ]
725729 ent : Optional [Dict [str , Any ]] = None
730+ strong_consistency_headers = {"Consistency" : "Strong" }
726731 for idx , delay in enumerate (delays ):
727732 if idx > 0 and delay > 0 :
728733 time .sleep (delay )
729- ent = self ._get_entity_by_schema (schema_name )
734+ ent = self ._get_entity_by_schema (schema_name , headers = strong_consistency_headers )
730735 if ent and ent .get ("EntitySetName" ):
731736 return ent
732737 return ent
0 commit comments