Pular para o conteúdo principal

Adaptador GCP

contractforge-gcp começa com o subdestino gcp_bigquery.

A superfície atual é uma superfície de renderização e execução de smoke BigQuery com suporte estável:

  • planejar contratos com base nos recursos do BigQuery;
  • renderizar BigQuery SQL para append, overwrite e upsert;
  • renderizar artefatos avançados de revisão de modo de gravação para hash_diff_upsert, historical e snapshot_reconcile_soft_delete;
  • renderizar tarefa de carregamento GCS JSON para CSV, JSON/JSONL/NDJSON, Parquet, Avro e ORC;
  • renderizar fontes de tabela BigQuery/BigLake Iceberg registradas como leituras normais da tabela BigQuery;
  • renderizar artefatos JSON e Markdown de revisão de origem redigidos com caminho de tempo de execução, pré-requisitos, portas de graduação e caminhos de promoção da família de origem não JDBC;
  • renderizar plano de promoção da família de origem JSON para Iceberg bruto, Delta/Delta compartilhamento necessário para revisão, variantes de arquivo HTTP não declaradas/não suportadas e fontes de streaming;
  • executar registro Iceberg BigLake bruto e leitura de metadados por meio de source-promotion --execute --readback;
  • renderizar artefatos de revisão autenticados do REST/HTTP Secret Manager e resolver espaços reservados em tempo de execução quando as credenciais usam {{ secret:scope/key }};
  • renderizar evidência BigQuery DDL para registros de execução e qualidade;
  • renderizar artefatos de planejamento de política de esquema BigQuery e evidências de esquema DDL;
  • opcionalmente, impor política de esquema para fontes de tabela/visualização/SQL BigQuery e fontes de carregamento GCS de esquema declarado durante a execução do smoke com --enforce-schema-policy;
  • renderizar artefatos de planejamento de criação e execução/leitura com qualidade de dados Dataplex DataScan a partir de regras de qualidade ContractForge;
  • executar DataScans de qualidade de dados Dataplex nativos e ler linhas de exportação BigQuery por meio de dataplex-quality --execute --wait --readback;
  • renderizar planos nativos de publicação/leitura do Dataplex Data Lineage e planos de taxonomia/aplicação/leitura do aspecto Dataplex de contratos normais;
  • renderizar ou executar explicitamente esses planos de linhagem/aspecto nativos por meio de dataplex-lineage-aspects;
  • renderizar artefatos determinísticos de contabilidade/reconciliação de governança, leitura de reconciliação de governança não mutante e evidências de governança DDL;
  • persistir e ler as linhas de evidências de governança para a intenção de governança declarada durante a execução da smoke;
  • renderizar relatórios de custos operacionais somente para consulta a partir de evidências de execução BigQuery;
  • renderizar um manifesto de implantação determinístico que documente o pedido de aplicação BigQuery de contrato único;
  • renderizar manifestos de implantação de projetos de simulação com pacotes BigQuery por contrato, um plano de origem Google Workflows, um artefato de plano de execução, um artefato de leitura de evidências, pesquisa de trabalho BigQuery limitada, planejamento de novas tentativas de conector e um caminho de comando de leitura de retorno bq opcional;
  • persistir linhas de evidências de execução e qualidade dos resultados do trabalho BigQuery durante testes de smoke executados;
  • persistir evidências neutras da tabela de controle OpenLineage de operações de carga/gravação executadas;
  • executar a ordem de execução do projeto sequencialmente por meio do mesmo tempo de execução BigQuery somente de contrato;
  • aplicar, ler e aplicar uma política de acesso de linha BigQuery na smoke da governança ao vivo;
  • criar, anexar, ler e impor tags de política BigQuery/Data Catalog para acesso em nível de coluna;
  • renderizar, aplicar e ler descrições de tabelas/colunas BigQuery para contratos de anotação;
  • classificar fontes não suportadas ou que requerem revisão, incluindo Delta canônico, compartilhamento Delta, dialeto JDBC, credenciais REST/HTTP autenticadas em linha e nomes de streaming, sem fingir que são estáveis;
  • executar a simulação ou executar a smoke do contrato BigQuery através do contractforge-gcp smoke.

