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
Mit den folgenden Dateiabrufmethoden können Sie die Datei, von der sie gespeichert ist, nach ServiceNow kopieren, um sie in einen Importsatz zu laden.
Nachdem Sie die für den Import kompatiblen Dateien definiert haben, definieren Sie, wie die Dateien importiert werden können.
| Methode | Beschreibung |
|---|---|
| Anhang | Fügen Sie dem Datensatz eine Datei als Anhänge hinzu, verwalten Sie sie, und importieren Sie diese Datei in einen Importsatz. |
| SFTP | Ruft eine Datei mit SFTP ab. Es werden Felder für den Servernamen und die Anmeldeinformationen angegeben. |
| FTP | Rufen Sie eine Datei von einem FTP-Server in Ihrem Netzwerk ab. Es werden Felder für den Servernamen und die Anmeldeinformationen angegeben. 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 sicherer FTP-Authentifizierungsbefehl, 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 sicherer FTP-Authentifizierungsbefehl, der über das Transport Layer Security-Protokoll (TLS) 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. In der impliziten Sicherheitskonfiguration definiert der FTPS-Server einen bestimmten Port für den Client (990) zur Verwendung für sichere Verbindungen. 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. In der impliziten Sicherheitskonfiguration definiert der FTPS-Server einen bestimmten Port für den Client (990) zur Verwendung für sichere Verbindungen. Die implizite Sicherheit beginnt automatisch mit einer TLS-Verbindung, sobald ein FTP-Client eine Verbindung zu einem FTP-Server herstellt. |
| HTTP | Ruft eine Datei über HTTP ab. Es werden Felder für den Servernamen und die Anmeldeinformationen angegeben. 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 | Ruft eine Datei über HTTPS ab. Es werden Felder für den Servernamen und die Anmeldeinformationen angegeben. 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 Remote-Host oder zwischen zwei Remote-Hosts unter Verwendung des Secure Shell-Protokolls (SSH). |
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 Legacy XLS-Format importieren. XLS ist das Standardformat für Tabellen, die in Excel für Version 2003 und älter erstellt wurden. XLSX ist das Standardformat für Excel 2007 oder höher. Verwenden Sie wann immer möglich XLSX anstelle von Legacy-XLS, um eine optimale Leistung zu erzielen.
- Alle XLS-Dateien müssen das Datumssystem 1900 und nicht das Datumssystem 1904 verwenden. Das Datumssystem von 1904 bewirkt, dass Ihre Daten mit einem Jahr importiert werden, das vier Jahre vor dem in Ihrer Tabelle angegebenen liegt. Weitere Informationen zu Datumssystemen erhalten Sie vom MS-Support.
- Beim Importieren einer Datei aus Excel mit den booleschen Werten in Großbuchstaben (WAHR/FALSCH) werden beide Werte immer in „falsch“ umgewandelt. Um dieses Verhalten zu verhindern, legen Sie die Eigenschaft glide.transform.boolean.casesensitive auf „falsch“ fest.
XML-Datenquellendatei
- XPath für jede Zeile
- XML-Datenquellendefinitionen weisen ein zusätzliches Feld auf, um den XPath für jede Zeileanzugeben. Dieses Feld ist ein XPath- Ausdruck zum Auswählen der Elemente, deren untergeordneten Elemente in Zeilen in der Importsatztabelle konvertiert werden. Jedes ausgewählte Element bewirkt, dass eine Zeile in der Importsatztabelle erstellt wird. Die untergeordneten Elemente des ausgewählten Elements werden in Spalten in der Zeile konvertiert. Um beispielsweise die Asset-Informationen aus der XML-Beispieldatei unten zu importieren, muss der XPath-Ausdruck als /export/assetangegeben werden. Dieser Ausdruck entspricht den drei<asset> Elemente in der Datei, sodass drei Zeilen erstellt werden. Sie können zwar auch //assetangeben, dieser Ausdruck ist jedoch bei großen Dateien viel weniger effizient. Verwenden Sie das Formular „Absoluter Standort“ für XPath-Ausdrücke, wenn Sie das XML-Ladeprogramm verwenden. Mit anderen Worten: Vermeiden Sie Ausdrücke mit //, sofern dies nicht unbedingt erforderlich ist.
Achten Sie darauf, keinen unzureichend einschränkenden XPath-Ausdruck mit einer großen XML-Datei anzugeben. Zum Beispiel wäre der Ausdruck „/export“ für die folgende Beispieldatei falsch, da er mit dem Dokumentelement (Stammelement) übereinstimmt. 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 unzureichend restriktiven XPath-Ausdrucks beim Laden großer XML-Dateien 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 Zeilen Daten enthalten. Sobald die Spezifikation getestet wurde, können Sie sie mit der vollständigen Datei erneut ausführen.
- <userInfo>Elemente
- Beachten Sie, dass<userInfo> enthaltenen Elemente<asset> enthalten untergeordnete Elemente. Diese Art der Verschachtelung erstellt eine Spalte namens userInfo , die XML für enthält<userInfo> Element. Wenn „Untergeordnete Knoten erweitern“ aktiviert ist, werden einzelne Spalten auch für „userInfo/lastName“ und „userInfo/firstName“erstellt. Wenn „Untergeordnete Knoten erweitern“ nicht aktiviert ist, wird nur die XML-Spalte „userInfo“ erstellt.
- Daten werden aus einer XML-Datei geladen
- Beim Laden von Daten aus einer XML-Datei werden von ServiceNow die ersten 10 Datensätze abgetastet, um zu bestimmen, welche Felder die Daten enthalten müssen. 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, an dem das Feld zuerst gefunden wurde. 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 Verarbeitung des gesamten XML-Imports zu einer erheblichen Verlängerung der Gesamtladezeit führen.
<?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 übergreifendes 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 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 Zeichensatz für die Codierung im Feld Eigenschaften im Formular „Datenquelle“ angeben. Unter Umständen müssen Sie Formularlayout im Formular „Datenquelle“ konfigurieren, um dieses Feld anzuzeigen. Um beispielsweise die utf-8-Codierung zu verwenden, geben Sie zeichensatz=utf-8ein.
Daten in einzelner Spalte
Bei den Formaten JSON und XML können Sie mit dieser Funktion einen vollständigen Datensatz in einer einzigen Spalte speichern.
Der zum Speichern des vollständigen Datensatzes verwendete Spaltenname 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 untergeordnetes Element des Knotens erweitern ausgewählt und aus dem Formular entfernt.
Anwenderdefiniertes Format (nach Skript analysieren).
Wenn Sie als Dateitypund als Formatanwenderdefiniert (nach Skript analysieren)auswählen, wird ein Javascript-Editor mit der Bezeichnung Analyseskript angezeigt. Mit dem Parsing-Skript können Sie anwenderdefiniertes Javascript erstellen, um Eingabezeilen in der 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 Positionsdaten.
- Der Parameter result wird verwendet, um das analysierte Ergebnis von Javascript zurückzugeben.
waisen setSkip(boolean überspringen);boolescher getSkip();addRow(Zuordnung<String, String> Karte);Liste <Map<String,String> > getRows()
Mit setSkip() und getSkip() wird die Überspringen-Kennzeichnung festgelegt und abgerufen. Wenn die Überspringen-Kennzeichnung auf „wahr“ festgelegt ist, wird das gesamte Analyseergebnis von Javascript ignoriert.
addRow() fügt eine Zuordnung des Analysezeilenergebnisses hinzu, die in die Bereitstellungstabelle eingefügt wird.
getRows() ruft alle Zeilen des aktuellen Analyseergebnisses ab, die in die Bereitstellungstabelle eingefügt wurden.
Eine Zeile mit Quelldaten kann eine Zeile oder mehrere Zeilen enthalten. Der Skriptautor kann entscheiden, wie die Zeilendaten verarbeitet werden. Wenn Sie beispielsweise für die Zeilendaten 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 Schema der Bereitstellungstabelle. 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 Bereitstellungstabelle eingefügt wird.