Datenprodukte in SAP BDC veröffentlichen

MitGoogle Cloud können Sie BigQuery-Daten mit SAP Business Data Cloud (BDC) teilen, ohne sie zu kopieren. Wenn Sie Daten in SAP BDC veröffentlichen möchten, konfigurieren Sie einen Apache Iceberg REST-Katalogendpunkt im Lakehouse-Laufzeitkatalog oder richten ein Knowledge Catalog-Datenprodukt ein.

Eine Übersicht über diese Integration und ihre Anwendungsfälle finden Sie unter SAP BDC-Integration.

Hinweis

  1. Melden Sie sich in Ihrem Google Cloud -Konto an. Wenn Sie mit Google Cloudnoch nicht vertraut sind, erstellen Sie einfach ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
  2. Verify that billing is enabled for your Google Cloud project.

  3. Enable the BigLake and Dataplex APIs, if any are not already enabled.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the APIs

  4. Verify that billing is enabled for your Google Cloud project.

  5. Enable the BigLake and Dataplex APIs, if any are not already enabled.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the APIs

  6. Cloud Storage-Bucket: Erstellen Sie einen Cloud Storage-Bucket, um Ihre Iceberg-Metadaten und -Datendateien zu speichern. Eine Anleitung finden Sie unter Buckets erstellen. Alle Ressourcen, einschließlich des Backend-Buckets, müssen sich in derselben Region befinden, um Fehler in der Konfigurationspipeline zu vermeiden.
  7. Apache Iceberg REST-Katalogendpunkt: Richten Sie im Lakehouse-Laufzeitkatalog einen Apache Iceberg REST-Katalogendpunkt mit aktivierter Bereitstellung von Anmeldedaten ein, der die Namespaces und Tabellen enthält, die Sie freigeben möchten. Dieser Katalog verwendet den Cloud Storage-Bucket als Warehouse. Eine Anleitung finden Sie unter Apache Iceberg REST-Katalogendpunkt einrichten.
  8. Delta Sharing-Verbindungskatalog: Bereiten Sie einen registrierten Delta Sharing-Verbindungskatalog für Ihre SAP BDC-Verbindung vor. Dies ist derselbe Katalog, der bei der Ersteinrichtung für die Freigabe von Daten von SAP BDC für BigQuery erstellt wurde. Sie müssen keinen neuen erstellen. Eine Anleitung finden Sie unter Cloudübergreifende Verbindung für SAP Business Data Cloud einrichten.
  9. Workload Identity-Föderation (WIF): Bereiten Sie die Konfiguration der WIF vor, um dem SAP BDC-Authentifizierungsaussteller zu vertrauen. Das richten Sie im folgenden Abschnitt ein.

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für Ihr Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Konfigurieren der Identitätsföderation von Arbeitslasten und zum Veröffentlichen von Daten benötigen:

Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.

Allgemeiner Workflow

So veröffentlichen Sie Daten in SAP BDC:

  1. Identitätsföderation von Arbeitslasten konfigurieren: Erstellen Sie einen Pool und einen Anbieter für die Identitätsföderation von Arbeitslasten, um eine Vertrauensstellung mit dem SAP BDC OIDC-Aussteller herzustellen.
  2. Dem föderierten Hauptkonto Rollen zuweisen: Weisen Sie der föderierten Identität Berechtigungen zum Aufrufen von Katalogmetadaten und zum Verbrauchen von Dienstkontingenten zu.
  3. Daten veröffentlichen: Veröffentlichen Sie Ihren Apache Iceberg REST-Katalogendpunkt oder ein Knowledge Catalog-Datenprodukt mit der gcloud-Befehlszeile in SAP BDC.

Identitätsföderation von Arbeitslasten konfigurieren

Wenn Sie SAP BDC Zugriff auf Ihre grenzenlosen Lakehouse-Ressourcen gewähren möchten, ohne exportierte Dienstkontoschlüssel zu benötigen, konfigurieren Sie die Workload Identity-Föderation (WIF). Dadurch wird eine Vertrauensstellung zwischen Google Cloud und dem OIDC-Aussteller von SAP BDC hergestellt.

So richten Sie den WIF-Pool und ‑Anbieter ein:

Aussteller-URI abrufen

Rufen Sie den OIDC-Aussteller-URI aus Ihrem Delta Sharing-Verbindungskatalog ab. Sie benötigen diesen URI, um den WIF-Anbieter zu konfigurieren.