O adaptador é estável e final para esta superfície documentada. Execução direta do caminho Iceberg bruto sem registro, streaming, JDBC/Dataflow, inline authenticated REST/HTTP credentials, modos de gravação avançados de histórico/instantâneo, implantação não Workflows runners, ampliação/mutação automática de tipo, Dataplex nativo automático emissão de linhagem/aspecto durante cada execução de contrato, reconciliação de registro de governança ao vivo e mascaramento baseado em tags permanecem exclusões explícitas da reivindicação estável com escopo definido. O gerado O plano de origem Workflows inclui pesquisa de trabalho BigQuery limitada e uma geração O runner passou na implantação/execução/leitura ao vivo. Uma segunda smoke de caminho de comando validado --deploy-orchestration --run-orchestration --wait-orchestration --readback-orchestration with a bq leitura de evidência. Uma terceira smoke validada execução do lado do runner e persistência de evidências de qualidade para Workflows gerado. UM quarta smoke validou a semântica de linha com falha de qualidade por meio de geração Workflows: zero linhas com falha persistem Evidência PASSED, linhas com falha diferentes de zero persistem Evidência FAILED e, em seguida, falha na execução do Workflows. Uma quinta smoke validada IDs de evidência com escopo de execução baseados no ID de execução nativo Workflows. UM sexta smoke, evidência de esquema validado, persistência do esquema gerado plano de política com IDs de evidências com escopo de execução. Uma sétima smoke validou a caminho do comando de limpeza de recursos de fluxo de trabalho e idempotência de fluxo de trabalho ausente. Um oitava smoke validada com falha na gravação/carga da evidência de execução antes de um gerado A execução de Workflows aumenta. Um nono alvo/evidência com escopo validado pela smoke limpeza por meio de --cleanup-orchestration-data. A superfície de comando também expõe --reset-orchestration-data para executar a mesma limpeza de alvo/evidência gerada antes da implantação/execução quando um operador deseja uma nova execução determinística. O runner de smoke certificado executou o mesmo projeto solicitado duas vezes --reset-orchestration-data --deploy-orchestration --run-orchestration --wait-orchestration --readback-orchestration, com execução com escopo de execução, leitura de evidência de qualidade e esquema para ambas as execuções. deploy-project now exposes sinalizadores de orquestração Workflows explícitos, YAML gerado inclui nova tentativa de Workflows blocos para envio e pesquisa de trabalhos BigQuery e --readback-orchestration pode executar as consultas de alvo/evidência geradas por meio do bq; quando um fluxo de trabalho o ID de execução está disponível, a leitura de evidência de execução/qualidade/esquema tem como escopo esse ID de execução. O executor de implantação Google Workflows é certificado para o superfície estável do lote BigQuery; Jobs do Cloud Run, DAGs do Composer e agendamentos as consultas permanecem excluídas até serem validadas separadamente por meio do caminho de comando de propriedade do adaptador.

Os manifestos de implantação expõem execution_ready: true apenas para planejamento compatível resultados. Contratos com revisão obrigatória ou bloqueados ainda incluem revise artefatos e limites, mas seu apply_order está vazio, então gerado os manifestos não implicam etapas BigQuery executáveis.

BigQuery A renderização upsert é executável somente quando o contrato declara colunas de origem por meio de select_columns ou source.read.columns. BigQuery MERGE requer atribuições de atualização explícitas, portanto o adaptador emite um SQL necessário para revisão comentário em vez de um espaço reservado inválido quando as colunas são desconhecidas.

Artefatos de planejamento de política de esquema são emitidos para cada contrato prestado. Os planos strict exigem uma correspondência de simulação de origem/destino. additive_only e permissive planeja opções de adição de campo anuláveis ​​do documento BigQuery e Dicas de revisão do ALTER TABLE ADD COLUMN. O runner de smoke também tem uma explícita Modo --enforce-schema-policy para fontes BigQuery table/view/SQL e fontes de carregamento GCS do esquema declarado: ele lê os esquemas de origem e destino por meio INFORMATION_SCHEMA.COLUMNS, aplica colunas anuláveis ​​aditivas para additive_only e permissive, bloqueia desvios e gravações rigorosas contractforge_schema_evidence. O caminho anulável aditivo transmitido ao vivo validação em GCP BigQuery esquema-política de fumo. O caminho negativo estrito passou na validação ao vivo em GCP BigQuery política de esquema estrita smoke. O caminho anulável permissivo passou na validação ao vivo em GCP BigQuery smoke permissiva da política de esquema. O caminho destrutivo de mudança de tipo passou na validação ao vivo em GCP BigQuery tipo de política de esquema-mudança de smoke. O caminho de origem SQL passou na validação ao vivo em GCP BigQuery esquema-política SQL fonte smoke. O caminho GCS/load-source passou na validação ao vivo em GCP BigQuery esquema-política GCS fonte smoke. O alargamento ou mutação automática do tipo BigQuery é uma revisão explícita necessária não reivindicação fora do caminho estável da política de esquema, registrada em Decisão de mutação do tipo de política de esquema GCP.

