Dieser Artikel enthält Informationen zu häufig gestellten Fragen, wenn Sie Microsoft Dataverse mit Microsoft Fabric verknüpfen.
Allgemeines
Welche Authentifizierungsmethoden werden für Fabric-Verknüpfung unterstützt?
Fabric-Link unterstützt drei Authentifizierungsmethoden beim Erstellen einer Verbindung:
- Organisationskonto: Geben Sie Ihre Anmeldeinformationen an, und speichern Sie die Verbindung.
- Service Principal: Geben Sie die Mandanten-ID, die Client-ID und den Schlüssel für die Authentifizierung an.
- Arbeitsbereichsidentität: Verwendet einen Fabric-verwalteten Dienstprinzipal, der an einen bestimmten Arbeitsbereich gebunden ist.
Was geschieht, wenn ich die Verknüpfung von Fabric entkoppele?
Wenn Sie die Verknüpfung aufheben, wird das Fabric Lakehouse zusammen mit allen Verknüpfungen zu Ihren Dataverse-Tabellen entfernt.
Warum schlägt das Aufheben der Verknüpfung mit Fabric fehl, wenn abhängige Artefakte vorhanden sind?
Wenn Sie die Verknüpfung aufheben, löscht Dataverse das Fabric Lakehouse, das für den Link erstellt wurde, bevor die Verknüpfungsmetadaten gelöscht werden. Microsoft Fabric lässt nicht zu, dass ein Lakehouse gelöscht wird, solange andere Fabric-Elemente noch darauf verweisen, z. B. eine Pipeline, ein Kopierauftrag oder ein semantisches Modell. Der Vorgang zum Aufheben der Verknüpfung kann erst abgeschlossen werden, wenn diese Verweise entfernt werden. Weitere Informationen: Löschen eines Seehauses
Um dieses Problem zu beheben, öffnen Sie den Arbeitsbereich, der das vom Fabric Link erstellte Seehaus enthält, und verwenden Sie die Linienansicht, um die Elemente zu identifizieren, die vom Seehaus oder seinem SQL-Analyseendpunkt abhängen. Weitere Informationen: Lineage in Fabric
Löschen Sie die abhängigen Elemente, oder aktualisieren Sie sie, damit sie nicht mehr auf das Seehaus verweisen, und versuchen Sie dann erneut, die Verknüpfung aufzuheben. Wenn die Verknüpfung nach dem Entfernen aller abhängigen Elemente weiterhin fehlschlägt, wenden Sie sich an den Microsoft Kundensupport.
Unterschiede zwischen der Synchronisierung mit geringer Latenz und früheren Fabric Verknüpfungen
Welche Unterschiede sollte ich überprüfen, bevor ich einen Fabric-Link einrichte oder erneut verlinke?
Fabric-Verknüpfungen, die die Synchronisierung mit geringer Latenz verwenden, auch als Fast Fabric bezeichnet, schreiben Daten anders in Microsoft Fabric als eine Fabric-Verknüpfung, die erstellt wurde, bevor die Synchronisierung mit geringer Latenz verfügbar war. Überprüfen Sie die folgenden Unterschiede, bevor Sie einen Link einrichten, oder bevor Sie eine Umgebung mit einer vorhandenen Downstreamlösung erneut verknüpfen.
| Area | Frühere Fabric-Links | Synchronisierung mit geringer Latenz |
|---|---|---|
das OptionsetMetadata- und GlobalOptionsetMetadata-Schema |
Die createdonpartition Spalte ist vorhanden. |
Die createdonpartition Spalte ist nicht vorhanden. Die aktuelle Tabellendefinition ist das künftig unterstützte Schema. |
| Delta Lake-Format | Tabellen können von serverlosen SQL-Pools in Azure Synapse Analytics abgefragt werden. | Tabellen werden mithilfe neuerer Delta Lake-Funktionen geschrieben, einschließlich Löschvektoren. Serverlose SQL-Pools unterstützen diese Funktionen nicht in allen Szenarien. |
Um zu überprüfen, welche Synchronisierungs-Engine ein Profil verwendet, wählen Sie in der linken Navigation Link data aus und suchen Sie dann unter Fabric Links bei Ihrem Fabric-Link nach dem Flag Low-latency mode. Weitere Informationen: Synchronisierung mit geringer Latenz
Note
Diese Unterschiede wirken sich auf nachgelagerte Lösungen aus, die die Daten lesen. Sie deuten nicht auf einen Synchronisierungsfehler in Dataverse hin.
Wie aktualisiere ich eine vorhandene Lösung für diese Unterschiede?
Verwenden Sie die folgenden Anleitungen für jeden Unterschied:
-
Schema der Auswahlmetadatentabellen. Aktualisieren Sie Ihre Abfragen so, dass sie nicht von der
createdonpartitionSpalte abhängig sind, oder erkennen Sie die verfügbaren Spalten zur Laufzeit, anstatt ein festes Schema anzunehmen. Weitere Informationen: Direkter Zugriff auf Dataverse-Auswahlbeschriftungen aus Azure Synapse Link für Dataverse - Azure Synapse Analytics serverlose SQL-Lösungen. Verschieben Sie die nachgelagerte Workload auf den SQL-Analyseendpunkt von Fabric, der die Delta-Funktionen unterstützt, die von der latenzarmen Synchronisierung bereitgestellt werden. Weitere Informationen: Was ist der SQL-Analyseendpunkt für ein Seehaus?
Um eine vorhandene serverlose SQL-Workload beizubehalten, verwenden Sie ein Fabric-Notizbuch, um die Tabellen zu lesen und in ein separates Lakehouse zu schreiben, indem Sie einen Delta-Writer verwenden, der keine Löschvektoren erzeugt. Die serverlose SQL-Arbeitsauslastung kann dann die umgeschriebenen Tabellen abfragen. Weitere Informationen: Das Delta Lake v1-Format mit dem serverlosen SQL-Pool abfragen
Note
Der Notizbuchansatz fügt Verarbeitungszeit, Planungsaufwand und Datenlatenz hinzu. Bewerten Sie diese Anforderung, bevor Sie eine vorhandene Lösung auf die Synchronisierung mit geringer Latenz umstellen.
Welche Änderungen kann ich erwarten, wenn ich von einer früheren Fabric Verknüpfung zur Synchronisierung mit geringer Latenz wechsele?
Frühere Fabric Verknüpfungen konvertierten leere Zeichenfolgen in SQL in NULL Werte in Fabric. Die Synchronisierung mit geringer Latenz behält leere Zeichenfolgen bei, anstatt sie in NULLzu konvertieren.
Beispielsweise wird ein leerer Wert in der textvalue Spalte der ecorestextvalue Tabelle als leere Zeichenfolge mit geringer Latenzsynchronisierung angezeigt. Frühere Fabric Verknüpfungen haben denselben Wert wie NULL.
Aktualisieren Sie nachgeschaltete Abfragen, Pipelines, Semantikmodelle und andere Abhängigkeiten, um leere Zeichenfolgen zu behandeln, anstatt auf NULL Werte zu vertrauen. Dieser Ansatz vermeidet das Hinzufügen von Transformationen, die möglicherweise nicht mit zukünftigen Datenplattformänderungen kompatibel sind.
Tabellenunterstützung und -einschränkungen
Welche Dataverse-Tabellen sind standardmäßig beim Verknüpfen mit Fabric ausgewählt?
Während des ersten Link mit Fabric-Setups zeigt der Schritt Entitäten auswählen alle Dataverse-Tabellen an, in denen die Eigenschaft Änderungen verfolgen aktiviert ist. Standardmäßig sind alle diese Tabellen ausgewählt. Sie können alle Tabellen löschen, die Sie nicht synchronisieren möchten, bevor Sie den Assistenten abschließen. Nur ausgewählte Tabellen sind mit Fabric verknüpft und verbrauchen Speicher, sodass Sie Kosten optimieren können, indem Sie Tabellen ausschließen, die Sie nicht benötigen. Sie können Ihre Auswahl jederzeit nach dem Setup ändern, indem Sie "Tabellen verwalten" verwenden.
Welche Dataverse-Tabellen werden für die Fabric-Verknüpfung nicht unterstützt?
Jede Tabelle, die die Änderungsnachverfolgung nicht aktiviert hat, wird nicht unterstützt. Darüber hinaus sind bestimmte Dataverse-Tabellen, z. B. postcomment, postregarding, postlike, post und postrole, nicht für Kunden verfügbar, um die Synchronisierung über Fabric link zu ermöglichen. In einigen Fällen werden diese Tabellen möglicherweise angezeigt, wenn die langfristige Aufbewahrung von Dataverse aktiviert ist. In diesem Fall wird möglicherweise eine Teilmenge oder alle Datensätze aus diesen Tabellen exportiert. Dies ist ein erwartetes Verhalten für langfristige Aufbewahrungsszenarien.
Wichtig
- Diese Tabellen sollten nicht für die Synchronisierung ausgewählt werden.
- Ihre Anwesenheit zeigt nicht die vollständige Unterstützung für die inkrementelle Synchronisierung an.
Kann ich bestimmte Tabellen aus der Fabric-Verknüpfung hinzufügen oder entfernen?
Ja, Sie können verwalten, welche Tabellen verknüpft sind:
- Eine oder mehrere verknüpfte Tabellen zu Fabric hinzufügen, indem Tabellen verwalten ausgewählt wird.
- Um die Synchronisierung bestimmter Tabellen zu beenden, löschen Sie sie im Bereich "Tabellen verwalten", und wählen Sie dann "Speichern" aus.
- Nach der Bestätigung werden Tastenkombinationen für nicht ausgewählte Tabellen aus dem Fabric Lakehouse entfernt und die Synchronisierung wird sofort beendet.
Wichtig
Durch das Entfernen einer Tabelle wird die Tabelle in Dataverse nicht gelöscht. sie entfernt nur die OneLake-Verknüpfung und beendet die Datensynchronisierung.
Werden elastische Tabellen für Fabric-Verknüpfungen unterstützt?
Ja, elastische Tabellen werden mit Fabric Link unterstützt. Stellen Sie sicher, dass die Änderungsnachverfolgung für elastische Tabellen in Dataverse aktiviert ist, damit die Synchronisierung erfolgt.
Werden Tabellen in Finanz- und Betriebsanwendungen unterstützt?
Wenn Ihre Umgebung mit einer Dynamics 365 Finanz- und Betriebsumgebung verknüpft ist, können Sie mit der Option "Tabellen hinzufügen" Tabellen aus Finanz- und Betriebs-Apps einschließen. Finanz- und Betriebs-Apps-Tabellen werden beim Erstellen des anfänglichen Fabric-Links nicht automatisch ausgewählt.
Warum wird "InitialSyncInProgress" als einziger Synchronisierungsstatus für Finanz- und Betriebskerntabellen angezeigt?
Kerneltabellen sind eine Teilmenge der Tabellen von Finanz- und Betriebs-Apps. Im Gegensatz zu anderen Finanz- und Betriebs-Apps-Tabellen sind Kerneltabellen nicht an der fortlaufenden inkrementellen Synchronisierung beteiligt. Stattdessen wird ein anfänglicher Synchronisierungsauftrag jeden Tag ausgeführt, um die Daten zu aktualisieren. Daher zeigt die Benutzeroberfläche InitialSyncInProgress als ihren Synchronisierungsstatus an. Dieser Status wird erwartet und gibt nicht an, dass die Synchronisierung hängen bleibt.
Die folgenden Kerneltabellen werden unterstützt:
DATAAREAUSERINFOSECURITYROLESECURITYUSERROLESQLDICTIONARYPARTITIONSSECURITYPRIVILEGETIMEZONESLISTSECURITYDUTYSECURITYSUBROLESECURITYUSERROLECONDITIONDATABASELOGSECURITYROLERUNTIMESECURITYROLEPRIVILEGEEXPLODEDGRAPHSECURITYROLEDUTYEXPLODEDGRAPHTIMEZONESRULESDATASECURITYROLEEXPLODEDGRAPHUSERDATAAREAFILTERSYSINHERITANCERELATIONS
Gibt es Systemtabellen, die automatisch synchronisiert werden und die Verknüpfung nicht aufgehoben werden kann?
Ja, bestimmte Systemtabellen werden automatisch im Link zu Fabric synchronisiert und können von Benutzern nicht entknüpft werden. Beispiele für diese Systemtabellen sind:
- bot
- msdyn_copilotknowledgeinteraction
- desktopflowmodule
- flowmachine
- flowmachinegroup
- Arbeitsablauf
Diese Tabellen sind für die Systemfunktionalität unerlässlich und sind immer im Synchronisierungsprozess enthalten.
Von Microsoft bereitgestellte Add-Ins und Tabellenauswahl
Die Auswahl der Fabric-Link-Tables hängt auch von von Microsoft bereitgestellten Add-Ins wie dem Business Process Advisor (BPA) und Customer Insights - Journeys ab. Diese Produkte verwenden dieselbe Pipeline, um Daten aus Dataverse zu exportieren, um transformierte Erkenntnisse bereitzustellen.
Die Tabellen, die Sie nicht deaktivieren können, hängen davon ab, welche Add-On-Produkte Sie aktiviert haben. Wenn Sie ein Add-In aktivieren (z. B. Customer Insights - Journeys), werden die spezifischen Tabellen, die von diesem Add-In benötigt werden, der Entityanalyticsconfig-Tabelle in Dataverse hinzugefügt.
Jede Tabelle, die in der Tabelle "entityanalyticsconfig" das Feld isenabledforadls auf true gesetzt hat, kann nicht über den Fabric-Link ausgewählt werden.
Schema- und Metadatenänderungen
Was geschieht, wenn ich einer verknüpften Tabelle eine neue Spalte hinzufübe?
Das Hinzufügen einer neuen Spalte wird unterstützt. Da die Metadatensynchronisierung nicht sofort erfolgt und bis zu einer Stunde dauert, bis sie an Fabric weitergegeben wird. Während dieser Zeit:
- Delta-Synchronisierungsvorgänge können zeitweise fehlschlagen.
- Neu geänderte Daten können in Fabric verzögert werden.
Diese Fehler werden erwartet, während die Metadatensynchronisierung abgeschlossen ist. Nach Abschluss des Vorgangs gleicht die Pipeline den Rückstand automatisch aus, und es sind keine weiteren Maßnahmen erforderlich.
Wenn Sie nicht auf die Metadatensynchronisierung warten und verzögerte Änderungen nicht akzeptieren können, entfernen und fügen Sie die betroffenen Tabellen nach dem Ändern des Schemas erneut aus der Synchronisierung hinzu. Die Tabellen werden dann ohne Probleme frisch synchronisiert.
Was geschieht, wenn ich eine Spalte aus einer verknüpften Tabelle lösche?
Das Löschen einer Spalte wird unterstützt. Wenn Sie eine Spalte in Dataverse löschen, wird die Verknüpfung mit Fabric die Spalte nicht physisch aus dem nachgelagerten Speicher ablegen. Stattdessen werden die Werte in Zukunft als NULL gesendet. Historische Werte sind möglicherweise noch für Datensätze vorhanden, die seit dem Löschen nicht über die Delta-Synchronisierung aktualisiert wurden. Dieses Verhalten wird erwartet.
Kann ich den Datentyp oder die Genauigkeit einer vorhandenen Spalte ändern?
No. Das Ändern des Datentyps oder der Genauigkeit einer bereits synchronisierten Spalte wird nicht unterstützt. Einige Beispiele:
-
IntbisDecimal - Änderungen der Dezimalgenauigkeit oder der Skalierung (z. B.
Decimal(10,3)bisDecimal(20,10))
Diese Änderungen führen zu dauerhaften Delta-Synchronisierungsfehlern. Um dieses Verhalten zu umgehen, entfernen Sie die Tabelle und fügen Sie sie erneut über den Link zu Fabric hinzu.
Wichtig
Das Löschen der Spalte und das erneute Erstellen mit demselben Namen und einem anderen Typ funktioniert nicht . Die ursprüngliche Spalte ist weiterhin im nachgeschalteten Metadatenmodell vorhanden, sodass die neu erstellte Spalte nicht als neu behandelt wird und die Synchronisierung weiterhin fehlschlägt.
Datensynchronisierung
Wie lange dauert die anfängliche Datensynchronisierung?
Die anfängliche Synchronisierungszeit hängt von mehreren Faktoren ab, einschließlich Tabellengröße, Anzahl der Aktualisierungen und Transaktionen in der Umgebung, Anzahl von Tabellen und Zeilenanzahl. Die Daten werden in das Delta-Parquet-Format konvertiert während dieses Prozesses. Wenn Sie Fabric Lakehouse öffnen, werden die Verknüpfungen als nicht identifiziert angezeigt, bis die anfängliche Synchronisierung abgeschlossen ist.
Wie oft werden Daten in Fabric aktualisiert?
Wenn die erste Synchronisierung abgeschlossen ist, aktualisiert das System kontinuierlich die Änderungen in Dataverse im Lakehouse. Inkrementelle Updates dauern in der Regel bis zu einer Stunde, obwohl die tatsächliche Anzeigedauer von der Tabellengröße, der Anzahl der Aktualisierungen und Transaktionen in der Umgebung, der Anzahl der Tabellen, der Zeilenanzahl und der Systemladezeiträume abhängt.
Warum sehe ich Unterschiede in den Spalten „SinkModifiedOn“ und „ModifiedOn“?
Dieses Verhalten wird erwartet.
ModifiedOn ist das Datum und die Uhrzeit, zu dem ein Datensatz zuletzt in Dataverse geändert wurde, während SinkModifiedOn das Datum und die Uhrzeit ist, zu der der Datensatz in den Dataverse-Datensee geschrieben wurde, von wo aus Fabric-Verknüpfungen darauf verweisen.
SinkModifiedOn ist in der Regel später als ModifiedOn, und der Unterschied hängt von Faktoren wie Batchgröße, Systemlast und Anzahl der verarbeiteten Datensätze ab.
Wichtig
Bei lang andauernden Transaktionen in Finanz- und Betriebs-Apps kann ein Datensatz mehrmals synchronisiert werden, um sicherzustellen, dass kein Datenverlust besteht. In diesem Szenario SinkModifiedOn spiegelt die letzte Synchronisierungszeit und nicht die erste wider. Wenn ein Datensatz beispielsweise 10 Mal innerhalb einer Stunde synchronisiert wird, wird die Uhrzeit der 10. Synchronisierung angezeigt, SinkModifiedOn obwohl die Daten bereits seit der ersten Synchronisierung verfügbar waren. Achten Sie beim Erstellen von Latenzberichten auf der Grundlage des Unterschieds zwischen SinkModifiedOn und ModifiedOn, da sie einen irreführenden Eindruck der tatsächlichen Datenverfügbarkeit vermitteln kann.
Speicher und Kapazität
Warum werden mir Tabellen angezeigt, die mit `-Analytics` enden, wenn meine Umgebung nicht mit Microsoft Fabric verknüpft ist?
Tabellen, die enden, -Analytics können erstellt und von installierten Microsoft Anwendungen und Analysefunktionen verwendet werden. Daher bedeutet das Vorhandensein einer -Analytics Tabelle nicht unbedingt, dass Ihre Dataverse-Umgebung mit Microsoft Fabric verknüpft ist.
Wie wird der Speicher für '-Analytics'-Tabellen berechnet, wenn Microsoft Fabric nicht verknüpft ist?
Wenn eine installierte Erstanbieter-App den veralteten CSV-basierten Synchronisierungspfad verwendet, wird der zugeordnete Speicher auf den Anspruch Ihrer Organisation auf Dataverse-Dateikapazität angerechnet.
Die gemeldete Verwendung umfasst die vom Dienst verwalteten Dateien, die zum Synchronisieren und Verwalten der Analysedaten erforderlich sind. Sie ist nicht auf die aktuelle Größe der entsprechenden Geschäftstabelle in Dataverse beschränkt.
Warum kann eine "-Analytics"-Tabelle mehr Speicherplatz verbrauchen als erwartet?
Die gemeldete Dateikapazität kann größer als die aktuellen Geschäftsdaten sein, da der Legacysynchronisierungspfad direkte Updates zum Verwalten von CSV-Dateien verwendet. Die gemeldete Verwendung kann Folgendes umfassen:
- CSV-Dateien, die synchronisierte Tabellendaten enthalten.
- Dienstverwaltete Snapshot-Kopien zur Bereitstellung konsistenter Daten für Analyse-Workloads.
- Unterstützende Dateien und Metadaten, die zum Indizieren, Koordinieren und sicheren Aktualisieren der CSV-Dateien verwendet werden.
Diese Dateien sind für die Datensynchronisierung und Konsistenz erforderlich und werden in den gemeldeten Dateikapazitätsverbrauch einbezogen.
Wie wird Speicher gemeldet, wenn Microsoft Fabric verknüpft ist?
Wenn Microsoft Fabric verknüpft ist, erstellt Dataverse ein optimiertes Replikat der ausgewählten Daten im Delta-Parkettformat. Der von diesem Replikat verwendete Speicher zählt zur Dataverse-Datenbankkapazität Ihrer Organisation und wird im Power Platform Admin Center unter der Datenbanknutzung angezeigt.
Das Vorhandensein einer -Analytics Tabelle allein bestimmt nicht, welche Synchronisierungsoption verwendet wird. Administratoren sollten überprüfen, ob die Umgebung über einen aktiven Fabric-Link verfügt, und sowohl die Datei- als auch die Datenbanknutzung in den Kapazitätsdetails der Umgebung überprüfen.
Einschränkungen und Fehler
Welche Grenzwerte gelten für Fabric Link?
Wenn Sie mehr als 2.000 aktive Dataverse-Tabellen haben, kann „Verknüpfung zu Fabric“ mit einem Fehler fehlschlagen.
Gibt es Grenzwerte für die Größe pro Datensatz, wenn Sie "Link zu Fabric" verwenden?
Ja. Die Verknüpfung mit Fabric liest Zeilen über Dataverse ab, somit gilt für die Synchronisierung jede Dataverse-Grenze pro Datensatz. Die häufigste Grenze ist die Obergrenze von 200 MiB für die unkomprimierte Größe eines einzelnen Datensatzes, der vom Server zurückgegeben wird.
Dieser Grenzwert gilt in der Regel für Tabellen, die große Freiforminhalte oder Binärdaten speichern. Beispiel:
-
emailenthält den vollständigen Nachrichtentext. -
activitypointerenthält lange Beschreibungen. -
activitymimeattachmententhält Inline- und angehängte Dateien.
Dies ist ein Dataverse-Plattformlimit und kann nicht auf Anforderung ausgelöst werden. Der Dienst schneidet kundendaten nicht ab oder ändert sie nicht. Um dies zu beheben, reduzieren Sie den überdimensionierten Datensatz in Dataverse, indem Sie ihn löschen, das große Feld löschen oder den Inhalt aus Dataverse verschieben.
Kann ich vorhandene Azure Synapse Link-Profile mit Fabric verknüpfen?
Sie können Ihre vorhandenen Azure Synapse Link für Dataverse-Profile mit Fabric verknüpfen, wenn Sie die Option Enable Parquet/Delta lake auswählen. Aber:
- Vorhandene Profile, in denen die Daten als CSV-Dateien gespeichert werden, können nicht mit Fabric verknüpft werden.
- Azure Synapse Link Profile, die mit verwalteten Identitäten gesichert sind, können derzeit nicht mit Fabric verknüpft werden.
Welche Netzwerkeinstellungen sind in Microsoft Fabric erforderlich, um einen Link zu Fabric zu erstellen?
Link zu Fabric stellt eine Verbindung mit Ihrem Fabric-Arbeitsbereich her, um das Lakehouse und die Verknüpfungen zu Ihren Dataverse-Tabellen zu erstellen. Wenn die Netzwerksicherheit im Fabric Arbeitsbereich konfiguriert ist, bitten Sie Ihren Fabric Administrator, die folgenden Einstellungen in den Arbeitsbereichseinstellungen so zu konfigurieren, dass der Link erstellt werden kann:
- Eingehender Zugriff. Verbindungen von allen Netzwerken zulassen. Ein Arbeitsbereich, der so konfiguriert ist, dass Verbindungen nur von ausgewählten Netzwerken und privaten Links auf Arbeitsbereichsebene zugelassen werden, kann nicht mit "Link zu Fabric" verwendet werden. Weitere Informationen: Einrichten und Verwenden privater Links auf Arbeitsbereichsebene
- Ausgehender Zugriff. Ausgehender öffentlicher Zugriff kann gesperrt bleiben. Fügen Sie eine Datenverbindungsregel hinzu, die die URL Ihrer Dataverse-Umgebung als Endpunkt zulässt. Weitere Informationen: Erstellen einer Zulassungsliste mithilfe von Datenverbindungsregeln
Note
Der Link zu Fabric wird derzeit nur mit diesen Einstellungen unterstützt. Arbeitsbereiche, die für die Verwendung privater Endpunkte für den gesamten Datenverkehr konfiguriert sind, werden nicht unterstützt.