gcloud biglake delta-sharing catalogs describe CONNECTION_CATALOG_ID \
    --project="PROJECT_ID"

Suchen Sie in der Befehlsausgabe nach dem Feld federatedIdentityIssuer, das den Aussteller-URI enthält.

Workload Identity-Pool erstellen

Erstellen Sie einen Workload Identity-Pool, um externe Identitäten zu gruppieren.

gcloud iam workload-identity-pools create POOL_ID \
    --location="global" \
    --display-name="POOL_DISPLAY_NAME" \
    --project="PROJECT_ID"

OIDC-Anbieter erstellen

Erstellen Sie einen OIDC-Anbieter im Pool, um die Vertrauensstellung zu definieren und Token-Anforderungen zuzuordnen.

gcloud iam workload-identity-pools providers create-oidc PROVIDER_ID \
    --location="global" \
    --workload-identity-pool="POOL_ID" \
    --issuer-uri="ISSUER_URI" \
    --attribute-mapping="google.subject=assertion.sub.split('://')[1].split('.')[0]" \
    --project="PROJECT_ID"

Dem föderierten Hauptkonto Rollen zuweisen

Autorisieren Sie die föderierte Identität aus dem vertrauenswürdigen Pool, um erforderliche Google APIs aufzurufen. Sie können eine bestimmte Subjekt-UUID oder den gesamten Pool autorisieren.

So autorisieren Sie ein bestimmtes Subjekt (empfohlen):

gcloud projects add-iam-policy-binding PROJECT_ID \
    --role="roles/biglake.viewer" \
    --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/WIF_SUBJECT"

gcloud projects add-iam-policy-binding PROJECT_ID \
    --role="roles/serviceusage.serviceUsageConsumer" \
    --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/WIF_SUBJECT"

Ersetzen Sie WIF_SUBJECT durch die UUID, die vom SAP-seitigen Aussteller für die Arbeitslast ausgestellt wurde.

So autorisieren Sie jede Identität im Pool (weniger restriktiv, für Testumgebungen geeignet):

gcloud projects add-iam-policy-binding PROJECT_ID \
    --role="roles/biglake.viewer" \
    --member="principalSet://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/*"

gcloud projects add-iam-policy-binding PROJECT_ID \
    --role="roles/serviceusage.serviceUsageConsumer" \
    --member="principalSet://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/*"

Daten in SAP BDC veröffentlichen

Sie können einen Apache Iceberg REST-Katalogendpunkt oder ein Knowledge Catalog-Datenprodukt mit Iceberg-Tabellen über die Google Cloud Console oder die Google Cloud CLI veröffentlichen.

Iceberg-REST-Katalog

Prüfen Sie vor der Veröffentlichung, ob für Ihre Iceberg-Tabellen Primärschlüssel mit identifier-field-ids in den Iceberg-Tabellenmetadaten und mindestens eine Zeile definiert sind, da SAP BDC beides für Abfragen benötigt. Alle Spalten, auf die in identifier-field-ids verwiesen wird, müssen im Iceberg-Schema auf required: true (keine Nullwerte zulässig) gesetzt sein. Wenn Ihre Tabelle keine Primärschlüssel hat oder nullable Schlüsselfelder enthält, finden Sie unter Iceberg-Tabellenschema für Primärschlüssel aktualisieren Informationen dazu, wie Sie sie mit der BigLake REST API aktualisieren.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Lakehouse Laufzeitkatalog auf.

    Zum Lakehouse-Laufzeitkatalog

  2. Maximieren Sie im Navigationsbereich Ihr Projekt und wählen Sie den Delta-Katalog (Verbindungskatalog) aus, den Sie für die Veröffentlichung verwenden möchten.

  3. Klicken Sie auf Datenprodukt veröffentlichen.

  4. Geben Sie die erforderlichen Freigabedetails ein, einschließlich der Auswahl des zu veröffentlichenden Iceberg-REST-Katalogs.

  5. Klicken Sie auf Veröffentlichen.

