HubDB

Last updated:
APPLICABLE PRODUCTS
  • Marketing Hub
    • Enterprise
  • Content 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. Sie könnten beispielsweise eine HubDB-Tabelle verwenden, um:

  • Feedback von einem externen Mechanismus zu speichern und zu einem späteren Zeitpunkt abzurufen.
  • strukturierte Daten zu speichern, mit denen Sie dynamische CMS-Seiten erstellen können (nur CMS Hub Professional und Enterprise).
  • Daten zur Verwendung in programmierbaren E-Mail-Inhalten zu speichern (nur Marketing Hub Enterprise).

hubdb-tabelle-beispiel0Auf HubDB-Tabellen kann sowohl innerhalb von HubSpot als auch über die HubDB-API zugegriffen werden, und Sie können die Daten einer Tabelle auf mehrere Arten abrufen, je nach Ihrem Anwendungsfall. 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 als strukturierte Inhalte in das CMS übernehmen
  • Die HubDB-API mit serverlosen Funktionen verwenden, um ein interaktives Web-App-Erlebnis zu bieten

Bitte beachten:

HubDB-Architektur

Eine HubDB-Tabelle besteht aus Zeilen, Spalten und Zellen, ähnlich einer Kalkulationstabelle.

  • Tables: Eine Tabelle ist eine 2-dimensionale Anordnung von Zeilen und Spalten. Wenn eine Tabelle erstellt wird, wird ihr eine global eindeutige ID zugewiesen, die Sie verwenden können, wenn Sie eine Tabelle in HubL oder über die API angeben müssen.
  • Zeilen: Zeilen sind horizontale Segmente einer Tabelle. In einer Kalkulationstabellenanwendung werden Zeilen durch Zahlen dargestellt, mit 1 beginnend. Jeder Tabellenzeile wird bei der Erstellung eine global eindeutige ID zugewiesen. Jede Zeile in einer Tabelle enthält standardmäßig einige 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.

Bitte beachten: Die Spalten des Rich-Text-Bereichs sind in HubDB auf 65.000 Zeichen begrenzt. Weitere Informationen hierzu finden Sie in der Ankündigung in unserem Änderungsprotokoll.

  • Spalten: Spalten sind vertikale Segmente einer Tabelle. Jede Spalte hat einen Typ, der zum Speichern von Typen von Daten verwendet wird. Eine Tabelle kann beliebig viele Spalten enthalten, und jeder Spalte wird bei der Erstellung eine global eindeutige ID zugewiesen.  Die Spalten-ID beginnt bei einem Wert von 1, ist jedoch nicht unbedingt sequentiell und kann nicht wiederverwendet werden. Zu den Spaltentypen gehören: 
    • Text
    • Rich-Text
    • URL
    • Bild
    • Auswahl
    • Mehrfachauswahl
    • Datum
    • Datum und Uhrzeit
    • Zahl
    • Währung
    • Kontrollkästchen
    • Ort (Längengrad, Breitengrad)
    • Fremd-ID
    • Video
  • Zellen: In 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.

Technische Beschränkungen von HubDB

Beachten Sie die folgenden technischen HubDB-Beschränkungen:

  • Account-Beschränkungen:
    • 1.000 HubDB-Tabellen pro Account
    • 1 Million HubDB-Zeilen pro Account
  • Tabellenbeschränkungen:
    • 250 Spalten pro Tabelle
    • 10.000 Zeilen pro HubDB-Tabelle
    • 700 Zeichen pro Tabellenname
    • 700 Zeichen pro Tabellenlabel
  • Spaltenbeschränkungen:
    • 65.000 Zeichen pro Rich-Text-Spalte
    • 10.000 Zeichen in jedem Textspalte
    • 700 Zeichen pro Spaltenname
    • 700 Zeichen pro Label
    • 300 Zeichen pro Spaltenbeschreibung
    • 700 Zeichen pro auswählbarer Option innerhalb einer Spalte
  • Seitenbeschränkungen:
    • 10 Aufrufe der hubdb_table_rows-HubL-Funktion pro CMS-Seite
    • 10 dynamische Seiten, die dieselbe HubDB-Tabelle verwenden
    • HubDBs mit aktivierten dynamischen Seiten müssen über Pfade in Kleinbuchstaben verfügen., damit bei URLs zu diesen Seiten nicht zwischen Groß- und Kleinschreibung unterschieden muss.

Eine HubDB-Tabelle erstellen

Sie können HubDB-Tabellen entweder über die Benutzeroberfläche von HubSpot oder über die HubDB-API erstellen.

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. Beim Erstellen einer Tabelle können Sie auch deren Einstellungen verwalten, z. B. öffentlichen API-Zugriff zulassen und ob deren Daten zum Erstellen dynamischer Seiten verwendet werden.

Mehrere HubDB-Tabellen verbinden

HubDB-Tabellen können mit dem Spaltentyp „Fremd-ID“ verbunden werden, mit dem Sie die kombinierten Daten aus mehreren Tabellen rendern können. Dies kann hilfreich sein, wenn einige Daten über mehrere Datenspeicher hinweg gemeinsam genutzt werden können, wodurch eine zentrale Datentabelle dieser Informationen ermöglicht wird, auf die dann über mehrere andere HubDB-Tabellendatenspeicher hinweg zugegriffen werden kann.

