

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 在 AWS Clean Rooms ML 中贡献训练数据
<a name="custom-model-training-data"></a>

在协作创建者创建协作并且受邀成员加入后，您就可以为协作贡献训练数据了。任何成员都可以贡献训练数据。

------
#### [ Console ]

**贡献训练数据（控制台）**

1. 登录 AWS 管理控制台 并在 [https://console.aws.amazon.com/clean](https://console.aws.amazon.com/cleanrooms/home) room AWS Clean Rooms s 上打开控制台。

1. 在左侧导航窗格中，选择 **表**。

1. 在 “**表**” 页面上，选择 “**配置新表**”。

1. 对于**配置新表**，对于**数据源**，选择 A **mazon S3**、**Amazon A** thena **或** Snowflake，然后根据您的数据源完成以下步骤：    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/clean-rooms/latest/userguide/custom-model-training-data.html)

1. 选择**配置新表**。

1. 在表格详细信息页面上，选择**配置分析规则**，为该表配置自定义分析规则。自定义分析规则限制对数据的访问权限。您可以允许对您的数据进行一组特定的预授权查询，也可以允许一组特定的账户查询您的数据。

   1. 对于**分析规则类型**，选择**自定义**，对于**创建方法**，选择**引导流程**。

   1. 选择**下一步**。

   1. 在 “**指定分析控件**” 中，在 “**查看每项新分析**” 和 “**允许特定合作者进行任何分析**” 之间进行选择。

   1. 选择**下一步**。

   1. （可选）对于**指定分析结果控件**，对于**输出中不允许的列**，请指定是否要从输出中排除任何列。如果选择 “**无**”，则不会从输出中排除任何列。如果选择 “**自定义列表**”，则可以指定将从输出中删除的某些列。

   1. 对于**应用于输出的其他分析**，请指定在生成结果之前是允许、拒绝还是要求进行其他分析。

   1. 选择**下一步**。

   1. （可选）在 “**设置差异隐私**” 中，选择 “**关闭**”。

   1. 选择**下一步**。

   1. 查看**查看和配置**页面上的信息，然后选择**配置分析规则**。

1. 在表格详细信息页面中，选择**关联到协作**。

1. 在 “**关联表**” 对话框中，选择要将此表格关联到的协作，然后选择 “**选择协作”**。

1. 在 “**关联表**” 页面上，查看并验证**表关联详细信息**、**服务访问权限**和**标签**中的信息。选择**关联表**。

1. 在 “与**您关联的表**” 表中，选择刚才关联的表旁边的单选按钮。从 “**操作**” 菜单中，选择 “**协作分析规则**” 组中的 “**配置**”。

1. 在 “**配置协作分析规则**” 页面上，在 “**允许的其他分析**” 中，选择是否有任何协作成员或特定协作成员可以执行其他分析。

   对于**结果交付**，请选择允许哪些成员接收来自查询输出的结果。

1. 选择**配置分析规则**。

------
#### [ API ]

贡献训练数据 (API)

1.  AWS Clean Rooms 通过提供 AWS Glue 表和可以使用的列，配置现有表以供在中使用。

   使用您的特定参数运行以下代码。

   ```
   import boto3 
   acr_client= boto3.client('cleanrooms')
   
   acr_client.create_configured_table(
       name='configured_table_name',
       tableReference= {
           'glue': {
               'tableName': 'glue_table_name',
               'databaseName': 'glue_database_name'
           }
       },
       analysisMethod="DIRECT_QUERY",
       allowedColumns=["column1", "column2", "column3",...]
   )
   ```

1. 配置限制对数据的访问的自定义分析规则。您可以允许对您的数据进行一组特定的预授权查询，也可以允许一组特定的账户查询您的数据。

   使用您的特定参数运行以下代码。

   ```
   import boto3 
   acr_client= boto3.client('cleanrooms')
   
   acr_client.create_configured_table_analysis_rule(
       configuredTableIdentifier='configured_table_id',
       analysisRuleType='CUSTOM',
       analysisRulePolicy= {
           'v1': {
               'custom': {
                   'allowedAnalyses': ['ANY_QUERY'],
                   'allowedAnalysisProviders': ['query_runner_account'],
                   'additionalAnalyses': "REQUIRED"
               }
           }
       }
   )
   ```

   在此示例中，允许特定账户对数据运行任何查询，并且需要进行额外的分析。

1. 将已配置的表与协作关联，并为这些 AWS Glue 表提供服务访问角色。

   使用您的特定参数运行以下代码。

   ```
   import boto3 
   acr_client= boto3.client('cleanrooms')
   
   acr_client.create_configured_table_association(
       name='configured_table_association_name',
       membershipIdentifier='membership_id',
       configuredTableIdentifier='configured_table_id',
       roleArn='arn:aws:iam::account:role/role_name'
   )
   ```
**注意**  
此服务角色拥有对表的权限。只有代表可以查询的成员运行 AWS Clean Rooms 允许的查询时，才可以假设服务角色。任何协作成员（数据所有者除外）都无法访问协作中的底层表。数据所有者可以关闭差异隐私，使其表可供其他成员查询。

1. 最后，向配置的表关联添加分析规则。

   使用您的特定参数运行以下代码。

   ```
   import boto3
   acr_client= boto3.client('cleanrooms')
   
   acr_client.create_configured_table_association_analysis_rule(
       configuredTableAssociationIdentifier='configured_table_association_identifier',
       membershipIdentifier='membership_id',
       configuredTableIdentifier='configured_table_id',
       analysisRuleType = 'CUSTOM',
       analysisRulePolicy= {
           'v1': {
               'custom': {
                   'allowedAdditionalAnalyses': ['configured_model_algorithm_association_arns'],
                   'allowedResultReceivers': ['query_runner_account']
               }
           }
       }
   )
   ```

------