gcloud

  1. Prüfen Sie, ob der Apache Iceberg REST-Katalogendpunkt vorhanden ist, und rufen Sie die zugehörigen Details ab:

    gcloud biglake iceberg catalogs describe ICEBERG_CATALOG_ID \
        --project="PROJECT_ID"
  2. Veröffentlichen Sie den Apache Iceberg REST-Katalogendpunkt in SAP BDC. Der Verbindungskatalog, der Iceberg-Katalog und der zugrunde liegende Cloud Storage-Bucket müssen sich alle in derselben Region befinden.

    gcloud biglake data-product-sharing publish \
        --connection-catalog="projects/PROJECT_ID/catalogs/CONNECTION_CATALOG_ID" \
        --share="SAP_SHARE_NAME" \
        --sap-federated-identity-provider="projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/providers/PROVIDER_ID" \
        --iceberg-catalog="projects/PROJECT_ID/catalogs/ICEBERG_CATALOG_ID" \
        --title="TITLE_TEXT" \
        --short-description="SHORT_DESCRIPTION_TEXT" \
        --description="DETAILED_DESCRIPTION_TEXT" \
        --project="PROJECT_ID"

    Der veröffentlichte Apache Iceberg REST-Katalogendpunkt ist in SAP BDC sichtbar und kann in SAP Datasphere als Remote-Tabelle installiert werden.

    Ersetzen Sie Folgendes:

    • CONNECTION_CATALOG_ID: der registrierte Delta Sharing-Verbindungskatalog, der während der Ersteinrichtung für die Freigabe von Daten von SAP BDC für BigQuery erstellt wurde. Er ist mit dem Delta Sharing-Katalog identisch, der in der Einrichtungsanleitung erwähnt wird. Sie müssen keinen weiteren Katalog für die Veröffentlichung erstellen.
    • PROJECT_NUMBER: Ihre Google Cloud -Projektnummer Für das Flag --sap-federated-identity-provider muss die Projektnummer und nicht die Projekt-ID verwendet werden.
    • POOL_ID: die WIF-Pool-ID.
    • PROVIDER_ID: die WIF-Anbieter-ID.
    • TITLE_TEXT und SHORT_DESCRIPTION_TEXT: Erforderliche Anzeigewerte für die Freigabe in SAP BDC.
    • DETAILED_DESCRIPTION_TEXT: eine optionale detaillierte Beschreibung. Geben Sie nicht denselben Text für die kurze und die detaillierte Beschreibung ein, da dies von SAP abgelehnt wird. Der Veröffentlichungsvorgang wird auch abgelehnt, wenn die detaillierte Beschreibung die genaue Kurzbeschreibung als Teilstring enthält. Wenn die Kurzbeschreibung beispielsweise Sales Data lautet, wird eine detaillierte Beschreibung mit Longer Sales Data details abgelehnt, da sie Sales Data enthält. Eine detaillierte Beschreibung von „Längere Verkaufsinformationen“ wird jedoch akzeptiert.

Knowledge Catalog-Datenprodukt

Alternativ können Sie ein Knowledge Catalog-Datenprodukt veröffentlichen. Ein Datenprodukt ist eine ausgewählte, logische Gruppierung von Daten-Assets (z. B. Tabellen oder Ansichten), die zusammengefasst werden, um bestimmte Geschäftsprobleme zu lösen. Anstatt einen vollständigen Katalog zu veröffentlichen, können Sie bestimmte Apache Iceberg-Tabellen auswählen, sie in einem Datenprodukt gruppieren und diese ausgewählte Sammlung in SAP BDC veröffentlichen.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Knowledge Catalog auf.

    Zu Knowledge Catalog

  2. Wählen Sie im Navigationsmenü Datenprodukte aus.

  3. Klicken Sie auf das Datenprodukt, das Sie veröffentlichen möchten, um die Detailseite zu öffnen.

  4. Klicken Sie auf Teilen und wählen Sie In SAP veröffentlichen aus.

  5. Konfigurieren Sie im Bereich Datenprodukt in SAP veröffentlichen die folgenden Felder:

    • Freigabename: Geben Sie den Namen für die Freigabe in SAP BDC ein.
    • Delta-Katalog: Wählen Sie Ihren registrierten Delta Sharing-Verbindungskatalog aus.
    • Workload Identity: Wählen Sie Ihren Workload Identity-Poolanbieter aus oder geben Sie ihn ein.
  6. Klicken Sie auf Veröffentlichen.

