HubDB

Last updated:
APPLICABLE PRODUCTS
  • Marketing Hub
    • Enterprise
  • CMS Hub
    • Professional or Enterprise

HubDB ist ein Tool, mit dem Sie Tabellen erstellen können, um Daten in Zeilen, Spalten und Zellen zu speichern, ähnlich wie in einer Kalkulationstabelle. Sie können die Spalten, Zeilen und anderen Einstellungen einer HubDB-Tabelle nach Ihren Bedürfnissen anpassen.

Auf HubDB-Tabellen kann sowohl innerhalb von HubSpot als auch über die HubDB-API zugegriffen werden. Sie können zum Beispiel eine HubDB-Tabelle verwenden, um Feedback von einem externen Mechanismus zu speichern und zu einem späteren Zeitpunkt abzurufen.

hubdb-tabelle-beispiel0HubDB-Daten können dann je nach Anwendungsfall auf unterschiedliche Weise abgerufen werden. Um Daten von einer HubDB-Tabelle abzurufen, können Sie:

  • Die Daten extern über die HubDB-API abrufen
  • Die Daten mithilfe der HubL-Markup-Tags von HubSpot in das CMS übernehmen
  • Die HubDB-API mit serverlosen Funktionen verwenden, um ein interaktives Web-App-Erlebnis zu bieten

Bitte beachten: Wenn Sie einen Marketing Hub Enterprise-Account haben, können Sie HubDB zum Rendern von Inhalten in Marketing-E-Mails verwenden. Sie können jedoch nicht Kontakteigenschaften verwenden, um HubDB-Tabellen in E-Mails zu filtern. 

Um HubDB-Daten in Seiten zu verwenden, benötigen Sie CMS-Hub Professional oder Enterprise.

Zugriff auf HubDB

Es gibt zwei Typen von Zugriffsrechten, die Sie einem Benutzer zuweisen können, damit er HubDB nutzen kann. Diese beiden Einstellungen befinden sich im Berechtigungsbereich eines Benutzers. Um Zugriff zuzuweisen, gehen Sie zu „Einstellungen“ > „Benutzer & Teams“ und bewegen Sie den Mauszeiger über einen Benutzer. Wählen Sie dann im Menü „Aktionen“ die Option „Bearbeiten“ aus.

Technische Beschränkungen von HubDB

  • 10.000 Zeilen pro HubDB-Tabelle
  • 1.000 HubDB-Tabellen pro Account
  • 10 Tabellenscans pro CMS-Seite. Definiert als ein einzelner Aufruf von hubdb_table_rows()
  • Allgemeine API-Limits von HubSpot
  • HubDBs mit aktivierten dynamischen Seiten müssen über Pfade in Kleinbuchstaben verfügen. Dadurch kann bei den URLs zu diesen Seiten zwischen Groß- und Kleinschreibung unterschieden werden.

Erstellen Ihrer ersten Tabelle

Öffnen Sie die HubDB-Editor-App und klicken Sie auf die Schaltfläche „Tabelle erstellen“ (oder verwenden Sie den Endpunkt „Tabelle erstellen“ der API).
Hinweis: Alle neu erstellten Tabellen erhalten den Status eines Entwurfs. Sie können erst dann zur Ausgabe von Daten über HubL oder API verwendet werden, wenn Sie die Tabelle veröffentlichen.

Erstellen Sie eine neue HubDB-Tabelle, indem Sie auf die Schaltfläche „Tabelle erstellen“ klicken.

Berechtigungseinstellungen für Tabellen festlegen

