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

Technische Beschränkungen von HubDB

Zusätzlich zu den allgemeinen API-Limits von HubSpot beachten Sie bitte 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.

Ihre HubDB-Tabelleneinstellungen konfigurieren (nur CMS Hub Professional und Enterprise)

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

  • Öffentlichen API-Zugriff zulassen: Standardmäßig können die Daten der Tabelle nur in der App oder innerhalb authentifizierter API-Aufrufe angezeigt werden. Aktivieren Sie diese Einstellung, um nicht authentifizierte API-Aufrufe zur Abfrage der Daten der Tabelle zu aktivieren. 
  • Erstellen dynamischer Seiten mithilfe von Zeilendaten aktivieren: Aktivieren Sie diese Einstellung, um die Erstellung dynamischer Seiten mithilfe von HubDB-Daten zu ermöglichen. Wenn Sie diese Option aktivieren, können Sie auf die folgenden zusätzlichen Optionen zugreifen:
    • Verwenden Sie die Dropdown-Menüs, um auszuwählen, welche Spalten dynamische Seiten mit Metabeschreibung, Feature-Bild und kanonischen URL-Daten füllen. Bei neuen Tabellen müssen Sie neue Spalten erstellen, um diese Daten zu enthalten.
      • Metabeschreibung: muss eine Texttyp-Spalte sein.
      • Feature-Bild: muss eine Bildtyp-Spalte sein.
      • Kanonische URL: muss eine Spalte des URL-Typs sein.
    • Um auf andere HubDB-Tabellen in dieser Tabelle zu verweisen, aktivieren Sie das Kontrollkästchen Verwendung von untergeordneten Tabellen zulassen. Sie können auch die Einstellung Automatisch Listing-Seiten für untergeordnete Tabellen erstellen auswählen, um es HubSpot zu ermöglichen, automatisch Zwischen-Listing-Seiten zu erstellen. Erfahren Sie mehr über das Erstellen von dynamischen Seiten mit mehreren Ebenen mithilfe von HubDB.

manage-hubdb-table-setting

Bitte beachten: Eine übergeordnete Tabelle kann nicht auf eine untergeordnete Tabelle verweisen, die auch auf die übergeordnete Tabelle verweist. Dadurch wird eine Schleife geschaffen, die zu einem Fehler führt, wenn versucht wird, die untergeordnete Tabelle in der übergeordneten Tabelle auszuwählen.

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:

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.

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.

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

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.

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(�).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(�,�).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.