gcloud

  1. Datenprodukt erstellen:

    gcloud dataplex data-products create DATA_PRODUCT_ID \
        --location="LOCATION" \
        --display-name="TITLE_TEXT" \
        --description="SHORT_DESCRIPTION_TEXT" \
        --owner-emails="OWNER_EMAIL" \
        --project="PROJECT_ID"

    --display-name wird title in SAP BDC zugeordnet und --description wird short_description zugeordnet.

  2. Verknüpfen Sie ein von Lakehouse verwaltetes Apache Iceberg-Tabellen-Asset mit dem Datenprodukt:

    gcloud dataplex data-products data-assets create DATA_ASSET_ID \
        --data-product="DATA_PRODUCT_ID" \
        --location="LOCATION" \
        --resource="//biglake.googleapis.com/projects/PROJECT_ID/catalogs/ICEBERG_CATALOG_ID/namespaces/NAMESPACE_NAME/tables/TABLE_NAME" \
        --project="PROJECT_ID"

    Beim Konfigurieren von Assets in einem Datenprodukt müssen für Tabellen-Assets Primärschlüssel mit identifier-field-ids in ihren Iceberg-Tabellenmetadaten definiert sein (wobei alle Kennzeichnungsspalten als required: true gekennzeichnet sind) und mindestens eine Zeile enthalten. Wenn Ihre Tabelle keine Primärschlüssel hat oder nullable Schlüsselfelder enthält, finden Sie unter Iceberg-Tabellenschema für Primärschlüssel aktualisieren Informationen dazu, wie Sie sie mit der BigLake REST API aktualisieren. Alle Daten-Assets in einem einzelnen Datenprodukt müssen zum selben Apache Iceberg REST-Katalog gehören. Ein Datenprodukt kann maximal 50 Tabellen enthalten und muss mindestens ein gültiges Daten-Asset enthalten, um veröffentlicht werden zu können. Iceberg-Tabellen werden möglicherweise nicht sofort in der Google Cloud Console angezeigt.

  3. Optional: Überprüfen Sie die Assets in Ihrem Datenprodukt:

    gcloud dataplex data-products data-assets list \
        --data-product="DATA_PRODUCT_ID" \
        --location="LOCATION" \
        --project="PROJECT_ID"
  4. Veröffentlichen Sie das Datenprodukt in SAP BDC. Der Verbindungskatalog, das Datenprodukt und die zugrunde liegenden Ressourcen müssen sich in derselben Region befinden.

    gcloud biglake data-product-sharing publish \
        --connection-catalog="projects/PROJECT_ID/catalogs/CONNECTION_CATALOG_ID" \
        --share="SAP_SHARE_NAME" \
        --sap-federated-identity-provider="projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/providers/PROVIDER_ID" \
        --data-product="projects/PROJECT_ID/locations/LOCATION/dataProducts/DATA_PRODUCT_ID" \
        --project="PROJECT_ID"

    Das veröffentlichte Datenprodukt ist in SAP BDC auffindbar und kann in SAP Datasphere als Remote-Tabelle installiert werden. In SAP BDC übernimmt das veröffentlichte Datenprodukt den Titel und die Kurzbeschreibung, die beim Erstellen des Knowledge Catalog-Datenprodukts festgelegt wurden.

    Ersetzen Sie Folgendes:

    • CONNECTION_CATALOG_ID: der registrierte Delta Sharing-Verbindungskatalog, der während der Ersteinrichtung für die Freigabe von Daten von SAP BDC für BigQuery erstellt wurde. Er ist mit dem Delta Sharing-Katalog identisch, der in der Einrichtungsanleitung erwähnt wird. Sie müssen keinen weiteren Katalog für die Veröffentlichung erstellen.
    • PROJECT_NUMBER: Ihre Google Cloud-Projektnummer. Für sap-federated-identity-provider muss die Projektnummer und nicht die Projekt-ID verwendet werden.
    • POOL_ID: Die WIF-Pool-ID.
    • PROVIDER_ID: die WIF-Anbieter-ID.
    • DATA_PRODUCT_ID: die ID Ihres Knowledge Catalog-Datenprodukts.
    • LOCATION: der Standort Ihres Knowledge Catalog-Datenprodukts.
    • SAP_SHARE_NAME: der Name der Freigabe in SAP BDC.

Auf Google Cloud -Daten in SAP BDC zugreifen

Nachdem Sie Ihre Daten in SAP BDC veröffentlicht haben, können Sie nativ in der SAP-Umgebung auf Google Cloud -Daten zugreifen. Weitere Informationen zum Installieren und Verwenden von Datenprodukten in SAP als Remote-Tabellen finden Sie in der SAP-Dokumentation unter Datenprodukte installieren.

Nächste Schritte