Detailed parity tracking is in GCP capability parity. O manifesto de evidência de superfície estável é evidência de superfície estável GCP. Future promotion gates are exposed by contractforge-gcp stabilization-report e espelhado no manifesto de evidências de superfície estável.

A primeira evidência real de smoke é GCP BigQuery CSV smoke: um contrato GCS CSV carregou três linhas em BigQuery, executou a evidência DDL e validou uma regra de qualidade não nula com failed_rows = 0. A smoke atual também persiste as linhas de evidências de execução e qualidade nas tabelas de evidências GCP.

O formato de arquivo smoke é GCP BigQuery formatos de arquivo smoke: Fixadores CSV, NDJSON, Parquet, Avro e ORC carregados de GCS para BigQuery, cada um com três linhas, zero falhas não nulas e linhas de evidências de execução/qualidade persistentes.

A smoke upsert é GCP BigQuery smoke upsert: um MERGE com colunas explícitas atualizou uma linha, inseriu uma linha, preservou três linhas de destino, produziu zero falhas não nulas e persistiu evidências de execução/qualidade.

A smoke bronze-ouro é GCP BigQuery smoke bronze-ouro: bronze carrega o dispositivo GCS CSV, prata lê bronze através de um contrato SQL, e o ouro agrega a prata por status. A execução de contagens de linhas validadas, qualidade verifica e executa linhas de evidências para cada camada.

A smoke da governança é GCP BigQuery row access policy smoke: o teste do adaptador aplicou uma política de acesso de linha BigQuery à tabela prateada, leia-o novamente através do bq ls --row_access_policies e consulte-o como um conta de serviço de leitor personificada. O diretor restrito viu apenas os dois Linhas paid permitidas pela política.

A smoke da evidência de falha é GCP BigQuery error evidencia smoke: um contrato de origem SQL normal referenciou intencionalmente uma tabela BigQuery ausente. A gravação falhou conforme esperado e o adaptador persistiu em uma evidência de execução FAILED linha com a mensagem de erro nativa após escapar do texto BigQuery multilinha para SQL insertion.

O comando canônico cost-report renderiza um relatório BigQuery SQL sobre contractforge_run_evidence, agrupado por adaptador, contrato, extrato, status ou tabela de destino. O adaptador não codifica taxas; valores estimados estão presentes somente quando a operadora fornecer taxas de bytes processados ​​e/ou slot-hora.

A smoke de mascaramento de dados de coluna direta é GCP BigQuery data mascarando smoke: a execução da maturidade do adaptador criou uma política de mascaramento de dados BigQuery V2, anexou-a directly to a column, granted fine-grained read to a restricted service account, e consultado por meio de representação. A coluna amount protegida retornou NULL sob a regra de mascaramento ALWAYS_NULL. A não organização anterior O bloqueador de projeto permanece documentado em GCP Bloqueador de mascaramento de dados BigQuery.

A smoke da tag de política é GCP BigQuery tags de política smoke: a execução da maturidade do adaptador criou uma taxonomia e política regional do Catálogo de Dados tag, anexou a tag de política a uma coluna BigQuery, leu-a novamente INFORMATION_SCHEMA.COLUMN_FIELD_PATHS, verificado acesso negado à coluna protegida antes que o acesso refinado fosse concedido e, em seguida, verificasse o acesso após a concessão roles/datacatalog.categoryFineGrainedReader. Isso valida tags de política como um superfície de acesso em nível de coluna, não como um substituto para políticas diretas de mascaramento.

