Implantação de demonstração
A implantação de demonstração oferece uma experiência simplificada usando um conjunto de dados de amostra bruto predefinido. Ela oferece um fluxo de trabalho completo para implantar os pipelines do Dataform do Cortex Framework para orquestração e inicializar os conjuntos de dados correspondentes do BigQuery com dados de amostra.
Antes de começar
Verifique se você atende aos pré-requisitos descritos na página Pré-requisitos antes de continuar com a implantação de demonstração.
Receber os papéis e permissões do IAM necessários
Receba as permissões do Identity and Access Management (IAM) necessárias para implantar o conteúdo do Cortex Framework no target Google Cloud project.
Papéis para o projeto de destino
Para receber as permissões necessárias para implantar o Cortex Framework, peça ao administrador para conceder a você os seguintes papéis do IAM no projeto de destino:
- Usuário de jobs do BigQuery (
roles/bigquery.jobUser) - Editor de dados do BigQuery (
roles/bigquery.dataEditor) - Administrador do Dataform (
roles/dataform.admin) - Consumidor do Service Usage (
roles/serviceusage.serviceUsageConsumer)
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Também é possível conseguir as permissões necessárias com papéis personalizados ou outros papéis predefinidos.
Para conceder os papéis solicitados a um usuário, use o script:
# 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"
Opcional: receber os papéis do IAM necessários para uma implantação de demonstração usando uma conta de serviço
Os papéis a seguir são necessários apenas para uma implantação de demonstração com o parâmetro opcional --service_account ativado. Fornecer uma conta de serviço simplifica as tarefas pós-implantação, configurando o agendamento dos pipelines de dados. É possível acionar manualmente essa configuração de fluxo de trabalho no Dataform na guia Release and Scheduling usando o menu de três pontos.
Para receber as permissões necessárias para implantar a demonstração do Cortex Framework, peça ao administrador para conceder a você o papel do IAM de criador de token da conta de serviço (roles/iam.serviceAccountTokenCreator) no projeto de origem e de destino.
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Também é possível conseguir as permissões necessárias com papéis personalizados ou outros papéis predefinidos.
Para criar a conta de serviço e conceder os papéis necessários, use o script a seguir:
# 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