Sie können die Einstellungen Ihrer HubDB-Tabellen verwalten, indem Sie auf „Aktionen“ und dann auf „Einstellungen verwalten“ klicken. Die folgenden Einstellungen sind verfügbar:

  • Öffentlichen API-Zugriff zulassen: [Standardmäßig aktiviert] Wenn diese Option deaktiviert ist, können Ihre Tabelleninhalte nur in der App oder mit authentifizierten APIs angezeigt werden. Wenn diese Option aktiviert ist, kann Ihre Tabelle von nicht authentifizierten APIs abgefragt werden.
  • Erstellen dynamischer Seiten mithilfe von Zeilendaten aktivieren: Mit dynamischen Seiten können Sie für jede Zeile Ihrer Datentabelle eine individuelle Seite erstellen. Wenn Sie diese Option aktivieren, können Sie die Spalten Ihrer HubDB-Tabelle auswählen, die als Quelle für Ihre Meta-Beschreibung, Ihr Feature-Bild und Ihre kanonische URL dienen sollen.
So rufen Sie den Einstellungsbereich für Ihre Tabelle auf.

HubDB-Architektur

Tabellen

Eine Tabelle ist eine 2-dimensionale Anordnung von Zeilen und Spalten. Wenn eine Tabelle erstellt wird, erhält sie eine global eindeutige ID, mit der sie identifiziert werden kann. 

Zeilen

Zeilen sind horizontale Segmente einer Tabelle. Alle Werte in einer Zeile sind miteinander verbunden, in der Regel mit einer einzigen primären ID. In einer Kalkulationstabellenanwendung werden Zeilen durch Zahlen dargestellt, mit 1 beginnend. Jeder Tabellenzeile wird bei der Erstellung eine global eindeutige ID zugewiesen. 

Spalten

Spalten sind vertikale Segmente einer Tabelle. Jede Spalte hat einen Typ. In einer Kalkulationstabellenanwendung werden sie durch alphabetische Spalten wie A, B, C usw. dargestellt. Es gibt zwei Typen von Tabellenspalten:

Integrierte Spalten

Jede Zeile in einer Tabelle hat eine Reihe von integrierten Spalten:

Use this table to describe parameters / fields
SpalteDescription
hs_id

Eine automatisch zugewiesene, global eindeutige, numerische ID für diese Zeile.

hs_created_at

Ein Zeitstempel, wann diese Zeile erstellt wurde.

hs_path

Bei Verwendung mit dynamischen Seiten ist diese Zeichenfolge das letzte Segment des Pfades der URL für die Seite.

hs_name

Bei Verwendung mit dynamischen Seiten ist dies der Titel der Seite.

Benutzerdefinierte Spalten

Hinweis: Seit dem 1. Oktober 2020 sind die Spalten des Rich-Text-Bereichs in HubDB auf 65.000 Zeichen begrenzt. Weitere Informationen zu dieser Änderung finden Sie in unserem Änderungsprotokoll.

Tabellen können so viele benutzerdefinierte Spalten aufweisen, wie Sie möchten. Dabei kann es sich um Text, Rich-Text, Zahlen, Währungen, Daten, Zeiten, Bilder, Videos, Auswahlen oder Orte (Längen- und Breitengrad) handeln. 

Wenn eine Spalte erstellt wird, erhält sie eine für die Tabelle eindeutige numerische ID, beginnend mit dem Wert 1. Die Spalten-IDs sind aufsteigend, aber nicht unbedingt fortlaufend. Spalten-IDs können nicht wiederverwendet werden. Wenn also eine Tabelle zwei Spalten hat, 1 und 2, und die zweite Spalte gelöscht wird, hat die nächste Spalte, die erstellt wird, die ID 3.

Zellen

In den Zellen werden die Werte gespeichert, bei denen sich eine Zeile und eine Spalte überschneiden. Zellen können einzeln oder als Teil einer Zeile gelesen oder aktualisiert werden. Den Wert einer Zelle auf null festlegen ist gleichbedeutend mit dem Löschen des Wertes der Zelle.

HubDB-Daten mithilfe von HubL aufrufen

Abrufen von Zeilen