A smoke BigLake Iceberg é GCP BigLake Iceberg smoke: a execução da maturidade do adaptador criou uma tabela Iceberg gerenciada por BigLake apoiada por um prefixo dedicado do Cloud Storage e conexão BigQuery Cloud Resource, anexados linhas, executou um MERGE, consultou as linhas finais, leu biglakeConfiguration, e observou objetos Iceberg metadata/ mais Parquet data/. O suportado a superfície do adaptador é registrada como referências da tabela BigQuery/BigLake Iceberg. Para contratos source.type: iceberg_table brutos com um gs:// path, renderizado os pacotes incluem um plano de registro determinístico BigLake com o necessário Cloud Resource connection, connection service-account storage role, bq mk sinalizadores (--managed_table_type=BIGLAKE, --table_format=ICEBERG, --file_format=PARQUET, --storage_uri) e o pós-registro Referência da tabela source.type: iceberg_table que deve substituir o caminho bruto após a leitura passar. O comando de registro bruto é validado em GCP raw Iceberg registration smoke: contractforge-gcp source-promotion --execute --readback creates a BigLake Tabela Iceberg de um prefixo gs:// declarado com esquema explícito, lê de volta biglakeConfiguration e verifica se a tabela registrada pode ser consultada. Direto a execução da consulta de caminho bruto sem registro permanece excluída.

A smoke autenticada do REST Secret Manager é GCP authenticated REST Secret Manager smoke: o adaptador resolveu uma credencial {{ secret:scope/key }} por meio do Google Secret Manager em tempo de execução, usou o leitor REST de núcleo compartilhado e carregou o registros materializados em BigQuery sem escrever o valor secreto como evidência.

A decisão do escopo de streaming é decisão de escopo de streaming GCP: A paridade do provedor Confluent/Dataflow kafka_available_now é validada com um execução de Dataflow Kafka para BigQuery de propriedade do contrato, ingestão de linha BigQuery, zero-DLQ reconciliação e uma reprodução sem entrada do mesmo grupo de consumidores. Pub/Sub direto As assinaturas BigQuery são nativas, mas não são equivalentes a ContractForge kafka_available_now; Pub/Sub mais amplo, Event Hubs e streaming de produção as operações permanecem com escopo de revisão fora da primeira superfície GCP estável. Renderizado os planos de promoção para fontes Kafka/Event Hubs incluem o fornecido pelo Google Dataflow Kafka-to-BigQuery template parameters, Secret Manager auth hooks, grupo de consumidores, localização do ponto de verificação, requisitos de evidência de compensação e não reivindicações de streaming contínuo.

Os contratos de compartilhamento Delta e Delta permanecem obrigatórios para revisão no GCP. Deles os planos de promoção agora descrevem a materialização do Dataproc Serverless Spark faixa: conjunto de dependências, prefixo de destino, limite de credencial, pós-materialização Fonte da tabela BigQuery e versão/instantâneo, contagem de linhas e evidência de falha necessário antes que a execução possa ser promovida.

A decisão de escopo do modo de gravação é decisão de escopo do modo de gravação GCP: a primeira superfície GCP estável é limitada a append, overwrite e explicit-column upsert. hash_diff_upsert production parity is accepted in Paridade de produção de adaptador cruzado hash-diff GCP usando evidências GCP, AWS, Snowflake e Fabric, mas permanece sujeito a revisão por padrão até que a superfície de execução estável seja explicitamente ampliada. historical e snapshot_reconcile_soft_delete permanecem necessários para revisão até o adaptador cruzado contratos de produção comprovam janelas de validade e semântica de lápide. Renderizado bundles now include deterministic advanced artefatos de revisão em modo de gravação com candidato BigQuery SQL, bloqueadores e promoção requisitos de evidência; os manifestos de implantação ainda mantêm a execução bloqueada.

