

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

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

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

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

**提供训练数据（控制台）**

1. 登录 AWS 管理控制台 并打开 AWS Clean Rooms 控制台，地址为[https://console.aws.amazon.com/cleanrooms](https://console.aws.amazon.com/cleanrooms/home)。

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

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

1. 在 “**配置新表” 中**，在 “**数据源” 中，**选择 ** Amazon S3 **、** Amazon Athena ** 或 S ** nowflake，**然后根据您的数据源完成以下步骤：    
[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}}']
               }
           }
       }
   )
   ```

------