Sie können Tabellen von HubL abfragen und über die Ergebnisse iterieren. Um Zeilen einer Tabelle aufzulisten, verwenden Sie die HubL-Funktion hubdb_table_rows(). Sie können auf eine Tabelle entweder über ihre ID oder ihren Namen zugreifen. Es wird empfohlen, eine HubDB-Tabelle nach ihrem Namen zu referenzieren, da dies die Übertragbarkeit des Codes über verschiedene HubSpot-Accounts hinweg erleichtern kann. Der unveränderliche Tabellenname wird bei der Erstellung einer neuen Tabelle festgelegt und kann jederzeit durch Auswahl von „Aktionen“ > „Einstellungen verwalten“ im Tabellen-Editor gefunden werden. Die ID einer Tabelle finden Sie in der Adressleiste des Tabellen-Editors oder im HubDB-Tabellen-Dashboard in der Spalte „ID“. 

Screenshot des Modalfensters „Tabelle erstellen“

Nachfolgend finden Sie ein Beispiel für die Verwendung von hubdb_table_rows() zum Abrufen von Daten.

{% for row in hubdb_table_rows(<tableId or name>, <filterQuery>) %} the value for row {{ row.hs_id }} is {{ row.<column name> }} {% endfor %}

<filterQuery> verwendet die gleiche Syntax wie die HTTP-API. Zum Beispiel hubdb_table_rows(123, „mitarbeiter__gt=10&orderBy=count") würde eine Liste der Zeilen zurückgeben, in denen die Spalte „Mitarbeiter“ größer als 10 ist, geordnet nach der Spalte „Anzahl“. Eine vollständige Liste der optionalen <filterQuery>-Parameter finden Sie hier.

HINWEIS: Anstatt mehrere Zeilenabfragen mit unterschiedlichen <filterQuery>-Parametern zu verwenden, sollten Sie eine einzige Abfrage erstellen und die Filter selectattr() oder rejectattr() verwenden, um Ihre Zeilen zu filtern:

{% set all_cars = hubdb_table_rows(<tableId or name>) %} {% set cars_with_windows = all_cars|selectattr('windows') %} {% set teslas = all_cars|selectattr('make','equalto','tesla') %}

Um eine einzelne Zeile abzurufen, verwenden Sie die HubL-Funktion hubdb_table_row().

{% set row = hubdb_table_row(<tableId or name>, <rowId>) %} the value for {{ row.hs_id }} is {{ row.<column name> }}

Bei integrierten und benutzerdefinierten Spaltennamen wird nicht zwischen Groß- und Kleinschreibung unterschieden. HS_ID funktioniert dabei genauso hs_id.

Zeilenattribute
Use this table to describe parameters / fields
AttributDescription
row.hs_id

Die global eindeutige ID für diese Zeile.

row.hs_path

Bei dynamischen Seiten ist diese Zeichenfolge der Spaltenwert „Seitenpfad“ und das letzte Segment des Pfades der URL.

row.hs_name

Bei der Verwendung dynamischer Seiten ist diese Zeichenfolge der Wert der Spalte „Seitentitel“ für die Zeile.

row.hs_created_at

Unix-Zeitstempel für den Zeitpunkt, zu dem die Zeile erstellt wurde.

row.hs_child_table_id

Bei der Verwendung dynamischer Seiten ist dies die ID der anderen Tabelle, die die Daten für die Zeile auffüllt.

row.column_name

Ruft den Wert der benutzerdefinierten Spalte anhand des Namens der Spalte ab.

row["column name"]

Ruft den Wert der benutzerdefinierten Spalte anhand des Namens der Spalte ab.

Abrufen von Tabelleninformationen

Um Informationen zu einer Tabelle zu erhalten, einschließlich ihres Namens, ihrer Spalten, der letzten Aktualisierung usw., verwenden Sie die hubdb_table()-Funktion.

{% set table_info = hubdb_table(<tableId or name>) %}
table-Attribute

Die unten aufgeführten Attribute beziehen sich auf die Variable, der hubdb_table() im obigen Code zugewiesen wurde. Ihre Variable kann abweichen.
Hinweis: Es wird empfohlen, dies zur einfacheren Verwendung einer Variablen zuzuweisen. Wenn Sie das nicht tun möchten, können Sie auch folgenden Code verwenden:
{{ hubdb_table(<tableId>).attribute }}

Use this table to describe parameters / fields
AttributDescription
table_info.id

Die ID der Tabelle.

table_info.name

Der Name der Tabelle.

table_info.columns

Liste von Spalteninformationen. Sie können eine for-Schleife verwenden, um die in diesem Attribut verfügbaren Informationen zu durchsuchen.

table_info.created_at

Zeitstempel des Zeitpunkts, zu dem die Tabelle erstmals erstellt wurde.

table_info.published_at

Zeitstempel des Zeitpunkts, zu dem diese Tabelle veröffentlicht wurde.

table_info.updated_at

Zeitstempel des Zeitpunkts, zu dem diese Tabelle zuletzt aktualisiert wurde.

table_info.row_count

Anzahl der Zeilen in der Tabelle.

Abrufen von Spalteninformationen

{% set table_info = hubdb_table_column(<tableId or name>, <columnId or column name>) %}

Um Informationen zu einer Spalte in einer Tabelle abzurufen, z. B. ihr Label, ihren Typ und ihre Optionen, verwenden Sie die hubdb_table_column()-Funktion.

column-Attribute

Die unten aufgeführten Attribute beziehen sich auf die Variable, der hubdb_table_column() im obigen Code zugewiesen wurde. Ihre Variable kann abweichen.
Hinweis: Es wird empfohlen, dies zur einfacheren Verwendung einer Variablen zuzuweisen. Wenn Sie das nicht tun möchten, können Sie auch folgenden Code verwenden:
{{ hubdb_table_column(<tableId>,<columnId or column name>).attribute }}

Use this table to describe parameters / fields
AttributDescription
table_info.id

Die ID der Spalte.

table_info.name

Der Name der Spalte.

table_info.label

Das für die Spalte zu verwendende Label.

table_info.type

Typ dieser Spalte.

table_info.options

Für den select-Spaltentyp ist dies eine Zuordnung von optionId zu option-Informationen.

table_info.foreignIds

Bei foreignId-Spaltentypen ist dies eine Liste von foreignIds (mit id- und name-Eigenschaften).

Spaltenmethoden
Use this table to describe parameters / fields
MethodeDescription
getOptionByName("<option name")

Rufen Sie bei select-Spaltentypen Optionsinformationen über den Optionsnamen ab.

Rich-Text-Spalten

Der richtext-Spaltentyp funktioniert ähnlich wie das Rich-Text-Feld für Module. Die Daten werden in HTML gespeichert, und die HubDB-UI bietet eine Textbearbeitungsoberfläche. Ein deutlicher Unterschied ist jedoch, dass die HubDB-UI keine direkte Quellcodebearbeitung für die Rich-Text-Felder ermöglicht. Dies verhindert Situationen, in denen ein technisch nicht versierter Benutzer ungültige HTML-Daten eingeben könnte, und beugt so unbeabsichtigten Problemen mit dem Erscheinungsbild oder der Funktionalität Ihrer Website vor. Für Situationen, in denen Sie einen Einbettungscode oder mehr benutzerdefinierten HTML-Code benötigen, können Sie die Einbettungsfunktion im Rich-Text-Editor verwenden, um Ihren benutzerdefinierten Code zu platzieren. 

Verwendung der HubDB REST-APIs

Wenn Sie Ihre HubDB-Daten extern oder mithilfe von serverlosen Funktionen verwalten möchten, können Sie unsere REST-APIs verwenden, die Sie hier finden.


War dieser Artikel hilfreich?
Dieses Formular dient dazu, Feedback zu unserer Entwicklerdokumentation zu sammeln. Wenn Sie uns Ihre Meinung zu HubSpot-Produkten mitteilen möchten, teilen Sie diese bitte im Ideenforum der Community.