Im Folgenden erfahren Sie mehr über das Verbinden mehrerer HubDB-Tabellen.

1. Eine „Fremd-ID“-Spalte zur Haupttabelle hinzufügen

  • Gehen Sie in Ihrem HubSpot-Account zu Marketing > Dateien und Vorlagen > HubDB.
  • Suchen Sie die Tabelle, der Sie eine Tabellenverbindung hinzufügen möchten, klicken Sie auf das Dropdown-Menü Aktionen und wählen Sie dann Bearbeiten aus.
  • Klicken Sie oben rechts auf Bearbeiten und wählen Sie dann Spalte hinzufügen aus.
  • Geben Sie ein Label und einen Namen für die neue Spalte ein.
  • Klicken Sie auf das Dropdown-Menü Spaltentyp und wählen Sie Fremd-ID aus.
  • Klicken Sie auf das Dropdown-Menü Tabelle auswählen und wählen Sie die Tabelle aus, der Sie mit Ihrer aktuellen Tabelle verbinden möchten.
  • Klicken Sie auf das Dropdown-Menü Spalte auswählen und wählen Sie dann die Spalte von der von Ihnen ausgewählten Verbindungstabelle aus, die im Feld „Fremd-ID“ angezeigt werden soll.
  • Klicken Sie auf Spalte hinzufügen.

Bitte beachten: Der von Ihnen für Spalte auswählen gewählte Wert bestimmt nur, welcher Spaltenwert im Feld „Fremd-ID“ in der HubDB-Benutzeroberfläche angezeigt wird. Beim Rendern der verbundenen HubDB-Tabellen stehen alle Tabellenspalten zur Verfügung.

hubdb_foreign_id

2. Fremdtabellenzeilen zu den Zeilen Ihrer Tabelle hinzufügen

Jetzt, da Sie eine Fremd-ID-Spalte haben, haben Sie in jeder Zeile in Ihrer HubDB-Tabelle ein Mehrfachauswahl-Spaltenfeld, mit dem Sie die Zeilen einer Fremdtabelle auswählen können.

Das von Ihnen gewählte Feld Spalte auswählen wird in diesem Mehrfachauswahlfeld verwendet, um zu ermitteln, welche Zeile Sie aus der Fremdtabelle auswählen. Im folgenden Beispiel sind die Mehrfachauswahlwerte für das Feld Expertise Table Join die Werte, die in der Spalte Name der fremden HubDB-Tabelle verfügbar sind.

hubdb_foreign_id_ui

Bitte beachten: Sie können das Feld Spalte auswählen Ihrer Fremd-ID-Spalte ohne Bedenken bearbeiten. Dabei wird einfach aktualisiert, von welcher Spalte die Werte in der HubDB-Benutzeroberfläche angezeigt werden.

3. Ihre verbundenen HubDB-Tabellendaten rendern

Sämtliche Zeilendaten einer fremden Tabelle sind über HubL zum Rendern aufrufbar, nicht nur das Feld Spalte auswählen. Auf HubDB-Fremdzeilendaten kann mithilfe einer verschachtelten for-Schleife zugegriffen werden, die alle Fremdzeilen durchläuft, die einer einzelnen Zeile zugeordnet sind.

HubL
{% for row in hubdb_table_rows(tableId, filterQuery) %}
  the name for row {{ row.hs_id }} is {{ row.name }}
  {% for foreign_row in row.foreign_table %}
  	the name for foreign row {{ foreign_row.hs_id }} is {{ foreign_row.name }}
  {% endfor %}
{% endfor %}

HubDB-Daten mithilfe von HubL aufrufen

Mithilfe von HubL können Sie HubDB-Daten abrufen, um sie als strukturierte Inhalte auf Website-Seiten zu verwenden. Im Folgenden erfahren Sie mehr über das Abrufen von Tabellen-, Zeilen- und Spaltendaten mithilfe von HubL.

Bitte beachten: Entworfene HubDB-Tabellendaten werden im Seiteneditor und in Live-Vorschauen angezeigt, aber nur veröffentlichte HubDB-Inhalte werden auf der Live-Seite angezeigt. Wenn Tabellendaten im Editor oder in der Vorschau angezeigt werden, die nicht auf der Live-Seite angezeigt werden, überprüfen Sie, ob die Tabelle seit dem Hinzufügen dieser Tabellendaten veröffentlicht wurde.

Abrufen von Zeilen

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 ID-Spalte. 

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 %}

Bitte beachten: Standardmäßig beträgt die maximale Anzahl der zurückgegebenen Zeilen 1.000. Um weitere Zeilen abzurufen, geben Sie mit limit eine Beschränkung in der Funktionsabfrage an. Zum Beispiel:

hudb_table_rows (12345, "random()&limit=1500").

<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.

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.

Metadaten von Tabellen abrufen

Um die Metadaten 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.

Spaltenmetadaten abrufen

{% 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 als HTML gespeichert, und die HubDB-UI bietet eine Textbearbeitungsoberfläche. Wenn Sie jedoch eine HubDB-Tabelle über die Benutzeroberfläche von HubSpot bearbeiten, können Sie den Quellcode nicht direkt bearbeiten. 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. 


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.