本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
ID 對映表分析規則
在中 AWS Clean Rooms,ID 對應表分析規則不是獨立的分析規則。此類型的分析規則由管理, AWS Clean Rooms 並用於聯結不同的身分識別資料以便於查詢。它會自動新增至 ID 對應表格,且無法進行編輯。它會繼承協同作業中其他分析規則的行為,只要這些分析規則是同質的。
ID 對應表分析規則會強制執行 ID 對應表格的安全性。它會限制協同合作成員使用 ID 對映表直接選取或檢查兩個成員資料集之間的非重疊人口。ID 對映表分析規則用於隱含的查詢時,ID 對映表分析規則用於保護 ID 對映表中的機密資料。
使用 ID 對映表分析規則,在展SQL開的 ID 對映表的兩側 AWS Clean Rooms 強制重疊。這可讓您執行下列工作:
-
在JOIN陳述式中使用 ID 對應表格的重疊。
AWS Clean Rooms 如果 ID 對映表符RIGHT合重疊LEFT,則允許、或聯結。INNER
-
在陳述式中使用對映JOIN表資料欄。
您無法在下列陳述式中使用對應資料表資料行:SELECT、WHERE、HAVINGGROUP BY、或 ORDER BY (除非來源 ID 命名空間關聯或目標 ID 命名空間關聯上的保護已修改)。
-
在展開中SQL, AWS Clean Rooms 還支持 OUTER JOINJOIN,隱含和CROSSJOIN。這些聯結無法滿足重疊需求。而是 AWS Clean Rooms 用
requireOverlap
來指定哪些欄必須在其上接合。
支援的查詢結構和語法會在中進行修改。ID 對應資料表查詢結構與語法
在ID 對映表分析規則查詢控制項中設定的分析規則參數包括查詢控制項和查詢結果控制項。其查詢控制項包括要求在JOIN陳述式中重疊 ID 對應表格的能力 (也就是requireOverlap
)。
ID 對應資料表查詢結構與語法
對具有 ID 對映表分析規則的資料表查詢必須遵循下列語法。
--
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
協同合作表
下表代表 AWS Clean Rooms 協同作業中存在的已配置表格。cr_drivers_許可證/cr_ 保險表格的識別碼欄代表與 ID 對應表格相符的資料欄。
cr_ 驅動程式授權
id | 驅動程式名稱 | 註冊狀態 |
1 | 愛德華 | TX |
2 | 達納 | MA |
3 | 格溫奈斯 | IL |
瑞士保險
id | 保單持有人電子郵件 | 策略號碼 |
a | eduardo@internal.company.com | 17f9d04e-F5 是 -4426-BDC4-250ed59C6529 |
b | gwen@internal.company.com | 3f0092db-2316-48a8-8d44-09CF8f6e6c64 |
c | rosa@internal.company.com | d7692e84-3d3c-47b8-b46-A0D5345f0601 |
識別碼對應表
下表顯示與 cr_drivers_ license 和保險表格相符的現有識別碼對應表。並非所有項目都IDs適用於這兩個協同作業表格。
cr_ 驅動程式許可證 ID | 保險身份證 |
1 | a |
2 | null |
3 | b |
null | c |
ID 對映表分析規則僅允許對重疊資料集執行查詢,如下所示:
cr_ 驅動程式許可證 ID | 保險身份證 | 驅動程式名稱 | 註冊狀態 | 保單持有人電子郵件 | 策略號碼 |
1 | a | 愛德華 | TX | eduardo@internal.company.com | 17f9d04e-F5 是 -4426-BDC4-250ed59C6529 |
3 | b | 格溫奈斯 | IL | gwen@internal.company.com | 3f0092db-2316-48a8-8d44-09CF8f6e6c64 |
查詢範例
下列範例顯示 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 ;
考量事項
對於 ID 對應資料表查詢結構和語法,請注意下列事項:
-
您無法編輯它。
-
依預設,它會套用至 ID 對應表。
-
它使用協同作業內的來源和目標 ID 命名空間關聯。
-
ID 對應表格預設會設定為提供來自 ID 名稱的資料行的預設保護。您可以修改此組態,以便在查詢中的任何位置允許來自 ID 命名空間 (
sourceID
或targetID
) 的資料行。如需詳細資訊,請參閱中的 ID 命名空間 AWS Clean Rooms。 -
ID 對映表分析規則會繼承協同合作中其他分析規則的SQL限制。
ID 對映表分析規則查詢控制項
透過 ID 對應資料表查詢控 AWS Clean Rooms 制項,控制如何使用資料表中的資料行來查詢資料表。例如,它控制哪些柱用於接合,以及哪些柱需要重疊。ID 對映表分析規則也包含可讓您不需要投影targetID
、或兩者的功能JOIN。sourceID
下表說明每個控制項。
控制項 | 定義 | 用量 |
---|---|---|
joinColumns |
可以查詢的成員可以在INNERJOIN陳述式中使用的資料欄。 | 您不能joinColumns 在查詢的任何其他部分中使用INNERJOIN。如需詳細資訊,請參閱加入控制。 |
dimensionColumns |
可以查詢的成員可以在SELECT和 GROUP BY 陳述式中使用的資料欄 (如果有的話)。 |
A A 只有在括號 |
queryContraints:RequireOverlap |
ID 對應表格中必須關連,才能執行查詢的資料行。 |
這些欄必須用於 ID JOIN 對應表和協同合作表格。 |
ID 對映表分析規則預先定義的結構
ID 對映表分析規則的預設結構隨附套用至和的預設保護。sourceID
targetID
這表示套用保護的資料行必須在查詢中使用。
您可以透過下列方式設定 ID 對映表分析規則:
-
兩者
sourceID
和targetID
受保護在此配置中,
sourceID
和不targetID
能同時投影。參照 ID 對映表JOIN時,targetID
必須在中使用sourceID
和。 -
僅
targetID
受保護在此配置中,
targetID
無法投影。參照 ID 對應表JOIN時,targetID
必須在中使用。sourceID
可以在查詢中使用。 -
僅
sourceID
受保護在此配置中,
sourceID
無法投影。參照 ID 對映表JOIN時,sourceID
必須在中使用。targetID
可以在查詢中使用。 -
既沒有
sourceID
或targetID
受保護在此設定中,ID 對應表不受查詢中可使用的任何特定強制執行。
下列範例顯示 ID 對映表分析規則的預先設定結構,並套用至和的預設保護。sourceID
targetID
在此範例中,ID 對映表分析規則僅允許在sourceID
欄和欄INNERJOIN上執行。targetID
{ "joinColumns": [ "source_id", "target_id" ], "queryConstraints": [ { "requireOverlap": { "columns": [ "source_id", "target_id" ] } } ], "dimensionColumns": [] // columns that can be used in SELECT and JOIN }
下列範例顯示了 ID 對映表分析規則的預先設定結構,並套用了保護。targetID
在此範例中,ID 對映表分析規則僅允許在sourceID
欄INNERJOIN上執行。
{ "joinColumns": [ "source_id", "target_id" ], "queryConstraints": [ { "requireOverlap": { "columns": [ "target_id" ] } } ], "dimensionColumns": [ "source_id" ] }
下列範例顯示了 ID 對映表分析規則的預先設定結構,並套用了保護。sourceID
在此範例中,ID 對映表分析規則僅允許在targetID
欄INNERJOIN上執行。
{ "joinColumns": [ "source_id", "target_id" ], "queryConstraints": [ { "requireOverlap": { "columns": [ "source_id" ] } } ], "dimensionColumns": [ "target_id" ] }
下列範例顯示未套用保護至或的 ID 對映表分析規則的預先設定結構。sourceID
targetID
在此範例中,ID 對映表分析規則允許在sourceID
欄和欄INNERJOIN上執行。targetID
{ "joinColumns": [ "source_id", "target_id" ], "queryConstraints": [ { "requireOverlap": { "columns": [] } } ], "dimensionColumns": [ "source_id", "target_id" ] }
ID 對映表分析規則 — 範例
舉例來說,公司可以使用 ID 對應表分析規則來使用多方 LiveRamp 轉碼,而不是撰寫參照個人識別資訊 (PII) 的長瀑布陳述式。以下範例示範如何 AWS Clean Rooms 使用 ID 對映表分析規則進行協同作業。
A 公司是擁有客戶和銷售數據的廣告客戶,這些數據將被用作來源。A 公司還代表合作中的各方進行轉碼,並帶來了 LiveRamp 憑據。
B 公司是具有事件資料的發行者,該資料將用作目標。
注意
A 公司或 B 公司都可以提供 LiveRamp 轉碼憑證並執行轉碼。
若要建立可協同合作的 ID 對映表分析的協同作業,公司會執行下列動作:
-
公司 A 會建立協同合作並建立成員資格。它增加了 B 公司,該公司還在協同合作中創建成員資格。
-
公司 A 可以關聯現有的 ID 命名空間源或 AWS Entity Resolution 使用 AWS Clean Rooms 控制台創建一個新的 ID 命名空間源。
A 公司會建立已配置的表格,其中包含其銷售資料,以及 ID 對映表格
sourceId
中鍵入的欄。ID 命名空間來源提供要轉碼的資料。
-
B 公司要么關聯現有的 ID 命名空間目標,或者 AWS Entity Resolution 使用 AWS Clean Rooms 控制台創建一個新的 ID 命名空間目標。
B 公司會建立已配置的表格,其中包含事件資料,以及 ID 對映表
targetId
中鍵入的欄。ID 命名空間目標不會提供轉碼的資料,只提供 LiveRamp 設定周圍的中繼資料。
-
公司 A 會探索與協同作業相關聯的兩個 ID 命名空間,並建立並填入 ID 對應表格。
-
A 公司透過加入 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