

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

# 在 Amazon S3 中設定筆記本的持久性
<a name="emr-jupyterhub-s3"></a>

您可以在 Amazon EMR 中設定 JupyterHub 叢集，讓使用者所儲存的筆記本能夠持久存在於 Amazon S3 中 (在叢集 EC2 執行個體上暫時性儲存區的外部)。

當您建立叢集時，可以使用 `jupyter-s3-conf` 組態分類來指定 Amazon S3 持久性。如需詳細資訊，請參閱[設定應用程式](emr-configure-apps.md)。

除了使用 `s3.persistence.enabled` 屬性來啟用 Amazon S3 持久性以外，您也可以利用 `s3.persistence.bucket` 屬性，來指定筆記本儲存所在 Amazon S3 中的儲存貯體。每個使用者的筆記本，會儲存到指定儲存貯體中的 `jupyter/jupyterhub-user-name` 資料夾。該儲存貯體必須已存在於 Amazon S3 中，而且您在建立叢集時，所指定的 EC2 執行個體設定檔角色，必須具有對該儲存貯體的許可 (此角色預設為 `EMR_EC2_DefaultRole`)。如需詳細資訊，請參閱[設定 AWS 服務 Amazon EMR 許可的 IAM 角色](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-iam-roles.html)。

當您使用相同的組態分類屬性，來啟動新的叢集時，使用者可以開啟筆記本，其內容來自儲存的位置。

請注意，您在啟用了 Amazon S3 的情況下匯入檔案作為筆記本中的模組時，這將會導致檔案上傳至 Amazon S3。在未啟用 Amazon S3 持久性的情況下匯入檔案時，檔案會上傳至您的 JupyterHub 容器。

下列範例可實現 Amazon S3 持久性。使用者所儲存的筆記本，會儲存於每個使用者的 `s3://MyJupyterBackups/jupyter/jupyterhub-user-name` 資料夾中，其中 `jupyterhub-user-name` 是使用者名稱，例如 `diego`。

```
[
    {
        "Classification": "jupyter-s3-conf",
        "Properties": {
            "s3.persistence.enabled": "true",
            "s3.persistence.bucket": "MyJupyterBackups"
        }
    }
]
```