A decisão do escopo de implantação/orquestração é decisão do escopo de implantação/orquestração GCP: a execução de smoke de contrato único está disponível e deploy-project agora materializa pacotes por contrato, um manifesto de implantação do projeto e um gerado Plano de origem Google Workflows com pesquisa de trabalho BigQuery limitada. Também expõe --render-orchestration, --deploy-orchestration, --run-orchestration, --wait-orchestration, --readback-orchestration e --reset-orchestration-data, --cleanup-orchestration e --cleanup-orchestration-data para o gerado runner Workflows. O YAML gerado usa http.default_retry_predicate_non_idempotent para envio de trabalho BigQuery e http.default_retry_predicate para pesquisa de jobs e emite um Artefato gcp_workflows_evidence_readback.json com contagem de alvos, evidência de execução, evidência de qualidade, evidência de esquema e presença de tabela de evidências consultas, modelos de readback com escopo de execução, além de um Artefato gcp_workflows_cleanup_plan.json com alvo com escopo definido e declarações de limpeza de evidências. --readback-orchestration executa essas consultas com bq após o caminho do executor e --readback-location pode substituir um ambiente obsoleto local para as consultas de leitura ou limpeza. Um runner gerado passou na implantação/execução/leitura ao vivo em smoke do runner GCP Workflows, e o caminho do comando de propriedade do adaptador foi passado smoke de leitura do comando GCP Workflows, e persistência de evidência de qualidade/corrida do lado do runner aprovada GCP Workflows evidência de smoke do runner. Semântica de linha com falha de qualidade aprovada smoke semântica de qualidade GCP Workflows. IDs de evidências com escopo de execução aprovados GCP Workflows execução run-id smoke. Persistência de evidência de esquema aprovada smoke de evidência de esquema GCP Workflows. Validação do comando de limpeza do fluxo de trabalho aprovada Comando de limpeza GCP Workflows smoke. UM caminho de falha de gravação controlada passado GCP Workflows evidência de falha de gravação smoke. UM caminho de limpeza de evidência/alvo com escopo aprovado GCP Workflows alvo/smoke de limpeza de evidências. O runner certificado do Workflows passou no smoke de runner certificado GCP Workflows. Cloud Run Jobs, Composer DAGs e executores de consulta agendada BigQuery permanecem fora desta reivindicação estável até ser certificado separadamente.

O comando canônico run-project executa o projeto execution_order sequencialmente através do mesmo tempo de execução de smoke somente contratual usado por smoke. Este é um suporte de fluxo de trabalho de validação, não um nativo Composer, Cloud Run Jobs ou executor de implantação de consulta agendada.

A linhagem Dataplex e decisão de escopo de qualidade de dados é GCP Linhagem Dataplex e decisão de escopo DQ: Verificações de qualidade SQL e evidências da tabela de controle BigQuery, incluindo neutro OpenLineage event payloads, are in scope. Rendered bundles now include Dataplex determinístico DataScan criar solicitação JSON mais comando/leitura metadados, planos nativos de publicação/leitura do Dataplex Data Lineage e Dataplex taxonomia de aspecto/aplicação/planos de leitura para revisão. O dataplex-lineage-aspects O comando não sofre mutação por padrão e apenas publica linhagem ou aplica aspectos quando --execute está definido; --readback solicita readback nativo do API. O Dataplex de propriedade do adaptador O comando de qualidade passou por um DataScan nativo ao vivo executado em um BigQuery de 10.000 linhas target e leia sete linhas de resultados de regras exportadas. O adaptador de propriedade O comando dataplex-lineage-aspects --execute --readback passou pela linhagem nativa leitura de eventos e leitura do aspecto modifyEntry do Catálogo de conhecimento/Dataplex em GCP Dataplex lineage/aspects smoke. A emissão automática de linhagem/aspecto nativo durante cada execução do contrato permanece fora da reivindicação estável com escopo definido.

A decisão de escopo estável de governança é decisão de escopo estável de governança GCP: políticas de acesso a linhas validadas, políticas de dados de coluna direta, coluna de tag de política acesso, descrições de tabelas/colunas, planejamento de contabilidade de governança determinística, readback de reconciliação de governança sem mutação, evidência de governança gravação/leitura para intenção de governança declarada e gravações de evidências principais estão em scope. Mascaramento baseado em tags, mascaramento apoiado por tags de política, reparo/exclusão automática de governança e o comportamento de retenção de substituição permanecem excluídos do primeiro GCP estável surface.

A smoke da anotação é GCP BigQuery anotações smoke: a execução de maturidade do adaptador aplicou uma descrição de tabela e uma descrição de coluna com BigQuery OPTIONS(description) nativo e, em seguida, leia-os novamente INFORMATION_SCHEMA.TABLE_OPTIONS e INFORMATION_SCHEMA.COLUMN_FIELD_PATHS. Também persistiu duas linhas de auditoria de anotação para contractforge_annotation_evidence. Aliases, tags, metadados PII e metadados de operações renderizam o aspecto Dataplex planos e criação explícita de AspectType de caminho de comando, execução de modifyEntry e a leitura de aspecto são validados na smoke de linhagem/aspectos Dataplex.