Dateityp-Datenquellen
Importieren Sie eine Datei aus einer lokalen Datenquelle, einem Remote-Netzwerkserver oder einer anderen Instanz, indem Sie einen Pfad und Authentifizierungsinformationen angeben.
Dateiabrufmethoden
Die folgenden Dateiabrufmethoden sind verfügbar, um die Datei von ihrem Speicherort nach ServiceNow zu kopieren, um sie in einen Importsatz zu laden.
Nachdem Sie die Dateien definiert haben, die für den Import kompatibel sind, definieren Sie, wie die Dateien importiert werden können.
| Methode | Beschreibung |
|---|---|
| Anhang | Fügen Sie dem Datensatz eine Datei hinzu, verwalten Sie sie, und importieren Sie diese Datei in einen Importsatz. |
| SFTP | Rufen Sie eine Datei mit SFTP ab. Felder für den Servernamen und die Anmeldeinformationen werden bereitgestellt. |
| FTP | Rufen Sie eine Datei von einem FTP-Server in Ihrem Netzwerk ab. Felder für den Servernamen und die Anmeldeinformationen werden bereitgestellt. Hinweis: FTP-Übertragungen werden als Klartext gesendet und können nicht verschlüsselt werden. Verwenden Sie nach Möglichkeit stattdessen SCP oder SFTP. |
| FTPS (Auth-SSL) [nicht empfohlen] | Nicht empfohlen, da FTPS von einigen Firewall-Anbietern nicht mehr unterstützt wird. Erwägen Sie die Verwendung von SFTP als Alternative. Ein Befehl zur sicheren FTP-Authentifizierung, der über das SSL-Protokoll (Secure Socket Layer) ausgegeben wird. Diese Methode wird auch als explizites FTP über SSL bezeichnet. |
| FTPS (Auth-TLS) [nicht empfohlen] | Nicht empfohlen, da FTPS von einigen Firewall-Anbietern nicht mehr unterstützt wird. Erwägen Sie die Verwendung von SFTP als Alternative. Ein Befehl zur sicheren FTP-Authentifizierung, der über das TLS-Protokoll (Transport Layer Security) ausgegeben wird. Diese Methode wird auch als explizites FTP über TLS bezeichnet. |
| FTPS (implizite SSL) [nicht empfohlen] | Nicht empfohlen, da FTPS von einigen Firewall-Anbietern nicht mehr unterstützt wird. Erwägen Sie die Verwendung von SFTP als Alternative. Bei impliziter Sicherheit definiert der FTPS-Server einen bestimmten Port für den Client (990), der für sichere Verbindungen verwendet werden soll. Die implizite Sicherheit beginnt automatisch mit einer SSL-Verbindung, sobald ein FTPS-Client eine Verbindung zu einem FTPS-Server herstellt. |
| FTPS (implizite TLS) [nicht empfohlen] | Nicht empfohlen, da FTPS von einigen Firewall-Anbietern nicht mehr unterstützt wird. Erwägen Sie die Verwendung von SFTP als Alternative. Bei impliziter Sicherheit definiert der FTPS-Server einen bestimmten Port für den Client (990), der für sichere Verbindungen verwendet werden soll. Die implizite Sicherheit beginnt automatisch mit einer TLS-Verbindung, sobald ein FTP-Client eine Verbindung zu einem FTP-Server herstellt. |
| HTTP | Rufen Sie eine Datei über HTTP ab. Felder für den Servernamen und die Anmeldeinformationen werden bereitgestellt. Wichtig: Bei den Protokollen HTTP und HTTPS wird der Dateipfad automatisch URL-codiert. Geben Sie keinen URL-codierten Dateipfad an, wenn Sie eines dieser Protokolle verwenden. |
| HTTPS | Rufen Sie eine Datei über HTTPS ab. Felder für den Servernamen und die Anmeldeinformationen werden bereitgestellt. Verwenden Sie diese Methode, um Daten zwischen ServiceNow-Instanzen zu übertragen. |
| SCP | Das Secure Copy-Protokoll (SCP) überträgt Dateien sicher zwischen einem lokalen und einem Remotehost oder zwischen zwei Remotehosts mithilfe des SSH-Protokolls (Secure Shell). |
Beispiele für Dateidatenquellen
Diese Beispiele beschreiben, wie verschiedene Dateitypen als Datenquellen importiert werden.
Excel-Datenquellendatei
Sie können sowohl im XLSX-Format als auch im veralteten XLS-Format importieren. XLS ist das Standardformat für Tabellen, die in Excel für Versionen 2003 und älter erstellt wurden. XLSX ist das Standardformat für Excel 2007 oder höher. Verwenden Sie XLSX anstelle von Legacy-XLS, wann immer dies möglich ist, um eine optimale Leistung zu erzielen.
- Alle XLS-Dateien müssen das Datumssystem 1900 und nicht das Datumssystem 1904 verwenden. Das Datumssystem 1904 bewirkt, dass Ihre Daten mit einem Jahr importiert werden, das vier Jahre früher liegt als das, was in Ihrer Tabelle angezeigt wird. Weitere Informationen zu Datumssystemen finden Sie beim MS-Support.
- Beim Importieren einer Datei aus Excel mit den boolean Werten in Großbuchstaben (TRUE/FALSE) werden beide Werte immer in „false“ umgewandelt. Um dieses Verhalten zu verhindern, legen Sie die Eigenschaft glide.transform.boolean.casesensitive auf false fest.
XML-Datenquellendatei
- XPath für jede Zeile
- XML-Datenquellendefinitionen haben ein zusätzliches Feld, um den XPath für jede Zeileanzugeben. Dieses Feld ist ein XPath -Ausdruck zum Auswählen der Elemente, deren untergeordnete Elemente in Zeilen in der Import Set-Tabelle konvertiert werden. Jedes ausgewählte Element bewirkt, dass eine Zeile in der Import Set-Tabelle erstellt wird. Die untergeordneten Elemente des ausgewählten Elements werden in Spalten in der Zeile konvertiert. Um beispielsweise die Asset-Informationen aus der folgenden XML-Beispieldatei zu importieren, muss der XPath-Ausdruck als /export/assetangegeben werden. Dieser Ausdruck stimmt mit den drei überein<asset> Elemente in der Datei, sodass drei Zeilen erstellt werden. Sie können zwar auch //assetangeben, dieser Ausdruck ist jedoch für große Dateien viel weniger effizient. Verwenden Sie das Pfadformular des absoluten Speicherorts für XPath-Ausdrücke, wenn Sie das XML-Ladeprogramm verwenden. Mit anderen Worten: Vermeiden Sie Ausdrücke, die // enthalten, es sei denn, dies ist unbedingt erforderlich.
Achten Sie darauf, keinen unzureichend restriktiven XPath-Ausdruck mit einer großen XML-Datei anzugeben. Zum Beispiel wäre der Ausdruck /export für die folgende Beispieldatei falsch, da er dem Dokumentelement (Stammelement) entspricht. Im Allgemeinen sollten Sie niemals einen XPath-Ausdruck angeben, der dem Stammelement entspricht, es sei denn, Sie möchten, dass alles im Dokument in einer einzigen Zeile zusammengefasst wird. Die Angabe eines nicht ausreichend restriktiven XPath-Ausdrucks beim Versuch, große XML-Dateien zu laden, kann zu langen Verarbeitungszeiten und falscher Ausgabe führen. Aus diesem Grund ist es am besten, XML-Datenquellenspezifikationen mit kleinen XML-Dateien zu testen und zu debuggen, die nur wenige Datenzeilen enthalten. Sobald die Spezifikation getestet wurde, können Sie sie mit der vollständigen Datei erneut ausführen.
- <userInfo>Elemente
- Beachten Sie, dass<userInfo> Elemente enthalten in<asset> enthalten untergeordnete Elemente. Diese Art der Verschachtelung erstellt eine Spalte mit dem Namen userInfo , die XML für den enthält<userInfo> -Element. Wenn Untergeordnete Knoten erweitern aktiviert ist, werden auch einzelne Spalten für userInfo/lastName und userInfo/firstName erstellt. Wenn Untergeordnete Knoten erweitern nicht aktiviert ist, wird nur die XML-Spalte userInfo erstellt.
- Daten aus einer XML-Datei werden geladen
- Beim Laden von Daten aus einer XML-Datei erfasst ServiceNow die ersten 10 Datensätze, um zu bestimmen, welche Felder zum Speichern der Daten erforderlich sind. Wenn keiner der ersten 10 Datensätze einen Wert für ein Feld angibt, fügt ServiceNow dieses Feld nicht der Tabelle hinzu, die die importierten Daten enthält. Stellen Sie sicher, dass mindestens einer der ersten 10 Datensätze einen Wert für alle zu importierenden Felder angibt.Wenn die für eine XML-Datenquelle verwendete XML-Datei in den ersten 10 Knoten kein Feld enthält, wird das Feld ignoriert. Um das Feld zu importieren und sicherzustellen, dass es nicht ignoriert wird, können Sie die Systemeigenschaft glide.db.impex.XMLLoader.max.scan_nodes mit einem Wert hinzufügen, der größer oder gleich der Position des Knotens ist, in dem das Feld zuerst gefunden wird. Diese Eigenschaft gilt für alle XML-Datenquellen. glide.db.impex.XMLLoader.max.scan_nodes ist standardmäßig auf 10festgelegt, Sie können jedoch einen Wert zwischen 1 und 2147483647 eingeben, um anzugeben, wie viele Knoten gescannt werden sollen, um die für den Import zu verwendenden Werte zu bestimmen. Sie können -1 angeben, um alle Knoten in den XML-Dateien zu scannen.Wichtig:Wenn Sie -1 angeben oder den Wert von glide.db.impex.XMLLoader.max.scan_nodes über den Standardwert von 10hinaus erhöhen, kann die gesamte XML-Importverarbeitung die Gesamtladezeit erheblich verlängern.
<?xml version= "1.0" encoding= "utf-8" ?><export><asset><assetTag>AT-01939</assetTag><type>Desktop</type><os>Windows 7 Professional</os><lastlogondate>12-07-2010 12:31:24</lastlogondate><userInfo><lastName>Loo</lastName><firstName>David</firstName></userInfo><isenabled>true</isenabled></asset><asset><assetTag>AT-53480</assetTag><type>Desktop</type><os>Windows 7 Professional</os><lastlogondate>09-07-2010 13:25:53</lastlogondate><userInfo><lastName>Merritt</lastName><firstName>Norris</firstName></userInfo><isenabled>true</isenabled></asset><asset><assetTag>AT-55782</assetTag><type>Desktop</type><os>Unknown</os><lastlogondate>01-01-1900 00:00:00</lastlogondate><userInfo><lastName>Currie</lastName><firstName>Mike</firstName></userInfo><isenabled>true</isenabled></asset></export>CSV-Datenquellendatei
CSV-Dateien werden als kompatibles Dateiformat für die plattformübergreifende Übertragung von Dateien verwendet. Eine CSV-Datei ist eine Textdatei, die ein Raster definiert, wobei Kommas Spalten und Zeilenumbrüche Zeilen definieren. Um genaue Abstände für den Import von Zeichenfolgen zu definieren, können Sie den Text optional in Anführungszeichen setzen.
"user_name","name","email","sys_created_on","active"
"jared.laethem","Jared Laethem","jared.laethem@yourcompany.com","2008-02-24 22:21:32","true"
"jerrod.bennett","Jerrod Bennett","jerrod.bennett@yourcompany.com","2007-08-12 12:12:18","true"
"eric.schroeder","Eric Schroeder","eric.schroeder@yourcompany.com","2007-07-03 11:50:20","true"
"rob.woodbyrne","Rob Woodbyrne","rob.woodbyrne@yourcompany.com","2007-07-03 11:49:57","true"
"admin","System Administrator","admin@yourcompany.com","2007-07-03 11:48:47","true"
"christen.mitchell","Christen Mitchell","christen.mitchell@yourcompany.com","2007-05-16 15:26:42","true"
"rob.phillips","Rob Phillips","rob.phillips@yourcompany.com","2007-01-22 11:25:34","true"
"davin.czukowski","Davin Czukowski","davin.czukowski@yourcompany.com","2006-07-11 14:01:26","true"
"luke.wilson","Luke Wilson","luke.wilson@yourcompany.com","2006-02-07 15:29:48","true"
"bow.ruggeri","Bow Ruggeri","bow.ruggeri@yourcompany.com","2005-07-07 11:39:58","true"
"don.goodliffe","Don Goodliffe","don.goodliffe@yourcompany.com","2005-05-02 12:28:40","true"
"david.loo","David Loo","david.loo@yourcompany.com","2005-02-22 16:00:00","true"
"guest","Guest","guest@yourcompany.com","2004-05-01 17:00:00","true"
"fred.luddy","Fred Luddy","fred.luddy@yourcompany.com","2004-05-01 17:00:00","true"
Wenn Sie CSV-Dateien verwenden, können Sie den Codierungszeichensatz im Feld Eigenschaften im Formular „Datenquelle“ angeben. Möglicherweise müssen Sie das Formularlayout „Datenquelle“ konfigurieren, um dieses Feld anzuzeigen. Um beispielsweise die utf-8-Codierung zu verwenden, geben Sie charset=utf-8ein.
Daten in einzelner Spalte
Für die Formate JSON und XML können Sie mit dieser Funktion einen vollständigen Datensatz in einer einzelnen Spalte speichern.
Der Spaltenname, der zum Speichern des vollständigen Datensatzes verwendet wird, lautet data.
- Array verwerfen wird deaktiviert und aus dem Formular entfernt.
- Untergeordnete Knotenelemente erweitern wird ausgewählt und aus dem Formular entfernt.
Wenn Sie eine Datenquelle im XML-Format erstellen, um Daten in einer einzelnen Spalte zu speichern, und das Kontrollkästchen Daten in einzelner Spalte aktivieren, wird Untergeordnete Knotenelemente erweitern ausgewählt und aus dem Formular entfernt.
Benutzerdefiniertes Format (nach Skript analysieren).
Wenn Sie Dateityp und FormatBenutzerdefiniert (nach Skript analysieren) auswählen, wird ein Javascript-Editor mit der Bezeichnung Analyseskript angezeigt. Sie können das Analyseskript verwenden, um benutzerdefiniertes Javascript zu erstellen, um Eingabezeilen in die Liste der Zuordnungen zu analysieren.
- Der Parameter line ist eine Zeichenfolge, die Zeilendaten aus der Quelldatei enthält.
- lineNumber ist die Zeilennummer aus der Quelldatei für diese Zeilendaten.
- Der Parameter result wird verwendet, um das analysierte Ergebnis von Javascript zurückzugeben.
void setSkip (boolean überspringen);boolean getSkip();addRow(Zuordnung<String, String> Karte);Liste <Map<String,String> > getRows()
setSkip() und getSkip() setzen das Überspringen-Flag und rufen es ab. Wenn das Überspringen-Flag auf „true“ festgelegt ist, wird das gesamte Analyseergebnis von Javascript ignoriert.
addRow() fügt eine Zuordnung des Analysezeilenergebnisses hinzu, das in die Staging-Tabelle eingefügt wird.
getRows() ruft alle Zeilen des aktuellen Analyseergebnisses ab, die in die Staging-Tabelle eingefügt werden.
Eine Zeile mit Quelldaten kann eine Zeile oder mehrere Zeilen enthalten. Es ist Aufgabe des Skriptautors, zu entscheiden, wie die Zeilendaten verarbeitet werden sollen. Beispiel: Wenn Sie für die Zeile data name=john,computer=windows;name=joe,computer=linux;name=linda,computer=windowsein Semikolon (;) als Zeilenumbruch verwenden, enthält diese Zeile drei Zeilen von Daten. Jede Zeile ist eine Zuordnung mit zwei Schlüsseln: Name und Computer. Name und Computer werden zu den Spaltennamen für das Staging-Tabellenschema. Sie können das folgende Javascript-Beispiel verwenden, um diese Zeilendaten zu analysieren:
(function(line, lineNumber, result) {
var rowArr = line.split(";");
var i;
for(i in rowArr) {
var map = {};
var arr = rowArr[i].split(",");
var x;
for(x in arr) {
var items = arr[x].split("=");
map[items[0]]=items[1];
}
result.addRow(map);
}
})(line, lineNumber, result);Der Skriptautor muss das Ergebnis hinzufügen, damit das Ergebnis in die Staging-Tabelle eingefügt wird.