Demobereitstellung
Die Demobereitstellung bietet eine optimierte Erfahrung mit einem vordefinierten Rohdaten- Beispieldataset. Sie bietet einen End-to-End-Workflow zum Bereitstellen der Cortex Framework Dataform-Pipelines für die Orchestrierung und zum Initialisieren der entsprechenden BigQuery-Datasets mit Beispieldaten.
Hinweis
Prüfen Sie, ob die auf der Voraussetzungen Seite beschriebenen Voraussetzungen erfüllt sind, bevor Sie mit der Demobereitstellung fortfahren.
Erforderliche IAM-Rollen und ‑Berechtigungen abrufen
Rufen Sie die erforderlichen IAM-Berechtigungen (Identity and Access Management) ab, um Cortex Framework -Inhalte im Ziel Google Cloud projekt bereitzustellen.
Rollen für das Zielprojekt
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für das Zielprojekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Bereitstellen von Cortex Framework benötigen:
- BigQuery-Jobnutzer (
roles/bigquery.jobUser) - BigQuery-Datenbearbeiter (
roles/bigquery.dataEditor) - Dataform-Administrator (
roles/dataform.admin) - Service Usage Consumer (
roles/serviceusage.serviceUsageConsumer)
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.
Mit dem folgenden Skript können Sie einem Nutzer die angeforderten Rollen zuweisen:
# Grant BigQuery JobUser to the user
gcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_EMAIL" \
--role="roles/bigquery.jobUser"
# Grant BigQuery DataEditor to the user
gcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_EMAIL" \
--role="roles/bigquery.dataEditor"
# Grant BigQuery Dataform admin to the user
gcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_EMAIL" \
--role="roles/dataform.admin"
# Grant Service Usage Consumer to the user
gcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_EMAIL" \
--role="roles/serviceusage.serviceUsageConsumer"
Optional: Erforderliche IAM-Rollen für eine Demobereitstellung mit einem Dienstkonto abrufen
Die folgenden Rollen sind nur für eine Demobereitstellung mit dem optionalen Parameter --service_account erforderlich. Wenn Sie ein Dienstkonto angeben, werden Aufgaben nach der Bereitstellung vereinfacht, da die Planung der Datenpipelines eingerichtet wird. Sie können diese Workflowkonfiguration in Dataform auf dem Tab Release und Planung über das Dreipunkt-Menü manuell auslösen.
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Dienstkonto-Token-Ersteller (roles/iam.serviceAccountTokenCreator) für das Quell- und Zielprojekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Bereitstellen der Demo von Cortex Framework 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.
Mit dem folgenden Skript können Sie das Dienstkonto erstellen und die erforderlichen Rollen zuweisen:
# Create the service account
gcloud iam service-accounts create cortex-dataform \
--description="Service account for Cortex Dataform execution" \
--display-name="Cortex Dataform Service Account" \
--project=PROJECT_ID
# Wait for the service account to propagate (IAM eventual consistency)
sleep 10
# Grant BigQuery DataEditor to the service account
gcloud projects add-iam-policy-binding PROJECT_ID \
--member="serviceAccount:cortex-dataform@PROJECT_ID.iam.gserviceaccount.com" \
--role="roles/bigquery.dataEditor"
# Grant BigQuery jobUser to the service account
gcloud projects add-iam-policy-binding PROJECT_ID \
--member="serviceAccount:cortex-dataform@PROJECT_ID.iam.gserviceaccount.com" \
--role="roles/bigquery.jobUser"
# Grant Dataform Editor to the service account
gcloud projects add-iam-policy-binding PROJECT_ID \
--member="serviceAccount:cortex-dataform@PROJECT_ID.iam.gserviceaccount.com" \
--role="roles/dataform.editor"
# Grant the user Service Account Token Creator role on the Cortex service account
gcloud iam service-accounts add-iam-policy-binding \
cortex-dataform@PROJECT_ID.iam.gserviceaccount.com \
--member="user:USER_EMAIL" \
--role="roles/iam.serviceAccountTokenCreator" \
--project=PROJECT_ID
PROJECT_NUMBER=$(gcloud projects describe PROJECT_ID --format="value(projectNumber)")
## Note: In case the commands below should fail with message:
# "serviceAccount:service-$PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com" not found
# the default dataform service accounts hasn't been yet provisioned for given project.
# In such case, please execute the commands after initial run of `uv run cortex-*`
# Grant the Dataform Service Account the Token Creator role on the Cortex service account
gcloud iam service-accounts add-iam-policy-binding \
cortex-dataform@PROJECT_ID.iam.gserviceaccount.com \
--member="serviceAccount:service-$PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com" \
--role="roles/iam.serviceAccountTokenCreator" \
--project=PROJECT_ID
# Grant the Dataform Service Account the Service Account User role on the Cortex service account
gcloud iam service-accounts add-iam-policy-binding \
cortex-dataform@PROJECT_ID.iam.gserviceaccount.com \
--member="serviceAccount:service-$PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com" \
--role="roles/iam.serviceAccountUser" \
--project=PROJECT_ID
Bereitstellung
Führen Sie die folgenden Schritte aus, um eine virtuelle Python-Umgebung zu erstellen, die Abhängigkeiten zu synchronisieren und die Datenpipelines auszulösen. Verwenden Sie
die uvSkripts von Cortex Framework, um Ihre Daten
assets zu erstellen und in Ihr Google Cloud Projekt zu übertragen. So wandeln Sie Ihre lokalen Konfigurationen
in eine aktive, skalierbare Datenarchitektur um. Weitere Informationen finden Sie unter der
uv Installation
im Abschnitt Voraussetzungen.
Demobereitstellung ausführen
Führen Sie den folgenden Befehl aus, um die Bereitstellung auszulösen. Bei diesem Vorgang werden die folgenden Aktionen ausgeführt:
- Prüfen, ob alle Voraussetzungen erfüllt sind.
- Beispieldaten in ein BigQuery-Dataset laden, das zu Demonstrationszwecken als Rohdatenebene dient.
- Dataform-Pipelines zum Verarbeiten der Beispieldaten über die Cortex Framework-Datenebenen erstellen.
- Dataform-Repository und ‑Arbeitsbereich erstellen und dann die kompilierten Artefakte mit dem Repository synchronisieren.
*Optional: Wenn ein Dienstkonto mit
--service_accountangegeben wurde, Workflowzeitplan erstellen und die erste Dataform Workflowausführung auslösen.
Führen Sie für die Demobereitstellung mit Standardwerten den folgenden Befehl aus: