Regra de análise de tabela de mapeamento de ID - AWS Clean Rooms

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Regra de análise de tabela de mapeamento de ID

Em AWS Clean Rooms, uma regra de análise de tabela de mapeamento de ID não é uma regra de análise independente. Esse tipo de regra de análise é gerenciado AWS Clean Rooms e usado para unir dados de identidade diferentes para facilitar a consulta. Ele é adicionado automaticamente às tabelas de mapeamento de ID e não pode ser editado. Ele herda os comportamentos das outras regras de análise na colaboração — desde que essas regras de análise sejam homogêneas.

A regra de análise da tabela de mapeamento de ID reforça a segurança em uma tabela de mapeamento de ID. Isso impede que um membro da colaboração selecione ou inspecione diretamente a população sem sobreposição entre os conjuntos de dados dos dois membros usando a tabela de mapeamento de ID. A regra de análise da tabela de mapeamento de ID é usada para proteger os dados confidenciais na tabela de mapeamento de ID quando usada implicitamente em consultas com outras regras de análise.

Com a regra de análise da tabela de mapeamento de ID, AWS Clean Rooms impõe uma sobreposição em ambos os lados da tabela de mapeamento de ID em formato expandido. SQL Isso permite que você execute as seguintes tarefas:

  • Use a sobreposição da tabela de mapeamento de ID nas JOIN declarações.

    AWS Clean Rooms permite uma RIGHT junção INNERLEFT,, ou na tabela de mapeamento de ID se ela respeitar a sobreposição.

  • Use as colunas da tabela de mapeamento em JOIN declarações.

    Você não pode usar as colunas da tabela de mapeamento nas seguintes instruções:SELECT,, WHERE HAVINGGROUP BY, ou ORDER BY (a menos que as proteções sejam modificadas na associação do namespace do ID de origem ou na associação do namespace do ID de destino).

  • Em expandidoSQL, AWS Clean Rooms também suporta OUTERJOIN, implícito JOIN e. CROSS JOIN Essas junções não podem satisfazer os requisitos de sobreposição. Em vez disso, AWS Clean Rooms usa requireOverlap para especificar em quais colunas devem ser unidas.

A estrutura e a sintaxe de consulta suportadas estão definidas em. Estrutura e sintaxe da consulta da tabela de mapeamento de ID

Os parâmetros da regra de análise, definidos emControles de consulta de regras de análise de tabelas de mapeamento de ID, incluem controles de consulta e controles de resultados de consulta. Seus controles de consulta incluem a capacidade de exigir a sobreposição da tabela de mapeamento de ID nas JOIN instruções (ou seja,requireOverlap).

Estrutura e sintaxe da consulta da tabela de mapeamento de ID

As consultas em tabelas que têm uma regra de análise de tabela de mapeamento de ID devem seguir a sintaxe a seguir.

--select_list_expression SELECT provider.data_col, consumer.data_col --table_expression FROM provider JOIN idMappingTable idmt ON provider.id = idmt.sourceId JOIN consumer ON consumer.id = idmt.targetId

Tabelas de colaboração

As tabelas a seguir representam tabelas configuradas que existem em uma AWS Clean Rooms colaboração. A coluna id nas tabelas cr_drivers_license e cr_insurance representa uma coluna que corresponde à tabela de mapeamento de ID.

cr_drivers_license

id nome_do_motorista estado_de_registro
1 Eduard TX
2 Dana MA
3 Gweneth IL

cr_insurance

id e-mail do tomador da apólice número_do_apólice
a eduardo@internal.company.com 17f9d04e-f5be-4426-bdc4-250ed59c6529
b gwen@internal.company.com 3f0092db-2316-48a8-8d44-09cf8f6e6c64
c rosa@internal.company.com d7692e84-3d3c-47b8-b46d-a0d5345f0601

Tabela de mapeamento de ID

A tabela a seguir representa uma tabela de mapeamento de ID existente que corresponde às tabelas cr_drivers_license e cr_insurance. Nem todas as entradas serão válidas IDs para ambas as tabelas de colaboração.

cr_drivers_license_id ID do seguro do carro
1 a
2 nulo
3 b
nulo c

A regra de análise da tabela de mapeamento de ID só permite que as consultas sejam executadas no conjunto de dados sobrepostos, que teria a seguinte aparência:

cr_drivers_license_id ID do seguro do carro nome_do_motorista estado_de_registro e-mail do tomador da apólice número_do_apólice
1 a Eduard TX eduardo@internal.company.com 17f9d04e-f5be-4426-bdc4-250ed59c6529
3 b Gweneth IL gwen@internal.company.com 3f0092db-2316-48a8-8d44-09cf8f6e6c64

Consultas de exemplo

Os exemplos a seguir mostram locais válidos para as junções da tabela de mapeamento de ID:

-- Single ID mapping table SELECT [ select_items ] FROM cr_drivers_license cr_dl [ INNER | LEFT | RIGHT ] JOIN cr_identity_mapping_table idmt ON idmt.cr_drivers_license_id = cr_dl.id [ INNER | LEFT | RIGHT ] JOIN cr_insurance cr_in ON idmt.cr_insurance_id = cr_in.id ; -- Single ID mapping table (Subquery) SELECT [ select_items ] FROM ( SELECT [ select_items ] FROM cr_drivers_license cr_dl [ INNER | LEFT | RIGHT ] JOIN cr_identity_mapping_table idmt ON idmt.cr_drivers_license_id = cr_dl.id [ INNER | LEFT | RIGHT ] JOIN cr_insurance cr_in ON idmt.cr_insurance_id = cr_in.id ) ; -- Single ID mapping table (CTE) WITH matched_ids AS ( SELECT [ select_items ] FROM cr_drivers_license cr_dl [ INNER | LEFT | RIGHT ] JOIN cr_identity_mapping_table idmt ON idmt.cr_drivers_license_id = cr_dl.id [ INNER | LEFT | RIGHT ] JOIN cr_insurance cr_in ON idmt.cr_insurance_id = cr_in.id ) SELECT [ select_items ] FROM matched_ids ;

Considerações

Para a estrutura e a sintaxe da consulta da tabela de mapeamento de ID, esteja ciente do seguinte:

  • Você não pode editá-lo.

  • Ela é aplicada à tabela de mapeamento de ID por padrão.

  • Ele usa uma associação de namespace de ID de origem e destino dentro da colaboração.

  • A tabela de mapeamento de ID é configurada por padrão para fornecer proteções padrão para a coluna que vem do namepsace ID. Você pode modificar essa configuração para que a coluna que vem do namespace ID (sourceIDoutargetID) possa ser permitida em qualquer lugar na consulta. Para obter mais informações, consulte Trabalhando com namespaces de ID em AWS Clean Rooms.

  • A regra de análise da tabela de mapeamento de ID herda SQL as restrições das outras regras de análise na colaboração.

Controles de consulta de regras de análise de tabelas de mapeamento de ID

Com os controles de consulta da tabela de mapeamento de ID, AWS Clean Rooms controla como as colunas em sua tabela são usadas para consultar a tabela. Por exemplo, ele controla quais colunas são usadas para unir e quais colunas precisam de sobreposição. A regra de análise da tabela de mapeamento de ID também inclui uma funcionalidade que permite que você permita que o sourceIDtargetID, o, ou ambos, sejam projetados sem exigir umJOIN.

A tabela a seguir explica cada controle.

Controle Definição Uso
joinColumns As colunas que o membro que pode consultar pode usar na INNER JOIN declaração. Você não pode usar joinColumns em nenhuma outra parte da consulta além de INNERJOIN.

Para obter mais informações, consulte Controles de junção.

dimensionColumns As colunas (se houver) que o membro que pode consultar pode usar as instruções in SELECT e GROUP BY.

A dimensionColumn pode ser usado em SELECT GROUP BY e.

A dimensionColumn pode aparecer comojoinKeys.

Você só pode usar dimensionColumns na JOIN cláusula se você especificá-la entre colchetes.

queryContraints:RequireOverlap

As colunas na tabela de mapeamento de ID que devem ser unidas para que a consulta possa ser executada.

Essas colunas devem ser usadas JOIN na tabela de mapeamento de ID e em uma tabela de colaboração.

Estrutura predefinida da regra de análise de tabela de mapeamento de ID

A estrutura predefinida para uma regra de análise de tabela de mapeamento de ID vem com proteções padrão que são aplicadas ao e. sourceID targetID Isso significa que a coluna com proteções aplicadas deve ser usada em consultas.

Você pode configurar a regra de análise da tabela de mapeamento de ID das seguintes formas:

  • Ambos sourceID e targetID protegidos

    Nessa configuração, o sourceID e não targetID pode ser projetado ao mesmo tempo. O sourceID e targetID deve ser usado em um JOIN quando a tabela de mapeamento de ID é referenciada.

  • Somente targetID protegido

    Nessa configuração, o não targetID pode ser projetado. O targetID deve ser usado em um JOIN quando a tabela de mapeamento de ID é referenciada. O sourceID pode ser usado na consulta.

  • Somente sourceID protegido

    Nessa configuração, o não sourceID pode ser projetado. O sourceID deve ser usado JOIN quando a tabela de mapeamento de ID é referenciada. O targetID pode ser usado na consulta.

  • sourceIDNem targetID protegido

    Nessa configuração, a tabela de mapeamento de ID não está sujeita a nenhuma imposição específica que possa ser usada na consulta.

O exemplo a seguir mostra uma estrutura predefinida para uma regra de análise de tabela de mapeamento de ID com as proteções padrão aplicadas ao e. sourceID targetID Neste exemplo, a regra de análise da tabela de mapeamento de ID só permite um INNER JOIN na sourceID coluna e na targetID coluna.

{ "joinColumns": [ "source_id", "target_id" ], "queryConstraints": [ { "requireOverlap": { "columns": [ "source_id", "target_id" ] } } ], "dimensionColumns": [] // columns that can be used in SELECT and JOIN }

O exemplo a seguir mostra uma estrutura predefinida para uma regra de análise de tabela de mapeamento de ID com proteções aplicadas ao. targetID Neste exemplo, a regra de análise da tabela de mapeamento de ID permite somente um INNER JOIN na sourceID coluna.

{ "joinColumns": [ "source_id", "target_id" ], "queryConstraints": [ { "requireOverlap": { "columns": [ "target_id" ] } } ], "dimensionColumns": [ "source_id" ] }

O exemplo a seguir mostra uma estrutura predefinida para uma regra de análise de tabela de mapeamento de ID com proteções aplicadas ao. sourceID Neste exemplo, a regra de análise da tabela de mapeamento de ID permite somente um INNER JOIN na targetID coluna.

{ "joinColumns": [ "source_id", "target_id" ], "queryConstraints": [ { "requireOverlap": { "columns": [ "source_id" ] } } ], "dimensionColumns": [ "target_id" ] }

O exemplo a seguir mostra uma estrutura predefinida para uma regra de análise de tabela de mapeamento de ID sem proteções aplicadas ao ou. sourceID targetID Neste exemplo, a regra de análise da tabela de mapeamento de ID permite um INNER JOIN na sourceID coluna e na targetID coluna.

{ "joinColumns": [ "source_id", "target_id" ], "queryConstraints": [ { "requireOverlap": { "columns": [] } } ], "dimensionColumns": [ "source_id", "target_id" ] }

Regra de análise de tabela de mapeamento de ID — exemplo

Em vez de escrever uma longa declaração em cascata que faça referência às Informações de Identificação Pessoal (PII), por exemplo, as empresas podem usar a regra de análise da tabela de mapeamento de ID para usar a transcodificação multipartidária. LiveRamp O exemplo a seguir demonstra como você pode colaborar AWS Clean Rooms usando a regra de análise da tabela de mapeamento de ID.

A empresa A é um anunciante que tem dados de clientes e vendas, que serão usados como fonte. A empresa A também realiza a transcodificação em nome das partes na colaboração e traz as LiveRamp credenciais.

A empresa B é uma editora que tem dados de eventos, que serão usados como alvo.

nota

Tanto a Empresa A quanto a Empresa B podem fornecer credenciais de LiveRamp transcodificação e realizar a transcodificação.

Para criar uma colaboração que permita a análise da tabela de mapeamento de ID em colaboração, as empresas fazem o seguinte:

  1. A empresa A cria uma colaboração e cria uma associação. Ele adiciona a Empresa B, que também cria uma associação na colaboração.

  2. A empresa A associa uma fonte de namespace de ID existente ou cria uma nova AWS Entity Resolution usando o console. AWS Clean Rooms

    A empresa A cria uma tabela configurada com seus dados de vendas e uma coluna inserida sourceId na tabela de mapeamento de ID.

    A fonte do namespace de ID fornece dados para transcodificação.

  3. A empresa B associa um destino de namespace de ID existente ou cria um novo AWS Entity Resolution usando o console. AWS Clean Rooms

    A empresa B cria uma tabela configurada com os dados do evento e uma coluna inserida targetId na tabela de mapeamento de ID.

    O destino do namespace de ID não fornece dados para transcodificação, apenas metadados em torno da configuração. LiveRamp

  4. A empresa A descobre os dois namespaces de ID associados à colaboração e cria e preenche uma tabela de mapeamento de ID.

  5. A empresa A executa uma consulta nos dois conjuntos de dados unindo-os na tabela de mapeamento de ID.

    --- this would be valid for Custom or List SELECT provider.data_col, consumer.data_col FROM provider JOIN idMappingTable-123123123123-myMappingWFName idmt ON provider.id = idmt.sourceId JOIN consumer ON consumer.id = idmt.targetId