本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
將自訂檔案系統新增至網域
當您建立網域時,Amazon SageMaker AI 會將預設 Amazon Elastic File System (Amazon EFS) 磁碟區新增至網域。SageMaker AI 會為您建立此磁碟區。您也可以選擇新增自訂 Amazon EFS 或已建立的自訂 Amazon FSx for Lustre 檔案系統。新增後,您的檔案系統可供屬於您網域的使用者使用。您的使用者可以在使用 Amazon SageMaker Studio 時存取檔案系統。他們可以將檔案系統連接至他們為下列受支援應用程式建立的空間:
-
JupyterLab
-
程式碼編輯器
在執行空間並啟動應用程式之後,您的使用者可以存取檔案系統包含的任何資料、程式碼或其他成品。
您可以讓使用者以下列方式存取您的檔案系統:
-
透過共用空間 - 任何屬於您網域的使用者都可以建立共用空間。然後,任何屬於您網域的使用者都可以使用它。
-
透過私有空間 - 任何屬於您網域的使用者都可以建立私有空間。然後,只有該使用者才能使用它。
-
僅以個別使用者身分 - 如果您不想要讓所有使用者可以存取檔案系統,您只能讓特定使用者存取該檔案系統。如果您這樣做,只能在特定使用者建立的私有空間中使用檔案系統。
您可以使用 Amazon SageMaker API、AWSSDKs或 新增自訂檔案系統AWS CLI。您無法使用 SageMaker AI 主控台新增自訂檔案系統。
先決條件
您必須先符合下列要求,才能將自訂檔案系統新增至網域:
-
您在 SageMaker AI 中有一個網域。在新增檔案系統之前,您需要網域 ID。您可以使用 SageMaker AI 主控台查閱 ID。您也可以使用 AWS CLI 執行
list-domains命令。 -
您的 AWS 帳戶 中有 Amazon EFS 或 FSx for Lustre 檔案系統。
使用 將自訂檔案系統新增至網域AWS CLI
若要使用 將自訂檔案系統新增至網域或使用者設定檔AWS CLI,當您使用下列任何命令時,會傳遞CustomFileSystemConfigs定義:
下列範例顯示如何將檔案系統新增至現有的網域或使用者設定檔。
新增可在共用空間存取的檔案系統
-
更新網域的預設空間設定。下列範例會將檔案系統設定新增至預設空間設定:
aws sagemaker update-domain --domain-iddomain-id\ --default-space-settings file://file-system-settings.json此範例會以 JSON 檔案的形式傳遞檔案系統組態,如後續範例所示。
新增可在私有空間存取的檔案系統
-
更新網域的預設使用者設定。下列範例會將檔案系統設定新增至預設使用者設定:
aws sagemaker update-domain --domain-iddomain-id\ --default-user-settings file://file-system-settings.json此範例會以 JSON 檔案的形式傳遞檔案系統組態,如後續範例所示。
新增僅個別使用者可以存取的檔案系統
-
更新使用者的使用者設定檔。下列範例會將檔案系統設定新增至使用者設定檔:
aws sagemaker update-user-profile --domain-iddomain-id\ --user-profile-nameuser-profile-name\ --user-settings file://file-system-settings.json此範例會以 JSON 檔案的形式傳遞檔案系統組態,如下列範例所示。
範例 檔案系統設定檔案
上述範例中的檔案 file-system-settings.json 具有下列設定:
當您將檔案系統指派給網域的預設空間設定時,您亦須在設定中包含執行角色:
{ "ExecutionRole": "execution-role-arn" }
此範例組態具有下列金鑰:
ExecutionRole-
網域使用者的預設執行角色。
如果您想要針對檔案系統套用 POSIX 許可,您也可以將下列設定傳遞至 create-domain 或 create-user-profile 命令:
{ "CustomPosixUserConfig": { "Uid":UID, "Gid":GID} }
此範例組態具有下列金鑰:
CustomPosixUserConfig-
用於檔案系統操作的預設 POSIX 身分。您可以使用這些設定,將現有的 POSIX 許可結構套用至存取自訂檔案系統的使用者設定檔。在 POSIX 許可層級,您可以控制哪些使用者可以存取檔案系統,以及他們可以存取哪些檔案或資料。
您也可以使用
create-user-profile命令,在建立使用者設定檔時套用CustomPosixUserConfig設定。您套用至使用者設定檔的設定會覆寫您套用至相關聯網域的設定。注意
您可以在使用
create-domain和create-user-profile命令時套用CustomPosixUserConfig設定。不過,當您執行下列動作時,無法套用這些設定:-
針對已與任何使用者設定檔相關聯的網域使用
update-domain命令。您只能將這些設定套用至沒有使用者設定檔的網域。 -
使用
update-user-profile命令。若要將這些設定套用到您已建立的設定檔,請刪除設定檔,然後建立一個具有已更新設定的新設定檔。
-
Uid-
POSIX 使用者 ID。預設值為 200001。
Gid-
POSIX 群組 ID。預設值為 1001。
使用 AWS CLI 將自訂檔案系統連接至空間
在將自訂檔案系統新增至網域之後,網域使用者可以將檔案系統連接至他們建立的空間。例如,當使用 Studio 或 create-space 命令搭配 AWS CLI 時,他們可以連接檔案系統。
將自訂檔案系統連接至空間
-
將檔案系統組態新增至空間設定。下列範例命令會將檔案系統連接至新的空間。
aws sagemaker create-space \ --space-namespace-name\ --domain-iddomain-id\ --ownership-settings "OwnerUserProfileName=user-profile-name" \ --space-sharing-settings "SharingType=Private" \ --space-settings file://space-settings.json在此範例中,檔案
space-settings.json具有下列設定,其中包含具有FileSystemId金鑰的CustomFileSystems組態。SageMaker AI 會在下列路徑建立符號連結:
/home/sagemaker-user/custom-file-systems/。如此一來,網域使用者可以從主目錄file-system-type/file-system-id/home/sagemaker-user內導覽至自訂檔案系統。