{"meta":{"title":"Datenbank-Indexdateien","intro":"[Infrastruktur] Indiziere eigenständige Dateien mit einem angegebenen CodeQL-Extraktor.","product":"Sicherheit und Codequalität","breadcrumbs":[{"href":"/de/code-security","title":"Sicherheit und Codequalität"},{"href":"/de/code-security/reference","title":"Reference"},{"href":"/de/code-security/reference/code-scanning","title":"Codeüberprüfung"},{"href":"/de/code-security/reference/code-scanning/codeql","title":"CodeQL"},{"href":"/de/code-security/reference/code-scanning/codeql/codeql-cli-manual","title":"CodeQL CLI-Leitfaden"},{"href":"/de/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-index-files","title":"Datenbank-Indexdateien"}],"documentType":"article"},"body":"# Datenbank-Indexdateien\n\n\\[Infrastruktur] Indiziere eigenständige Dateien mit einem angegebenen CodeQL-Extraktor.\n\n## Zusammenfassung\n\n```shell copy\ncodeql database index-files --language=<lang> [--threads=<num>] [--ram=<MB>] [--extractor-option=<extractor-option-name=value>] <options>... -- <database>\n```\n\n## Description\n\n```\n          \\[[Infrastruktur] Indiziere eigenständige Dateien mit einem angegebenen CodeQL-Extraktor.\n```\n\nDieser Befehl wählt eine Gruppe von Dateien im angegebenen Arbeitsverzeichnis aus und wendet den angegebenen Extraktor auf sie an. Standardmäßig werden alle Dateien ausgewählt. Bei typischen Aufrufen werden Optionen angegeben, um die eingeschlossenen Dateien einzuschränken.\n\nFür die Optionen `--include`, `--exclude` und `--prune` können jeweils Globmuster mit folgenden Platzhalterzeichen angegeben werden:\n\n* Ein einzelnes Fragezeichen (?) entspricht einem beliebigen Zeichen (mit Ausnahme eines Schrägstrichs oder eines umgekehrten Schrägstrichs).\n* Ein einzelnes Sternchen (\\*) entspricht einer beliebigen Anzahl von Zeichen (mit Ausnahme eines Schrägstrichs oder eines umgekehrten Schrägstrichs).\n* Das Muster „\\*\\*“ entspricht null oder mehr vollständigen Verzeichniskomponenten.\n\n## Options\n\n### Primäre Optionen\n\n#### `<database>`\n\n```\n          \\[Obligatorisch] Pfad zur CodeQL-Datenbank, die sich im Aufbau befindet. Dieser muss für die Extraktion mit [codeql database init](/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-init) vorbereitet sein.\n```\n\n#### `-l, --language=<lang>`\n\n```\n          \\[Obligatorisch] Der Extraktor, der zum Indizieren entsprechender Dateien verwendet werden soll.\n```\n\n#### `-j, --threads=<num>`\n\nDient zum Festlegen der Anzahl von Threads, die der Extraktor verwenden soll. Diese Option wird als Vorschlag an den Extraktor übergeben. Wenn die Umgebungsvariable „CODEQL\\_THREADS“ festgelegt wird, hat der Wert der Umgebungsvariablen Vorrang vor dieser Option.\n\nDu kannst 0 übergeben, um jeweils einen Thread pro Kern auf dem Computer zu verwenden, oder -*N*, um *N* Kerne ungenutzt zu lassen. (Es wird allerdings immer noch mindestens ein Thread verwendet.)\n\n#### `-M, --ram=<MB>`\n\nDient zum Festlegen der Arbeitsspeichermenge, die der Extraktor verwenden soll. Diese Option wird als Vorschlag an den Extraktor übergeben. Wenn die Umgebungsvariable „CODEQL\\_RAM“ festgelegt wird, hat der Wert der Umgebungsvariablen Vorrang vor dieser Option.\n\n#### `--working-dir=<dir>`\n\n```\n          \\[Erweitert] Das Verzeichnis, in dem der angegebene Befehl ausgeführt werden soll. Ohne Angabe dieses Arguments wird der Befehl in dem Wert von `--source-root` ausgeführt, der an [codeql database create](/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-create) übergeben wird (sofern vorhanden). Ohne Angabe des Arguments `--source-root` wird der Befehl im aktuellen Arbeitsverzeichnis ausgeführt.\n```\n\n### Optionen zum Steuern des Extraktorverhaltens\n\n#### `-O, --extractor-option=<extractor-option-name=value>`\n\nLegt Optionen für CodeQL-Extraktoren fest.\n`extractor-option-name` muss im Format „Extraktor”\\_name.group1.group2.option\\_name or group1.group2.option\\_-Name angegeben werden. Wenn `extractor_option_name` mit einem Extraktornamen beginnt, muss der angegebene Extraktor die Option „group1.group2.option“\\_-Name deklarieren. Andernfalls wird die Option für jeden Extraktor festgelegt, der die Option „group1.group2.option“\\_-Name deklariert.\n`value` kann eine beliebige Zeichenfolge ohne Zeilenumbruch sein.\n\nDiese Befehlszeilenoption kann wiederholt verwendet werden, um mehrere Extraktoroptionen festzulegen. Wenn du mehrere Werte für die gleiche Extraktoroption angibst, hängt das Verhalten von dem Typ ab, den die Extraktoroption erwartet. Bei Zeichenfolgenoptionen wird der zuletzt angegebene Wert verwendet. Bei Arrayoptionen werden alle angegebenen Werte der Reihe nach verwendet. Mit dieser Befehlszeilenoption angegebene Extraktoroptionen werden nach Extraktoroptionen verarbeitet, die über `--extractor-options-file` angegeben wurden.\n\nBei Übergabe an [codeql database init](/de/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-init) oder `codeql database begin-tracing` werden die Optionen nur auf die indirekte Ablaufverfolgungsumgebung angewendet. Wenn dein Workflow auch Aufrufe an [codeql database trace-command](/de/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-trace-command) sendet, müssen die Optionen auch dorthin übergeben werden, falls gewünscht.\n\nWeitere Informationen zu CodeQL-Extraktoroptionen finden Sie unter <https://codeql.github.com/docs/codeql-cli/extractor-options>. Dort erfahren Sie unter anderem, wie du die von den einzelnen Extraktoren deklarierten Optionen auflisten kannst.\n\n#### `--extractor-options-file=<extractor-options-bundle-file>`\n\nDient zum Angeben von Paketdateien für Extraktoroptionen. Eine Paketdatei für Extraktoroptionen ist eine JSON-Datei (Erweiterung `.json`) oder eine YAML-Datei (Erweiterung `.yaml` oder `.yml`), die Extraktoroptionen festlegt. Die Datei muss über den Zuordnungsschlüssel „Extraktor“ der obersten Ebene und darunter über Extraktornamen als Zuordnungsschlüssel der zweiten Ebene verfügen. Weitere Zuordnungsebenen stellen geschachtelte Extraktorgruppen dar, und Zeichenfolgen- und Arrayoptionen sind Zuordnungseinträge mit Zeichenfolgen- und Arraywerten.\n\nPaketdateien für Extraktoroptionen werden in der angegebenen Reihenfolge gelesen.\nWenn verschiedene Paketdateien für Extraktoroptionen die gleiche Extraktoroption angeben, hängt das Verhalten von dem Typ ab, den die Extraktoroption erwartet. Bei Zeichenfolgenoptionen wird der zuletzt angegebene Wert verwendet. Bei Arrayoptionen werden alle angegebenen Werte der Reihe nach verwendet. Mit dieser Befehlszeilenoption angegebene Extraktoroptionen werden vor Extraktoroptionen verarbeitet, die über `--extractor-option` angegeben wurden.\n\nBei Übergabe an [codeql database init](/de/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-init) oder `codeql database begin-tracing` werden die Optionen nur auf die indirekte Ablaufverfolgungsumgebung angewendet. Wenn dein Workflow auch Aufrufe an [codeql database trace-command](/de/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-trace-command) sendet, müssen die Optionen auch dorthin übergeben werden, falls gewünscht.\n\nWeitere Informationen zu CodeQL-Extraktoroptionen finden Sie unter <https://codeql.github.com/docs/codeql-cli/extractor-options>. Dort erfahren Sie unter anderem, wie du die von den einzelnen Extraktoren deklarierten Optionen auflisten kannst.\n\n### Optionen zum Einschränken der Gruppe von indizierten Dateien\n\n#### `--include-extension=<.ext>`\n\nDient zum Einschließen aller Dateien in der Suchverzeichnisstruktur, die über die angegebene Erweiterung verfügen. In der Regel muss der Punkt vor der Erweiterung mit angegeben werden.\nWenn du also beispielsweise `--include-extension .xml` übergibst, werden alle Dateien mit der Erweiterung „.xml“ eingeschlossen. Diese Option ist nicht mit negierten Optionen vom Typ `--include` kompatibel.\n\n#### `--include=<glob>`\n\nDient zum Einschließen aller Dateien und Verzeichnisse in der Suchverzeichnisstruktur, die dem angegebenen Glob entsprechen. Hierbei wird der relative Pfad der jeweiligen Datei und des jeweiligen Verzeichnisses aus dem Suchverzeichnis verwendet. Wenn das Glob mit einem Ausrufezeichen (`!`) beginnt, werden die entsprechenden Dateien und Verzeichnisse stattdessen ausgeschlossen.\n\n```\n          `--include`-Optionen vom Typ werden der Reihe nach verarbeitet, und frühere Optionen werden durch spätere Optionen überschrieben. \n          `--include ** --include !sub/*.ts --include sub/main.*` würde beispielsweise `sub/main.ts` einschließen (da durch `sub/main.*` eingeschlossen), `sub/index.ts` ausschließen (da durch `!sub/*.ts` ausgeschlossen) und `sub/test.js` einschließen (da durch `**` eingeschlossen, ohne nachträglich ausgeschlossen zu werden).\n```\n\n#### `--also-match=<glob>`\n\nDient zum Festlegen, dass alle Ergebnisse auch dem angegebenen Glob entsprechen müssen, wobei der relative Pfad der jeweiligen Datei und des jeweiligen Verzeichnisses aus dem Suchverzeichnis verwendet wird. Diese Option hat die gleiche Struktur und die gleiche Interpretation wie `--include`, gibt aber eine separate Sequenz von Globs an, die zusammen mit `--include` angewendet werden.\n\n#### `--exclude=<glob>`\n\nDient zum Ausschließen aller Dateien und Verzeichnisse, die dem angegebenen Glob entsprechen. Hierbei wird der relative Pfad der jeweiligen Datei und des jeweiligen Verzeichnisses aus dem Suchverzeichnis verwendet. Diese Option überschreibt alle Optionen vom Typ „include“. Diese Option ist nicht mit negierten Optionen vom Typ `--include` kompatibel.\n\n#### `--prune=<glob>`\n\nDient zum Ausschließen aller Dateien und Verzeichnisse, die dem angegebenen Glob entsprechen. Hierbei wird der relative Pfad der jeweiligen Datei und des jeweiligen Verzeichnisses aus dem Suchverzeichnis verwendet. Diese Option überschreibt alle Optionen vom Typ „include“. Diese Option ist nicht mit negierten Optionen vom Typ `--include` kompatibel.\n\n#### `--size-limit=<bytes>`\n\nDient zum Ausschließen aller Dateien, deren Größe den angegebenen Grenzwert übersteigt. Das Größenlimit wird in Bytes angegeben, kann mit dem Suffix „k“ aber auch in Kibibytes (KiB), mit dem Suffix „m“ in Mebibytes (MiB) und mit dem Suffix „g“ in Gibibytes (GiB) angegeben werden. Diese Option überschreibt alle Optionen vom Typ „include“.\n\n#### `--total-size-limit=<bytes>`\n\nSorgt dafür, dass der Befehl mit einem Fehler beendet wird, wenn die kombinierte Größe aller aufgelösten Dateien den angegebenen Grenzwert übersteigen würde. Das Größenlimit wird in Bytes angegeben, kann mit dem Suffix „k“ aber auch in Kibibytes (KiB), mit dem Suffix „m“ in Mebibytes (MiB) und mit dem Suffix „g“ in Gibibytes (GiB) angegeben werden.\n\n#### `--[no-]follow-symlinks`\n\nDient zum Festlegen, dass allen ggf. vorhandenen symbolischen Verknüpfungen zu ihren Zielen gefolgt werden soll.\n\n#### `--[no-]find-any`\n\nDient zum Festlegen, dass maximal eine Übereinstimmung gefunden werden soll (im Gegensatz zu allen Übereinstimmungen).\n\nVerfügbar seit `v2.11.3`.\n\n### Allgemeine Optionen\n\n#### `-h, --help`\n\nZeigt diesen Hilfetext an.\n\n#### `-J=<opt>`\n\n```\n          \\[Erweitert] Dient zum Angeben einer Option für die JVM-Instanz, die den Befehl ausführt.\n```\n\n(Beachte, dass Optionen, die Leerzeichen enthalten, nicht ordnungsgemäß verarbeitet werden.)\n\n#### `-v, --verbose`\n\nErmöglicht die inkrementelle Erhöhung der Anzahl ausgegebener Statusmeldungen.\n\n#### `-q, --quiet`\n\nErmöglicht die inkrementelle Verringerung der Anzahl ausgegebener Statusmeldungen.\n\n#### `--verbosity=<level>`\n\n```\n          \\[Erweitert] Dient zum expliziten Festlegen des Ausführlichkeitsgrads auf „errors“, „warnings“, „progress“, „progress+“, „progress++“ oder „progress+++“. Überschreibt `-v` und `-q`:\n```\n\n#### `--logdir=<dir>`\n\n```\n          \\[Erweitert] Ermöglicht das Schreiben detaillierter Protokolle in eine oder mehrere Dateien im angegebenen Verzeichnis mit generierten Namen, die Zeitstempel und den Namen des ausgeführten Unterbefehls enthalten.\n```\n\n(Um eine Protokolldatei mit einem Namen zu schreiben, über den du die volle Kontrolle hast, gib stattdessen `--log-to-stderr` an, und leite stderr wie gewünscht um.)\n\n#### `--common-caches=<dir>`\n\n```\n          \\[Erweitert] Steuert den Speicherort zwischengespeicherter Daten auf dem Datenträger, der zwischen mehreren Ausführungsvorgängen der CLI beibehalten wird, z. B. heruntergeladene QL-Pakete und kompilierte Abfragepläne. Wenn dies nicht explizit festgelegt ist, wird dieses Verzeichnis standardmäßig auf ein Verzeichnis mit dem Namen `.codeql` festgelegt, das sich im Startverzeichnis des Benutzer. Es wird erstellt, wenn es noch nicht vorhanden ist.\n```\n\nVerfügbar seit `v2.15.2`."}