Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
V tomto článku se dozvíte, jak řešit potíže $convert-data.
Výkon
Přicházejí do hry dva hlavní faktory, které určují, jak dlouho $convert-data může trvat volání operace:
- Velikost zprávy.
- Složitost šablony.
Všechny smyčky nebo iterace v šablonách můžou mít velký dopad na výkon. Operace $convert-data má krok následného zpracování, který se spustí po použití šablony. Konkrétně může krok odstraňování potíží se šablonou maskovat problémy, které způsobují problémy s výkonem. Aktualizace šablony tak, aby se nevygenerovaly duplicity, může výrazně zvýšit výkon. Další informace a podrobnosti o kroku následného zpracování najdete v tématu Následné zpracování.
Následné zpracování
Operace $convert-data použije logiku následného zpracování po použití šablony na vstup. Tato logika následného zpracování může vést k tomu, že výstup vypadá jinak, nebo neočekávané chyby v porovnání se spuštěním výchozí šablony Liquid přímo. Následné zpracování zajišťuje, že výstup je platný JSON a odebere všechny duplicity na základě vlastností ID vygenerovaných pro prostředky v šabloně. Pokud chcete logiku následného zpracování zobrazit podrobněji, podívejte se do úložiště GitHubu FHIR-konvertoru.
Velikost zprávy
Velikost zpráv povolených pro $convert-data operaci není pevně omezena. U obsahu s velikostí požadavku větší než 10 MB jsou však možné chyby 500 serveru. Pokud dochází 500 k chybám serveru, ujistěte se, že vaše požadavky jsou pod 10 MB.
Velikost a složitost šablony
Pokud se zobrazí 504 Gateway Timeout chyby, může to být výsledek doby zpracování šablony. Aktualizace šablon pro redukci smyček a iterací může výrazně zvýšit výkon. Zvažte opakování žádosti s menší nebo jednodušší šablonou.
Proč se při transformaci dat JSON převádějí data?
Data zadaná v datech JSON se můžou vrátit v jiném formátu, než jaká byla zadána. Během deserializace datové části JSON se řetězce, které jsou identifikovány jako kalendářní data, převedou na objekty .NET DateTime. Tyto objekty se pak před procházením modulu šablon Liquid převedou zpět na řetězce. Tento převod může způsobit přeformátování hodnoty data a reprezentování v místním časovém pásmu služby FHIR.
Převod řetězců na objekty .NET DateTime lze zakázat pomocí logického parametru jsonDeserializationTreatDatesAsStrings. Při nastavení se truezadaná data považují za řetězec a před poskytnutím modulu Liquid nebudou upravena.
Výchozí šablony a vlastní nastavení
Výchozí implementace šablon pro mnoho běžných scénářů najdete v úložišti GitHubu FHIR-konvertoru. Výchozí šablony můžete použít jako přehled a referenční informace k přizpůsobení a vytváření vlastních šablon. Kromě výchozích šablon $convert-data podporuje operace několik filtrů a značek Liquid zákazníků, které pomáhají zjednodušit běžné scénáře.
Ladění a testování
Kromě testování šablon v instanci služby je k dispozici rozšíření Visual Studio Code. Rozšíření se dá použít k úpravě šablon a jejich otestování pomocí ukázkových datových částí. Existuje také několik existujících testovacích scénářů v úložišti GitHubu pro FHIR konvertor, které lze použít jako referenci.
Řešení potíží se službou Azure Container Registry
Pokud při použití služby Azure Container Registry (ACR) pro vlastní úložiště šablon dojde při čtení šablon k chybě "Nepodařilo se získat přístupový token pro Službu Azure Container Registry", zkontrolujte, jestli jsou pro spravovanou identitu nakonfigurovaná správná přiřazení rolí. Konfigurace nastavení pro $convert-data
Další kroky
Konfigurace nastavení pro $convert-data pomocí webu Azure Portal
Poznámka:
FHIR® je registrovaná ochranná známka HL7 a používá se s povolením HL7.