

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 在 AWS Clean Rooms ML 中貢獻訓練資料
<a name="custom-model-training-data"></a>

協同合作建立者建立協同合作並邀請成員加入後，您就可以將訓練資料提供給協同合作。任何成員都可以提供訓練資料。

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

**貢獻訓練資料 （主控台）**

1. 登入 AWS 管理主控台 並在 https：//[https://console.aws.amazon.com/cleanrooms](https://console.aws.amazon.com/cleanrooms/home) 開啟 AWS Clean Rooms 主控台。

1. 在左側導覽窗格中，選擇 **Tables (資料表)**。

1. 在**資料表**頁面上，選擇**設定新資料表**。

1. 針對**設定新資料表**，針對**資料來源選擇** **Amazon S3**、**Amazon Athena** 或 **Snowflake**，然後根據您的資料來源完成下列步驟：    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/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}}']
               }
           }
       }
   )
   ```

------