CdmQuery: Bereichsbezogen
Die CdmQuery-Skripteinbindung stellt Methoden bereit, mit denen Sie die Struktur des Datenmodells CDM abfragen können. Gibt eine Liste von Knotenobjekten zurück, bei denen es sich um bestimmte Felder/Spalten in der Tabelle „CDM-Knoten“ [sn_cdm_node] handelt. Diese Werte werden als Eigenschaften im -Objekt zurückgegeben. Jedes Objekt ist ein Knoten im Datenmodell.
Diese Skripteinbindung ist fließend, was bedeutet, dass die meisten ihrer Methoden die Verkettung unterstützen und ein CdmQuery-Objekt zurückgeben. Die Methoden in dieser Skripteinbindung sind in verschiedene Typen unterteilt. Sie müssen sie in einem Aufruf basierend auf ihrem Typ in einer bestimmten Reihenfolge angeben. Alle Methoden außer den Ergebnismethoden sind verkettet.
- Eingabemethode: Diese Methode gibt den Einstiegsknoten an. CdmQuery beschränkt die Abfrage auf den Einstiegsknoten und die untergeordneten Knoten. Die Angabe des Einstiegsknotens ist obligatorisch.
- Abfragemethode: Diese Methode führt die angegebene Abfrage aus.
- Ergebnismethoden: Diese Methoden geben einen bestimmten Satz von Ergebnisdaten zurück.
- Einstellungsmethoden: Diese Methoden ändern das Verhalten von CdmQuery().
Die Methoden „snapshotId()“ und „query()“ sind obligatorisch. Sie müssen Filter- und Einstellungsmethoden vor der Methode „ query() “ und nach der Methode „ snapshotId() “ hinzufügen. Die Reihenfolge, in der Sie Filter- und Einstellungsmethoden hinzufügen, ist nicht wichtig, es sei denn, sie stehen in Konflikt. In diesem Fall hat die neueste relevante Methode Vorrang. Sie müssen Ergebnismethoden wie getTree() zum Abrufen des Ergebnisses nach der Methode query() hinzufügen.
var primarySnapshot = new sn_cdm.CdmQuery()
.snapshotId("1a2fe2e6c3a27010cc0a259d7640dd59")
.decryptPassword(true)
.includeFileMetadata()
.query()
.getTree(true, false);Diese API wird im Namespace sn_cdm ausgeführt, und Sie müssen über die Rollen sn_cdm.cdm_viewer oder sn_cdm.cdm_secrets verfügen, um auf die verschiedenen Methoden zugreifen zu können.
CdmQuery: CdmQuery ()
Instanziiert ein CdmQuery-Objekt. Sie müssen diese Methode vor dem Aufrufen anderer CdmQuery- Methoden aufrufen.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
Die folgenden Codebeispiele zeigen, wie die CdmQuery- Methode aufgerufen wird, um ein CdmQuery-Objekt im Namespace sn_cdm zu instanziieren.
var primarySnapshot = new sn_cdm.CdmQuery()
.snapshotId("1a2fe2e6c3a27010cc0a259d7640dd59")
.decryptPassword(true)
.query()
.getTree();
CdmQuery - decryptPassword(Boolean decrypt)
Ermöglicht Ihnen die Angabe, ob entschlüsselte Werte für verschlüsselte Configuration Data Item (CDI) und Variablenknoten in den Ergebnissen zurückgegeben werden.
Wenn der Benutzer nicht über die erforderliche Rolle sn_cdm.cdm_secrets verfügt, wird ein Fehler ausgelöst.
| Name | Typ | Beschreibung |
|---|---|---|
| decrypt | Boolean | Optional. Kennzeichnung, die angibt, ob entschlüsselte Werte für die CDI- und Variablenknoten zurückgegeben werden sollen. Gültige Werte:
Standardwert: false |
| Typ | Beschreibung |
|---|---|
| Keine |
Das folgende Codebeispiel zeigt, wie die CdmQuery()- API aufgerufen und die Rückgabe verschlüsselter Werte für die CDI- und Variablenknoten angegeben wird.
var primarySnapshot = new sn_cdm.CdmQuery()
.snapshotId("9f12a80047352150fd6ce977746d4364")
.decryptPassword(false)
.query()
.getTree(true,true);
gs.info(primarySnapshot);
Ergebnisse zurückgeben:
{
"Development_1": {
"vars": {},
"services": {
"vars": {},
"paymentComponent": {
"applicationSLA": "24x7",
"paymentService": {
"database": {
"backup": {
"dbServer": "db23.paymentx.be"
},
"dbIpAddress": "10.20.40.50",
"dbName": "paymentX_dev2",
"dbPort": "8050",
"dbServer": "db22.paymentx.be",
"dbUserName": "root",
"dbPassword": "*******"
}
}
}
}
}
}
Das folgende Codebeispiel zeigt, wie die CdmQuery()- API aufgerufen und angegeben wird, dass entschlüsselte Werte für die CDI- und Variablenknoten zurückgegeben werden.
var primarySnapshot = new sn_cdm.CdmQuery()
.snapshotId("9f12a80047352150fd6ce977746d4364")
.decryptPassword(true)
.query()
.getTree(true,true);
gs.info(primarySnapshot);
Ergebnisse zurückgeben:
{
"Development_1": {
"vars": {},
"services": {
"vars": {},
"paymentComponent": {
"applicationSLA": "24x7",
"paymentService": {
"database": {
"backup": {
"dbServer": "db23.paymentx.be"
},
"dbIpAddress": "10.20.40.50",
"dbName": "paymentX_dev2",
"dbPort": "8050",
"dbServer": "db22.paymentx.be",
"dbUserName": "root",
"dbPassword": "dev1-password"
}
}
}
}
}
}
CdmQuery – FollowIncludes(Boolean FollowIncludes)
Ermöglicht die Angabe, ob verknüpfte Knoten vollständig aufgelöst werden, sodass untergeordnete Knoten eines referenzierten Knotens unter einem verknüpften Knoten angezeigt werden.
| Name | Typ | Beschreibung |
|---|---|---|
| FollowIncludes | Boolean | Optional. Kennzeichnung, die angibt, ob verknüpfte Knoten vollständig aufgelöst wurden. Gültige Werte:
Standardwert: true |
| Typ | Beschreibung |
|---|---|
| Keine |
Das folgende Codebeispiel zeigt, wie vollständig aufgelöste Daten zurückgegeben werden, followIncludes = true.
var primarySnapshot = new sn_cdm.CdmQuery()
.snapshotId("9f12a80047352150fd6ce977746d4364")
.followIncludes(true)
.query()
.getTree(false, true);
Beispiel für Rückgabedaten:
{
"sys_id": "62a0a0cc47f12150fd6ce977746d431a",
"type": "sn_cdm_node_deployable",
"main_id": "111673",
"name": "Development_1",
"node_path": "!K<+!K<0!K<1",
"effective_path": "!K<+!K<0!K<1",
"main_id_encoded": "K<1",
"node_classifier": "/application/deployables/env:Development",
"status": "valid",
"level": "2",
"children": [
{
"sys_id": "2aa0a0cc47f12150fd6ce977746d431a",
"type": "sn_cdm_node_folder",
"main_id": "111674",
"name": "vars",
"node_path": "!K<+!K<0!K<1!K<2",
"effective_path": "!K<+!K<0!K<1!K<2",
"main_id_encoded": "K<2",
"node_classifier": "/application/deployables/env:Development/vars",
"status": "valid",
"level": "3",
"children": [],
"hasParent": true
},
{
"sys_id": "2ca1600047352150fd6ce977746d4391",
"type": "sn_cdm_node_linked",
"main_id": "111693",
"name": "services",
"node_path": "!K<+!K<0!K<1!K<G",
"effective_path": "!K<+!K<0!K<1!K<G",
"main_id_encoded": "K<G",
"node_classifier": "/application/deployables/env:Development",
"status": "valid",
"level": "3",
"children": [
{
"sys_id": "2bb0e0cc47f12150fd6ce977746d43e2",
"type": "sn_cdm_node_folder",
"main_id": "111680",
"name": "vars",
"node_path": "!K<+!K</!K<7!K<8",
"effective_path": "!K<+!K<0!K<1!K<G!K<8",
"main_id_encoded": "K<8",
"node_classifier": "/application/collections/vars",
"status": "valid",
"level": "3",
"children": [],
"hasParent": true
},
{
"sys_id": "ccf1640047352150fd6ce977746d438b",
"type": "sn_cdm_node_component",
"main_id": "111697",
"name": "paymentComponent",
"node_path": "!K<+!K<0!K<1!K<G!K<K",
"effective_path": "!K<+!K<0!K<1!K<G!K<K",
"main_id_encoded": "K<K",
"node_classifier": "/application/deployables/env:Development",
"status": "valid",
"level": "4",
"children": [
{
"sys_id": "7fd064cc47f12150fd6ce977746d4372",
"type": "sn_cdm_node_cdi",
"main_id": "111682",
"name": "applicationSLA",
"node_path": "!K<+!K<,!K<9!K<:",
"value": "24x7",
"effective_path": "!K<+!K<0!K<1!K<G!K<K!K<:",
"main_id_encoded": "K<:",
"node_classifier": "/application/components",
"status": "valid",
"level": "3",
"children": [],
"hasParent": true
},
{
"sys_id": "44f1a40047352150fd6ce977746d43dc",
"type": "sn_cdm_node_component",
"main_id": "111698",
"name": "paymentService",
"node_path": "!K<+!K<0!K<1!K<G!K<K!K<L",
"effective_path": "!K<+!K<0!K<1!K<G!K<K!K<L",
"main_id_encoded": "K<L",
"node_classifier": "/application/deployables/env:Development",
"status": "valid",
"level": "5",
"children": [
{
"sys_id": "8cf1a40047352150fd6ce977746d43dc",
"type": "sn_cdm_node_component",
"main_id": "111699",
"name": "database",
"node_path": "!K<+!K<0!K<1!K<G!K<K!K<L!K<M",
"effective_path": "!K<+!K<0!K<1!K<G!K<K!K<L!K<M",
"main_id_encoded": "K<M",
"node_classifier": "/application/deployables/env:Development",
"status": "valid",
"level": "6",
"children": [
{
"sys_id": "b3d064cc47f12150fd6ce977746d4374",
"type": "sn_cdm_node_component",
"main_id": "111685",
"name": "backup",
"node_path": "!K<+!K<,!K<9!K<;!K<<!K<?",
"effective_path": "!K<+!K<0!K<1!K<G!K<K!K<L!K<M!K<?",
"main_id_encoded": "K<?",
"node_classifier": "/application/components",
"status": "valid",
"level": "5",
"children": [
{
"sys_id": "7bd064cc47f12150fd6ce977746d4374",
"type": "sn_cdm_node_cdi",
"main_id": "111686",
"name": "dbServer",
"node_path": "!K<+!K<,!K<9!K<;!K<<!K<?!K<@",
"value": "db23.paymentx.be",
"effective_path": "!K<+!K<0!K<1!K<G!K<K!K<L!K<M!K<?!K<@",
"main_id_encoded": "K<@",
"node_classifier": "/application/components",
"status": "valid",
"level": "6",
"children": [],
"hasParent": true
}
],
"hasParent": true
},
{
"sys_id": "33d064cc47f12150fd6ce977746d4375",
"type": "sn_cdm_node_cdi",
"main_id": "111687",
"name": "dbIpAddress",
"node_path": "!K<+!K<,!K<9!K<;!K<<!K<A",
"value": "10.20.40.50",
"effective_path": "!K<+!K<0!K<1!K<G!K<K!K<L!K<M!K<A",
"main_id_encoded": "K<A",
"node_classifier": "/application/components",
"status": "valid",
"level": "5",
"children": [],
"hasParent": true
},
{
"sys_id": "f7d064cc47f12150fd6ce977746d4375",
"type": "sn_cdm_node_cdi",
"main_id": "111688",
"name": "dbName",
"node_path": "!K<+!K<,!K<9!K<;!K<<!K<B",
"value": "paymentX_dev2",
"effective_path": "!K<+!K<0!K<1!K<G!K<K!K<L!K<M!K<B",
"main_id_encoded": "K<B",
"node_classifier": "/application/components",
"status": "valid",
"level": "5",
"children": [],
"hasParent": true
},
{
"sys_id": "77d064cc47f12150fd6ce977746d4376",
"type": "sn_cdm_node_cdi",
"main_id": "111690",
"name": "dbPort",
"node_path": "!K<+!K<,!K<9!K<;!K<<!K<D",
"value": "8050",
"effective_path": "!K<+!K<0!K<1!K<G!K<K!K<L!K<M!K<D",
"main_id_encoded": "K<D",
"node_classifier": "/application/components",
"status": "valid",
"level": "5",
"children": [],
"hasParent": true
},
{
"sys_id": "3fd064cc47f12150fd6ce977746d4376",
"type": "sn_cdm_node_cdi",
"main_id": "111691",
"name": "dbServer",
"node_path": "!K<+!K<,!K<9!K<;!K<<!K<E",
"value": "db22.paymentx.be",
"effective_path": "!K<+!K<0!K<1!K<G!K<K!K<L!K<M!K<E",
"main_id_encoded": "K<E",
"node_classifier": "/application/components",
"status": "valid",
"level": "5",
"children": [],
"hasParent": true
},
{
"sys_id": "f3d064cc47f12150fd6ce977746d4377",
"type": "sn_cdm_node_cdi",
"main_id": "111692",
"name": "dbUserName",
"node_path": "!K<+!K<,!K<9!K<;!K<<!K<F",
"value": "root",
"effective_path": "!K<+!K<0!K<1!K<G!K<K!K<L!K<M!K<F",
"main_id_encoded": "K<F",
"node_classifier": "/application/components",
"status": "valid",
"level": "5",
"children": [],
"hasParent": true
},
{
"sys_id": "c4f1a40047352150fd6ce977746d43dd",
"type": "sn_cdm_node_cdi",
"main_id": "111700",
"name": "dbPassword",
"node_path": "!K<+!K<0!K<1!K<G!K<K!K<L!K<M!K<N",
"secure_value": "dac329a2476c6110fd6ce977746d43e11w8YJ85PO5byT5YNmeG_HwQ==WrNQP39n-PWKFs_VXFSjr3TJsGxS1ESKpyl4PUE=",
"effective_path": "!K<+!K<0!K<1!K<G!K<K!K<L!K<M!K<N",
"main_id_encoded": "K<N",
"node_classifier": "/application/deployables/env:Development",
"status": "valid",
"level": "7",
"masked_value": "*******",
"children": [],
"hasParent": true
}
],
"hasParent": true
}
],
"hasParent": true
}
],
"hasParent": true
}
],
"hasParent": true
}
]
}
Das folgende Codebeispiel zeigt, wie nicht vollständig aufgelöste Daten zurückgegeben werden: followIncludes = false.
var primarySnapshot = new sn_cdm.CdmQuery()
.snapshotId("9f12a80047352150fd6ce977746d4364")
.followIncludes(false)
.query()
.getTree(false, true);
Beispiel für Rückgabedaten:
{
"sys_id": "62a0a0cc47f12150fd6ce977746d431a",
"type": "sn_cdm_node_deployable",
"main_id": "111673",
"name": "Development_1",
"node_path": "!K<+!K<0!K<1",
"effective_path": "!K<+!K<0!K<1",
"main_id_encoded": "K<1",
"node_classifier": "/application/deployables/env:Development",
"status": "valid",
"level": "2",
"children": [
{
"sys_id": "2aa0a0cc47f12150fd6ce977746d431a",
"type": "sn_cdm_node_folder",
"main_id": "111674",
"name": "vars",
"node_path": "!K<+!K<0!K<1!K<2",
"effective_path": "!K<+!K<0!K<1!K<2",
"main_id_encoded": "K<2",
"node_classifier": "/application/deployables/env:Development/vars",
"status": "valid",
"level": "3",
"children": [],
"hasParent": true
},
{
"sys_id": "2ca1600047352150fd6ce977746d4391",
"type": "sn_cdm_node_linked",
"main_id": "111693",
"name": "services",
"node_path": "!K<+!K<0!K<1!K<G",
"effective_path": "!K<+!K<0!K<1!K<G",
"main_id_encoded": "K<G",
"node_classifier": "/application/deployables/env:Development",
"status": "valid",
"level": "3",
"children": [
{
"sys_id": "ccf1640047352150fd6ce977746d438b",
"type": "sn_cdm_node_component",
"main_id": "111697",
"name": "paymentComponent",
"node_path": "!K<+!K<0!K<1!K<G!K<K",
"effective_path": "!K<+!K<0!K<1!K<G!K<K",
"main_id_encoded": "K<K",
"node_classifier": "/application/deployables/env:Development",
"status": "valid",
"level": "4",
"children": [
{
"sys_id": "44f1a40047352150fd6ce977746d43dc",
"type": "sn_cdm_node_component",
"main_id": "111698",
"name": "paymentService",
"node_path": "!K<+!K<0!K<1!K<G!K<K!K<L",
"effective_path": "!K<+!K<0!K<1!K<G!K<K!K<L",
"main_id_encoded": "K<L",
"node_classifier": "/application/deployables/env:Development",
"status": "valid",
"level": "5",
"children": [
{
"sys_id": "8cf1a40047352150fd6ce977746d43dc",
"type": "sn_cdm_node_component",
"main_id": "111699",
"name": "database",
"node_path": "!K<+!K<0!K<1!K<G!K<K!K<L!K<M",
"effective_path": "!K<+!K<0!K<1!K<G!K<K!K<L!K<M",
"main_id_encoded": "K<M",
"node_classifier": "/application/deployables/env:Development",
"status": "valid",
"level": "6",
"children": [
{
"sys_id": "c4f1a40047352150fd6ce977746d43dd",
"type": "sn_cdm_node_cdi",
"main_id": "111700",
"name": "dbPassword",
"node_path": "!K<+!K<0!K<1!K<G!K<K!K<L!K<M!K<N",
"secure_value": "dac329a2476c6110fd6ce977746d43e11w8YJ85PO5byT5YNmeG_HwQ==WrNQP39n-PWKFs_VXFSjr3TJsGxS1ESKpyl4PUE=",
"effective_path": "!K<+!K<0!K<1!K<G!K<K!K<L!K<M!K<N",
"main_id_encoded": "K<N",
"node_classifier": "/application/deployables/env:Development",
"status": "valid",
"level": "7",
"masked_value": "*******",
"children": [],
"hasParent": true
}
],
"hasParent": true
}
],
"hasParent": true
}
],
"hasParent": true
}
],
"hasParent": true
}
]
}
CdmQuery - forEach(Funktion Funktion)
Iteriert jeden der Ergebnisknoten und wendet die angegebene Funktion an, die ein CdmNode-Objekt akzeptiert.
| Name | Typ | Beschreibung |
|---|---|---|
| function | Funktion | Funktion, die auf das CdmNode-Objekt angewendet werden soll. |
| Typ | Beschreibung |
|---|---|
| Keine |
Dieses Codebeispiel zeigt, wie die Methode forEach() aufgerufen wird.
CdmQuery.forEach(function (node) {
gs.info("Node - {0}:{1} ", [node.getValue("name"), node.getValue("value")]);
});
CdmQuery - getTree (Boolean simpleTree, Boolean prettify)
Gibt die angegebenen CDM -Abfrageergebnisse zurück.
Sie können die Ebene und das Format des zurückzugebenden Inhalts angeben, indem Sie die entsprechenden Kennzeichnungen im Aufruf festlegen. Standardmäßig wird eine formatierte Zeichenfolge zurückgegeben, die die Knotenmetadaten und die untergeordneten Knoten enthält und deren Einstiegsknoten der oberste Knoten ist.
| Name | Typ | Beschreibung |
|---|---|---|
| simpleTree | Boolean | Optional. Kennzeichnung, die die Ebene des zurückzugebenden Inhalts angibt. Gültige Werte:
Standardwert: false |
| pretify | Boolean | Optional. Kennzeichnung, die angibt, ob eine formatierte Zeichenfolge anstelle eines JSON-Objekts zurückgegeben werden soll. Gültige Werte:
Standardwert: false |
| Typ | Beschreibung |
|---|---|
| CdmQuery | CdmQuery-Objekt, das die angegebenen Abfrageinformationen enthält. |
Das folgende Codebeispiel zeigt, wie die getTree()- Methode mit den Standardeinstellungen aufgerufen wird. Dies gibt eine formatierte Zeichenfolge zurück, die die Knotenmetadaten und alle untergeordneten Knoten enthält.
var primarySnapshot = new sn_cdm.CdmQuery()
.snapshotId("9f12a80047352150fd6ce977746d4364")
.query()
.getTree();
gs.info(JSON.stringify(primarySnapshot));
Ergebnisse zurückgeben:
{"sys_id":"62a0a0cc47f12150fd6ce977746d431a","type":"sn_cdm_node_deployable","main_id":"111673","name":"Development_1","node_path":"!K<+!K<0!K<1","effective_path":"!K<+!K<0!K<1","main_id_encoded":"K<1","node_classifier":"/application/deployables/env:Development","status":"valid","level":"2","children":[{"sys_id":"2aa0a0cc47f12150fd6ce977746d431a","type":"sn_cdm_node_folder","main_id":"111674","name":"vars","node_path":"!K<+!K<0!K<1!K<2","effective_path":"!K<+!K<0!K<1!K<2","main_id_encoded":"K<2","node_classifier":"/application/deployables/env:Development/vars","status":"valid","level":"3","children":[],"hasParent":true},{"sys_id":"2ca1600047352150fd6ce977746d4391","type":"sn_cdm_node_linked","main_id":"111693","name":"services","node_path":"!K<+!K<0!K<1!K<G","effective_path":"!K<+!K<0!K<1!K<G","main_id_encoded":"K<G","node_classifier":"/application/deployables/env:Development","status":"valid","level":"3","children":[{"sys_id":"2bb0e0cc47f12150fd6ce977746d43e2","type":"sn_cdm_node_folder","main_id":"111680","name":"vars","node_path":"!K<+!K</!K<7!K<8","effective_path":"!K<+!K<0!K<1!K<G!K<8","main_id_encoded":"K<8","node_classifier":"/application/collections/vars","status":"valid","level":"3","children":[],"hasParent":true},{"sys_id":"ccf1640047352150fd6ce977746d438b","type":"sn_cdm_node_component","main_id":"111697","name":"paymentComponent","node_path":"!K<+!K<0!K<1!K<G!K<K","effective_path":"!K<+!K<0!K<1!K<G!K<K","main_id_encoded":"K<K","node_classifier":"/application/deployables/env:Development","status":"valid","level":"4","children":[{"sys_id":"7fd064cc47f12150fd6ce977746d4372","type":"sn_cdm_node_cdi","main_id":"111682","name":"applicationSLA","node_path":"!K<+!K<,!K<9!K<:","value":"24x7","effective_path":"!K<+!K<0!K<1!K<G!K<K!K<:","main_id_encoded":"K<:","node_classifier":"/application/components","status":"valid","level":"3","children":[],"hasParent":true},{"sys_id":"44f1a40047352150fd6ce977746d43dc","type":"sn_cdm_node_component","main_id":"111698","name":"paymentService","node_path":"!K<+!K<0!K<1!K<G!K<K!K<L","effective_path":"!K<+!K<0!K<1!K<G!K<K!K<L","main_id_encoded":"K<L","node_classifier":"/application/deployables/env:Development","status":"valid","level":"5","children":[{"sys_id":"8cf1a40047352150fd6ce977746d43dc","type":"sn_cdm_node_component","main_id":"111699","name":"database","node_path":"!K<+!K<0!K<1!K<G!K<K!K<L!K<M","effective_path":"!K<+!K<0!K<1!K<G!K<K!K<L!K<M","main_id_encoded":"K<M","node_classifier":"/application/deployables/env:Development","status":"valid","level":"6","children":[{"sys_id":"b3d064cc47f12150fd6ce977746d4374","type":"sn_cdm_node_component","main_id":"111685","name":"backup","node_path":"!K<+!K<,!K<9!K<;!K<<!K<?","effective_path":"!K<+!K<0!K<1!K<G!K<K!K<L!K<M!K<?","main_id_encoded":"K<?","node_classifier":"/application/components","status":"valid","level":"5","children":[{"sys_id":"7bd064cc47f12150fd6ce977746d4374","type":"sn_cdm_node_cdi","main_id":"111686","name":"dbServer","node_path":"!K<+!K<,!K<9!K<;!K<<!K<?!K<@","value":"db23.paymentx.be","effective_path":"!K<+!K<0!K<1!K<G!K<K!K<L!K<M!K<?!K<@","main_id_encoded":"K<@","node_classifier":"/application/components","status":"valid","level":"6","children":[],"hasParent":true}],"hasParent":true},{"sys_id":"33d064cc47f12150fd6ce977746d4375","type":"sn_cdm_node_cdi","main_id":"111687","name":"dbIpAddress","node_path":"!K<+!K<,!K<9!K<;!K<<!K<A","value":"10.20.40.50","effective_path":"!K<+!K<0!K<1!K<G!K<K!K<L!K<M!K<A","main_id_encoded":"K<A","node_classifier":"/application/components","status":"valid","level":"5","children":[],"hasParent":true},{"sys_id":"f7d064cc47f12150fd6ce977746d4375","type":"sn_cdm_node_cdi","main_id":"111688","name":"dbName","node_path":"!K<+!K<,!K<9!K<;!K<<!K<B","value":"paymentX_dev2","effective_path":"!K<+!K<0!K<1!K<G!K<K!K<L!K<M!K<B","main_id_encoded":"K<B","node_classifier":"/application/components","status":"valid","level":"5","children":[],"hasParent":true},{"sys_id":"77d064cc47f12150fd6ce977746d4376","type":"sn_cdm_node_cdi","main_id":"111690","name":"dbPort","node_path":"!K<+!K<,!K<9!K<;!K<<!K<D","value":"8050","effective_path":"!K<+!K<0!K<1!K<G!K<K!K<L!K<M!K<D","main_id_encoded":"K<D","node_classifier":"/application/components","status":"valid","level":"5","children":[],"hasParent":true},{"sys_id":"3fd064cc47f12150fd6ce977746d4376","type":"sn_cdm_node_cdi","main_id":"111691","name":"dbServer","node_path":"!K<+!K<,!K<9!K<;!K<<!K<E","value":"db22.paymentx.be","effective_path":"!K<+!K<0!K<1!K<G!K<K!K<L!K<M!K<E","main_id_encoded":"K<E","node_classifier":"/application/components","status":"valid","level":"5","children":[],"hasParent":true},{"sys_id":"f3d064cc47f12150fd6ce977746d4377","type":"sn_cdm_node_cdi","main_id":"111692","name":"dbUserName","node_path":"!K<+!K<,!K<9!K<;!K<<!K<F","value":"root","effective_path":"!K<+!K<0!K<1!K<G!K<K!K<L!K<M!K<F","main_id_encoded":"K<F","node_classifier":"/application/components","status":"valid","level":"5","children":[],"hasParent":true},{"sys_id":"c4f1a40047352150fd6ce977746d43dd","type":"sn_cdm_node_cdi","main_id":"111700","name":"dbPassword","node_path":"!K<+!K<0!K<1!K<G!K<K!K<L!K<M!K<N","secure_value":"dac329a2476c6110fd6ce977746d43e11w8YJ85PO5byT5YNmeG_HwQ==WrNQP39n-PWKFs_VXFSjr3TJsGxS1ESKpyl4PUE=","effective_path":"!K<+!K<0!K<1!K<G!K<K!K<L!K<M!K<N","main_id_encoded":"K<N","node_classifier":"/application/deployables/env:Development","status":"valid","level":"7","masked_value":"*******","children":[],"hasParent":true}],"hasParent":true}],"hasParent":true}],"hasParent":true}],"hasParent":true}]}
Das folgende Codebeispiel zeigt, wie die getTree()- Methode aufgerufen wird, um ein vereinfachtes JSON-Objekt mit hierarchischen Schlüssel-Wert-Paaren zurückzugeben.
var primarySnapshot = new sn_cdm.CdmQuery()
.snapshotId("9f12a80047352150fd6ce977746d4364")
.query()
.getTree(true, true);
gs.info(JSON.stringify(primarySnapshot));
Ergebnisse zurückgeben:
{
"Development_1": {
"vars": {},
"services": {
"vars": {},
"paymentComponent": {
"applicationSLA": "24x7",
"paymentService": {
"database": {
"backup": {
"dbServer": "db23.paymentx.be"
},
"dbIpAddress": "10.20.40.50",
"dbName": "paymentX_dev2",
"dbPort": "8050",
"dbServer": "db22.paymentx.be",
"dbUserName": "root",
"dbPassword": "*******"
}
}
}
}
}
}
Das folgende Codebeispiel zeigt, wie die getTree()- Methode aufgerufen wird, um ein JSON-Objekt zurückzugeben, das die Knotenmetadaten und alle untergeordneten Knoten enthält.
var primarySnapshot = new sn_cdm.CdmQuery()
.snapshotId("9f12a80047352150fd6ce977746d4364")
.query()
.getTree(false, true);
gs.info(JSON.stringify(primarySnapshot));
Ergebnisse zurückgeben:
{
"sys_id": "62a0a0cc47f12150fd6ce977746d431a",
"type": "sn_cdm_node_deployable",
"main_id": "111673",
"name": "Development_1",
"node_path": "!K<+!K<0!K<1",
"effective_path": "!K<+!K<0!K<1",
"main_id_encoded": "K<1",
"node_classifier": "/application/deployables/env:Development",
"status": "valid",
"level": "2",
"children": [
{
"sys_id": "2aa0a0cc47f12150fd6ce977746d431a",
"type": "sn_cdm_node_folder",
"main_id": "111674",
"name": "vars",
"node_path": "!K<+!K<0!K<1!K<2",
"effective_path": "!K<+!K<0!K<1!K<2",
"main_id_encoded": "K<2",
"node_classifier": "/application/deployables/env:Development/vars",
"status": "valid",
"level": "3",
"children": [],
"hasParent": true
},
{
"sys_id": "2ca1600047352150fd6ce977746d4391",
"type": "sn_cdm_node_linked",
"main_id": "111693",
"name": "services",
"node_path": "!K<+!K<0!K<1!K<G",
"effective_path": "!K<+!K<0!K<1!K<G",
"main_id_encoded": "K<G",
"node_classifier": "/application/deployables/env:Development",
"status": "valid",
"level": "3",
"children": [
{
"sys_id": "2bb0e0cc47f12150fd6ce977746d43e2",
"type": "sn_cdm_node_folder",
"main_id": "111680",
"name": "vars",
"node_path": "!K<+!K</!K<7!K<8",
"effective_path": "!K<+!K<0!K<1!K<G!K<8",
"main_id_encoded": "K<8",
"node_classifier": "/application/collections/vars",
"status": "valid",
"level": "3",
"children": [],
"hasParent": true
},
{
"sys_id": "ccf1640047352150fd6ce977746d438b",
"type": "sn_cdm_node_component",
"main_id": "111697",
"name": "paymentComponent",
"node_path": "!K<+!K<0!K<1!K<G!K<K",
"effective_path": "!K<+!K<0!K<1!K<G!K<K",
"main_id_encoded": "K<K",
"node_classifier": "/application/deployables/env:Development",
"status": "valid",
"level": "4",
"children": [
{
"sys_id": "7fd064cc47f12150fd6ce977746d4372",
"type": "sn_cdm_node_cdi",
"main_id": "111682",
"name": "applicationSLA",
"node_path": "!K<+!K<,!K<9!K<:",
"value": "24x7",
"effective_path": "!K<+!K<0!K<1!K<G!K<K!K<:",
"main_id_encoded": "K<:",
"node_classifier": "/application/components",
"status": "valid",
"level": "3",
"children": [],
"hasParent": true
},
{
"sys_id": "44f1a40047352150fd6ce977746d43dc",
"type": "sn_cdm_node_component",
"main_id": "111698",
"name": "paymentService",
"node_path": "!K<+!K<0!K<1!K<G!K<K!K<L",
"effective_path": "!K<+!K<0!K<1!K<G!K<K!K<L",
"main_id_encoded": "K<L",
"node_classifier": "/application/deployables/env:Development",
"status": "valid",
"level": "5",
"children": [
{
"sys_id": "8cf1a40047352150fd6ce977746d43dc",
"type": "sn_cdm_node_component",
"main_id": "111699",
"name": "database",
"node_path": "!K<+!K<0!K<1!K<G!K<K!K<L!K<M",
"effective_path": "!K<+!K<0!K<1!K<G!K<K!K<L!K<M",
"main_id_encoded": "K<M",
"node_classifier": "/application/deployables/env:Development",
"status": "valid",
"level": "6",
"children": [
{
"sys_id": "b3d064cc47f12150fd6ce977746d4374",
"type": "sn_cdm_node_component",
"main_id": "111685",
"name": "backup",
"node_path": "!K<+!K<,!K<9!K<;!K<<!K<?",
"effective_path": "!K<+!K<0!K<1!K<G!K<K!K<L!K<M!K<?",
"main_id_encoded": "K<?",
"node_classifier": "/application/components",
"status": "valid",
"level": "5",
"children": [
{
"sys_id": "7bd064cc47f12150fd6ce977746d4374",
"type": "sn_cdm_node_cdi",
"main_id": "111686",
"name": "dbServer",
"node_path": "!K<+!K<,!K<9!K<;!K<<!K<?!K<@",
"value": "db23.paymentx.be",
"effective_path": "!K<+!K<0!K<1!K<G!K<K!K<L!K<M!K<?!K<@",
"main_id_encoded": "K<@",
"node_classifier": "/application/components",
"status": "valid",
"level": "6",
"children": [],
"hasParent": true
}
],
"hasParent": true
},
{
"sys_id": "33d064cc47f12150fd6ce977746d4375",
"type": "sn_cdm_node_cdi",
"main_id": "111687",
"name": "dbIpAddress",
"node_path": "!K<+!K<,!K<9!K<;!K<<!K<A",
"value": "10.20.40.50",
"effective_path": "!K<+!K<0!K<1!K<G!K<K!K<L!K<M!K<A",
"main_id_encoded": "K<A",
"node_classifier": "/application/components",
"status": "valid",
"level": "5",
"children": [],
"hasParent": true
},
{
"sys_id": "f7d064cc47f12150fd6ce977746d4375",
"type": "sn_cdm_node_cdi",
"main_id": "111688",
"name": "dbName",
"node_path": "!K<+!K<,!K<9!K<;!K<<!K<B",
"value": "paymentX_dev2",
"effective_path": "!K<+!K<0!K<1!K<G!K<K!K<L!K<M!K<B",
"main_id_encoded": "K<B",
"node_classifier": "/application/components",
"status": "valid",
"level": "5",
"children": [],
"hasParent": true
},
{
"sys_id": "77d064cc47f12150fd6ce977746d4376",
"type": "sn_cdm_node_cdi",
"main_id": "111690",
"name": "dbPort",
"node_path": "!K<+!K<,!K<9!K<;!K<<!K<D",
"value": "8050",
"effective_path": "!K<+!K<0!K<1!K<G!K<K!K<L!K<M!K<D",
"main_id_encoded": "K<D",
"node_classifier": "/application/components",
"status": "valid",
"level": "5",
"children": [],
"hasParent": true
},
{
"sys_id": "3fd064cc47f12150fd6ce977746d4376",
"type": "sn_cdm_node_cdi",
"main_id": "111691",
"name": "dbServer",
"node_path": "!K<+!K<,!K<9!K<;!K<<!K<E",
"value": "db22.paymentx.be",
"effective_path": "!K<+!K<0!K<1!K<G!K<K!K<L!K<M!K<E",
"main_id_encoded": "K<E",
"node_classifier": "/application/components",
"status": "valid",
"level": "5",
"children": [],
"hasParent": true
},
{
"sys_id": "f3d064cc47f12150fd6ce977746d4377",
"type": "sn_cdm_node_cdi",
"main_id": "111692",
"name": "dbUserName",
"node_path": "!K<+!K<,!K<9!K<;!K<<!K<F",
"value": "root",
"effective_path": "!K<+!K<0!K<1!K<G!K<K!K<L!K<M!K<F",
"main_id_encoded": "K<F",
"node_classifier": "/application/components",
"status": "valid",
"level": "5",
"children": [],
"hasParent": true
},
{
"sys_id": "c4f1a40047352150fd6ce977746d43dd",
"type": "sn_cdm_node_cdi",
"main_id": "111700",
"name": "dbPassword",
"node_path": "!K<+!K<0!K<1!K<G!K<K!K<L!K<M!K<N",
"secure_value": "dac329a2476c6110fd6ce977746d43e11w8YJ85PO5byT5YNmeG_HwQ==WrNQP39n-PWKFs_VXFSjr3TJsGxS1ESKpyl4PUE=",
"effective_path": "!K<+!K<0!K<1!K<G!K<K!K<L!K<M!K<N",
"main_id_encoded": "K<N",
"node_classifier": "/application/deployables/env:Development",
"status": "valid",
"level": "7",
"masked_value": "*******",
"children": [],
"hasParent": true
}
],
"hasParent": true
}
],
"hasParent": true
}
],
"hasParent": true
}
],
"hasParent": true
}
]
}
CdmQuery - getValue(String fieldName)
Gibt den Wert des angegebenen Felds des aktuellen iterierten Knotenergebnisses zurück.
| Name | Typ | Beschreibung |
|---|---|---|
| fieldName | Zeichenfolge | Name des Felds mit dem zurückzugebenden Snapshot-Datensatz. |
| Typ | Beschreibung |
|---|---|
| Keine |
Das folgende Codebeispiel zeigt, wie Sie mit der Methode getValue() die erforderlichen Daten extrahieren.
var cdmQuery = new sn_cdm.CdmQuery()
.snapshotId("1a2fe2e6c3a27010cc0a259d7640dd59")
.decryptPassword(true)
.query();
var output = [];
while(cdmQuery.next()) {
var name = cdmQuery.getValue('name');
var type = cdmQuery.getValue('type');
if (type == 'sg_cdm_node_cdi' || type == 'sg_cdm_node_variable') {
var value = cdmQuery.getValue('value');
output.push(gs.getMessage("{0} : {1} [{2}]", [name, value, type]));
} else {
output.push(gs.getMessage("{0} [{1}]", [name, type]));
}
}
Rückgabewerte:
[
"test_login_service [sg_cdm_node_deployable]",
"vars [sg_cdm_node_folder]",
"service_password : service12345 [sg_cdm_node_variable]",
"login_service [sg_cdm_node_linked]",
"vars [sg_cdm_node_folder]",
"core_component [sg_cdm_node_component]",
"user_name : admin [sg_cdm_node_cdi]",
"user_password : service12345 [sg_cdm_node_cdi]"
]
CdmQuery - IncludesFileMetadata ()
Ermöglicht die Angabe, ob die Dateimetadateninformationen für Dateiknoten abgerufen werden sollen. Die Dateimetadaten enthalten „attachment_id“, „file_name“, „content_type“ und „checksum“.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Keine |
Das folgende Codebeispiel zeigt, wie die CdmQuery()- API aufgerufen und Dateimetadateninformationen zurückgegeben werden.
var cdmQuery = new CdmQuery()
.snapshotId("20c365a2476c6110fd6ce977746d4336")
.includeFileMetadata()
.query()
.getTree(false, true);
Ausgaben:
{
"sys_id": "62a0a0cc47f12150fd6ce977746d431a",
"type": "sn_cdm_node_deployable",
"main_id": "111673",
"name": "Development_1",
"node_path": "!K<+!K<0!K<1",
"effective_path": "!K<+!K<0!K<1",
"main_id_encoded": "K<1",
"node_classifier": "/application/deployables/env:Development",
"status": "valid",
"level": "2",
"children": [
{
"sys_id": "2aa0a0cc47f12150fd6ce977746d431a",
"type": "sn_cdm_node_folder",
"main_id": "111674",
"name": "vars",
"node_path": "!K<+!K<0!K<1!K<2",
"effective_path": "!K<+!K<0!K<1!K<2",
"main_id_encoded": "K<2",
"node_classifier": "/application/deployables/env:Development/vars",
"status": "valid",
"level": "3",
"children": [],
"hasParent": true
},
{
"sys_id": "b83eb65fffdf6110f0ccffffffffff7d",
"type": "sn_cdm_node_file",
"main_id": "111675",
"name": "deploy_config.xml",
"node_path": "!K<+!K<0!K<1!K<G",
"value": "file: http://instance.servicenow.com/sys_attachment.do?sys_id=bc3eb65fffdf6110f0ccffffffffff7d",
"effective_path": "!K<+!K<0!K<1!K<G",
"main_id_encoded": "V",
"node_classifier": "/application/deployables/env:Development",
"status": "valid",
"level": "3",
"file_metadata": {
"attachment_id": "bc3eb65fffdf6110f0ccffffffffff7d",
"file_name": "deploy_config.xml",
"content_type": "application/xml",
"checksum": "UbWkF5HZOQTQ89bFrqyFBg=="
},
"children": [],
"hasParent": true
}
]
}
CdmQuery – Next()
Iteriert zum nächsten Knotenergebnis und gibt es zurück, falls vorhanden.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| CdmQuery | Falls verfügbar, CdmQuery-Objekt des nächsten Knotens. Wenn keine zusätzlichen Knoten verfügbar sind, wird NULL oder undefiniert zurückgegeben. |
Das folgende Codebeispiel zeigt, wie die Methode Next () den verfügbaren Knoten durchläuft.
var cdmQuery = new sn_cdm.CdmQuery()
.snapshotId("1a2fe2e6c3a27010cc0a259d7640dd59")
.decryptPassword(true)
.query();
var output = [];
while(cdmQuery.next()) {
var name = cdmQuery.getValue('name');
var type = cdmQuery.getValue('type');
if (type == 'sg_cdm_node_cdi' || type == 'sg_cdm_node_variable') {
var value = cdmQuery.getValue('value');
output.push(gs.getMessage("{0} : {1} [{2}]", [name, value, type]));
} else {
output.push(gs.getMessage("{0} [{1}]", [name, type]));
}
}
Ergebnisse zurückgeben:
[
"test_login_service [sg_cdm_node_deployable]",
"vars [sg_cdm_node_folder]",
"service_password : service12345 [sg_cdm_node_variable]",
"login_service [sg_cdm_node_linked]",
"vars [sg_cdm_node_folder]",
"core_component [sg_cdm_node_component]",
"user_name : username [sg_cdm_node_cdi]",
"user_password : service12345 [sg_cdm_node_cdi]"
]
CdmQuery – Abfrage ()
Führt die angegebene Abfrage basierend auf den Einstellungen, dem Einstiegsknoten und den Filtereinstellungen für die Datenbank CDM oder den Cache aus.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| CdmQuery | CdmQuery-Objekt. |
Das folgende Codebeispiel zeigt, wie Sie die CdmQuery()- API aufrufen und den bereitstellbaren Snapshot für die Abfrage angeben.
var primarySnapshot = new sn_cdm.CdmQuery()
.snapshotId("1a2fe2e6c3a27010cc0a259d7640dd59")
.decryptPassword(true)
.query()
.getTree();
Ergebnisse zurückgeben:
{
"_decryptPassword": true,
"sys_id": "d73d6666c3a27010cc0a259d7640dde7",
"type": "sg_cdm_node_deployable",
"main_id": "731",
"name": "test_login_service",
"node_path": "!1+!1/!10",
"effective_path": "!1+!1/!10",
"main_id_encoded": "10",
"node_classifier": "/application/deployables/dep:test_login_service",
"status": "valid",
"children": [
{
"_decryptPassword": true,
"sys_id": "9f3d6666c3a27010cc0a259d7640dde7",
"type": "sg_cdm_node_folder",
"main_id": "732",
"name": "vars",
"node_path": "!1+!1/!10!11",
"effective_path": "!1+!1/!10!11",
"main_id_encoded": "11",
"node_classifier": "/application/deployables/dep:test_login_service/vars",
"status": "valid",
"children": [
{
"_decryptPassword": true,
"sys_id": "49dd2e66c3a27010cc0a259d7640ddf9",
"type": "sg_cdm_node_variable",
"main_id": "741",
"name": "service_password",
"node_path": "!1+!1/!10!11!1:",
"value": "service12345",
"effective_path": "!1+!1/!10!11!1:",
"main_id_encoded": "1:",
"node_classifier": "/application/deployables/dep:test_login_service/vars",
"status": "valid",
"children": [],
"hasParent": true
}
],
"hasParent": true
},
{
"_decryptPassword": true,
"sys_id": "26bd2e66c3a27010cc0a259d7640dd74",
"type": "sg_cdm_node_linked",
"main_id": "740",
"name": "login_service",
"node_path": "!1+!1/!10!19",
"effective_path": "!1+!1/!10!19",
"main_id_encoded": "19",
"node_classifier": "/application/deployables/dep:test_login_service",
"status": "valid",
"children": [
{
"_decryptPassword": true,
"sys_id": "eeadea66c3a27010cc0a259d7640dd8c",
"type": "sg_cdm_node_folder",
"main_id": "738",
"name": "vars",
"node_path": "!1+!1.!16!17",
"effective_path": "!1+!1/!10!19!17",
"main_id_encoded": "17",
"node_classifier": "/application/collections/vars",
"status": "valid",
"children": [],
"hasParent": true
},
{
"_decryptPassword": true,
"sys_id": "da1f22e6c3a27010cc0a259d7640dda2",
"type": "sg_cdm_node_component",
"main_id": "742",
"name": "core_component",
"node_path": "!1+!1/!10!19!1;",
"effective_path": "!1+!1/!10!19!1;",
"main_id_encoded": "1;",
"node_classifier": "/application/deployables/dep:test_login_service",
"status": "valid",
"children": [
{
"_decryptPassword": true,
"sys_id": "921f22e6c3a27010cc0a259d7640dda3",
"type": "sg_cdm_node_cdi",
"main_id": "743",
"name": "user_name",
"node_path": "!1+!1/!10!19!1;!1<",
"value": "admin",
"effective_path": "!1+!1/!10!19!1;!1<",
"main_id_encoded": "1<",
"node_classifier": "/application/deployables/dep:test_login_service",
"status": "valid",
"children": [],
"hasParent": true
},
{
"_decryptPassword": true,
"sys_id": "5a1f22e6c3a27010cc0a259d7640dda3",
"type": "sg_cdm_node_cdi",
"main_id": "744",
"name": "user_password",
"node_path": "!1+!1/!10!19!1;!1?",
"value": "service12345",
"effective_path": "!1+!1/!10!19!1;!1?",
"main_id_encoded": "1?",
"node_classifier": "/application/deployables/dep:test_login_service",
"status": "valid",
"children": [],
"hasParent": true
}
],
"hasParent": true
}
],
"hasParent": true
}
],
"hasParent": false
}
CdmQuery – SnapshotId (Zeichenfolge SnapshotSysID)
Gibt den Einstiegsknoten an. Die CdmQuery- API beschränkt ihre Abfrage auf den Einstiegsknoten und die untergeordneten Knoten. Der Aufruf dieser Methode ist obligatorisch.
| Name | Typ | Beschreibung |
|---|---|---|
| Snapshot-SysId | Zeichenfolge | Sys_id des abzufragenden bereitstellbaren Snapshots. Befindet sich in der CDM-Snapshot-Tabelle [sn_cdm_snapshot]. Intern werden die sys_id des Changesets und die sys_id des bereitstellbaren Knotens festgelegt. |
| Typ | Beschreibung |
|---|---|
| Keine |
Das folgende Codebeispiel zeigt, wie Sie die CdmQuery()- API aufrufen und den bereitstellbaren Snapshot für die Abfrage angeben.
var primarySnapshot = new sn_cdm.CdmQuery()
.snapshotId("1a2fe2e6c3a27010cc0a259d7640dd59")
.decryptPassword(true)
.query()
.getTree();
Ergebnisse zurückgeben:
{
"_decryptPassword": true,
"sys_id": "d73d6666c3a27010cc0a259d7640dde7",
"type": "sg_cdm_node_deployable",
"main_id": "731",
"name": "test_login_service",
"node_path": "!1+!1/!10",
"effective_path": "!1+!1/!10",
"main_id_encoded": "10",
"node_classifier": "/application/deployables/dep:test_login_service",
"status": "valid",
"children": [
{
"_decryptPassword": true,
"sys_id": "9f3d6666c3a27010cc0a259d7640dde7",
"type": "sg_cdm_node_folder",
"main_id": "732",
"name": "vars",
"node_path": "!1+!1/!10!11",
"effective_path": "!1+!1/!10!11",
"main_id_encoded": "11",
"node_classifier": "/application/deployables/dep:test_login_service/vars",
"status": "valid",
"children": [
{
"_decryptPassword": true,
"sys_id": "49dd2e66c3a27010cc0a259d7640ddf9",
"type": "sg_cdm_node_variable",
"main_id": "741",
"name": "service_password",
"node_path": "!1+!1/!10!11!1:",
"value": "service12345",
"effective_path": "!1+!1/!10!11!1:",
"main_id_encoded": "1:",
"node_classifier": "/application/deployables/dep:test_login_service/vars",
"status": "valid",
"children": [],
"hasParent": true
}
],
"hasParent": true
},
{
"_decryptPassword": true,
"sys_id": "26bd2e66c3a27010cc0a259d7640dd74",
"type": "sg_cdm_node_linked",
"main_id": "740",
"name": "login_service",
"node_path": "!1+!1/!10!19",
"effective_path": "!1+!1/!10!19",
"main_id_encoded": "19",
"node_classifier": "/application/deployables/dep:test_login_service",
"status": "valid",
"children": [
{
"_decryptPassword": true,
"sys_id": "eeadea66c3a27010cc0a259d7640dd8c",
"type": "sg_cdm_node_folder",
"main_id": "738",
"name": "vars",
"node_path": "!1+!1.!16!17",
"effective_path": "!1+!1/!10!19!17",
"main_id_encoded": "17",
"node_classifier": "/application/collections/vars",
"status": "valid",
"children": [],
"hasParent": true
},
{
"_decryptPassword": true,
"sys_id": "da1f22e6c3a27010cc0a259d7640dda2",
"type": "sg_cdm_node_component",
"main_id": "742",
"name": "core_component",
"node_path": "!1+!1/!10!19!1;",
"effective_path": "!1+!1/!10!19!1;",
"main_id_encoded": "1;",
"node_classifier": "/application/deployables/dep:test_login_service",
"status": "valid",
"children": [
{
"_decryptPassword": true,
"sys_id": "921f22e6c3a27010cc0a259d7640dda3",
"type": "sg_cdm_node_cdi",
"main_id": "743",
"name": "user_name",
"node_path": "!1+!1/!10!19!1;!1<",
"value": "admin",
"effective_path": "!1+!1/!10!19!1;!1<",
"main_id_encoded": "1<",
"node_classifier": "/application/deployables/dep:test_login_service",
"status": "valid",
"children": [],
"hasParent": true
},
{
"_decryptPassword": true,
"sys_id": "5a1f22e6c3a27010cc0a259d7640dda3",
"type": "sg_cdm_node_cdi",
"main_id": "744",
"name": "user_password",
"node_path": "!1+!1/!10!19!1;!1?",
"value": "service12345",
"effective_path": "!1+!1/!10!19!1;!1?",
"main_id_encoded": "1?",
"node_classifier": "/application/deployables/dep:test_login_service",
"status": "valid",
"children": [],
"hasParent": true
}
],
"hasParent": true
}
],
"hasParent": true
}
],
"hasParent": false
}
CdmQuery – substativeVariable(Boolean-Ersatz)
Ermöglicht die Angabe, ob Variablenreferenzen in CDI-Knoten (Configuration Data Item) durch den Wert des referenzierten Variablenknotens ersetzt werden sollen.
| Name | Typ | Beschreibung |
|---|---|---|
| Ersatz | Boolean | Optional. Kennzeichnung, die angibt, ob Variablenreferenzen in CDI-Knoten durch den Wert des referenzierten Variablenknotens ersetzt werden sollen. Gültige Werte:
Standardwert: true |
| Typ | Beschreibung |
|---|---|
| Keine |
Die folgenden Codebeispiele zeigen, wie Sie die Ersetzung von Variablenreferenzen in CDI-Knoten deaktivieren.
var primarySnapshot = new sn_cdm.CdmQuery()
.snapshotId("20c365a2476c6110fd6ce977746d4336")
.substituteVariable(false)
.query()
.getTree(true, true);
gs.info(primarySnapshot);
Beispiel für Rückgabeergebnisse:
{
"paymentService-V1.1": {
"featureToggles": {
"paymentRefund": "enabled",
"myPreferredPaymentMethods": "enabled",
"invoicePrinting": "enabled",
"payOnDelivery": "disabled",
"payByVoucher": "enabled"
},
"vars": {
"paymentService": {
"database": {
"dbName": "paymentX_dev2",
"dbUserName": "root",
"dbPassword": "admin123",
"dbServer": "db22.paymentx.be",
"dbPort": "8050",
"dbIpAddress": "10.20.40.50",
"backup": {
"dbServer": "db23.paymentx.be"
}
}
},
"applicationSLA": "24x7"
},
"settings": {
"merchantId": "10334",
"paymentMethods": "1,3,5,6",
"allowed.billing.countries": "74,76,88,136,139,176,197",
"creditcards.cacf.type.ids": "43,44,45,46,48,49,50",
"creditcards.oney.type.ids": "33,34,35",
"included.availabilityids": "999",
"included.warrantiestypeids.cacf": "19002,19005,19006,19009,19010,19011,19014,19016",
"dbIPAddress": "@@paymentService/database/dbIpAddress@@",
"dbPort": "@@paymentService/database/dbPort@@",
"dbConnectionString": "@@paymentService/database/dbUserName@@:@@paymentService/database/dbPassword@@ @@paymentService/database/dbServer@@:@@paymentService/database/dbPort@@ @@paymentService/database/dbName@@",
"dbConnectionStringBackup": "@@paymentService/database/dbUserName@@:@@paymentService/database/dbPassword@@ @@paymentService/database/backup/dbServer@@ @@paymentService/database/dbName@@",
"paypal": "enabled",
"applePay": "disabled",
"ogone": "enabled"
}
}
}
Die folgenden Codebeispiele zeigen, wie Sie die Ersetzung von Variablenreferenzen in CDI-Knoten und die zugehörigen Rückgabeergebnisse für denselben Datensatz aktivieren.
var primarySnapshot = new sn_cdm.CdmQuery()
.snapshotId("20c365a2476c6110fd6ce977746d4336")
.substituteVariable(true)
.query()
.getTree(false, true);
gs.info(primarySnapshot);
Beispiel für Rückgabeergebnisse:
{
"paymentService-V1.1": {
"featureToggles": {
"paymentRefund": "enabled",
"myPreferredPaymentMethods": "enabled",
"invoicePrinting": "enabled",
"payOnDelivery": "disabled",
"payByVoucher": "enabled"
},
"vars": {
"paymentService": {
"database": {
"dbName": "paymentX_dev2",
"dbUserName": "root",
"dbPassword": "admin123",
"dbServer": "db22.paymentx.be",
"dbPort": "8050",
"dbIpAddress": "10.20.40.50",
"backup": {
"dbServer": "db23.paymentx.be"
}
}
},
"applicationSLA": "24x7"
},
"settings": {
"merchantId": "10334",
"paymentMethods": "1,3,5,6",
"allowed.billing.countries": "74,76,88,136,139,176,197",
"creditcards.cacf.type.ids": "43,44,45,46,48,49,50",
"creditcards.oney.type.ids": "33,34,35",
"included.availabilityids": "999",
"included.warrantiestypeids.cacf": "19002,19005,19006,19009,19010,19011,19014,19016",
"dbIPAddress": "10.20.40.50",
"dbPort": "8050",
"dbConnectionString": "root:admin123 db22.paymentx.be:8050 paymentX_dev2",
"dbConnectionStringBackup": "root:admin123 db23.paymentx.be paymentX_dev2",
"paypal": "enabled",
"applePay": "disabled",
"ogone": "enabled"
}
}
}
CdmQuery - useCache(Boolean useCache)
Ermöglicht die Angabe, ob Daten aus dem Cache abgerufen werden sollen, anstatt die Datenbank abzufragen.
| Name | Typ | Beschreibung |
|---|---|---|
| useCache | Boolean | Optional. Kennzeichnung, die angibt, ob Daten aus dem Cache abgerufen werden sollen, anstatt die Datenbank abzufragen, falls vorhanden. Gültige Werte:
Standardwert: true |
| Typ | Beschreibung |
|---|---|
| Keine |
Die folgenden Codebeispiele zeigen, wie Sie die Verwendung des Cache zum Abrufen von Daten deaktivieren.
var cdmQuery = new sn_cdm.CdmQuery()
.snapshotId("1a2fe2e6c3a27010cc0a259d7640dd59")
.decryptPassword(true)
.useCache(false)
.query();