本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設定本機 Visual Studio 程式碼
管理員完成 中的指示後將本機 Visual Studio 程式碼連線至 SageMaker 空間,您可以將本機 Visual Studio Code 連線到遠端 SageMaker 空間。
為您的空間啟用遠端存取
注意
此設定只需要完成一次。
對於現有空間
為您的 SageMaker 空間啟用遠端存取:
-
開啟 SageMaker AI UI。
-
導覽至您的空間。
-
在空間詳細資訊中,開啟遠端存取。
-
啟動您的空間。
設定您的本機環境
在本機電腦上安裝 Visual Studio Code
連線至您的本機 VS 程式碼
在建立從本機 Visual Studio 程式碼到遠端 SageMaker 空間的連線之前,您的管理員必須 設定遠端存取。您的管理員會為您設定特定方法來建立連線。選擇為您設定的方法。
方法 1:來自 Studio UI 的深層連結
-
在 SageMaker AI UI 中,導覽至您的空間
-
選擇使用 開啟空間
-
選擇 VS 程式碼。當您這麼做時,系統可能會提示您開啟 Visual Studio 程式碼。當您選擇這麼做時,您的本機 VS 程式碼會開啟,並顯示另一個快顯視窗來確認。完成後,即會建立遠端連線。
方法 2: AWS Toolkit for Visual Studio Code
使用 Toolkit for VS Code 使用者指南中連線至 AWS 的資訊和指示。
-
開啟 VS 程式碼。
-
開啟 AWS Toolkit 擴充功能。
-
在 AWS Explorer 中,展開 SageMaker AI。
-
尋找您的 Studio 空間。
-
選擇空間旁的連線圖示。
方法 3:透過 SSH CLI 從終端機連線
建立 shell 指令碼 (例如 /home/user/sagemaker_connect.sh
):
#!/bin/bash # Disable the -x option if printing each command is not needed. set -exuo pipefail SPACE_ARN="$1" AWS_PROFILE="${2:-}" # Validate ARN and extract region if [[ "$SPACE_ARN" =~ ^arn:aws[-a-z]*:sagemaker:([a-z0-9-]+):[0-9]{12}:space\/[^\/]+\/[^\/]+$ ]]; then AWS_REGION="${BASH_REMATCH[1]}" else echo "Error: Invalid SageMaker Studio Space ARN format." exit 1 fi # Optional profile flag PROFILE_ARG=() if [[ -n "$AWS_PROFILE" ]]; then PROFILE_ARG=(--profile "$AWS_PROFILE") fi # Start session START_SESSION_JSON=$(aws sagemaker start-session \ --resource-identifier "$SPACE_ARN" \ --region "${AWS_REGION}" \ "${PROFILE_ARG[@]}") # Extract fields using grep and sed SESSION_ID=$(echo "$START_SESSION_JSON" | grep -o '"SessionId": "[^"]*"' | sed 's/.*: "//;s/"$//') STREAM_URL=$(echo "$START_SESSION_JSON" | grep -o '"StreamUrl": "[^"]*"' | sed 's/.*: "//;s/"$//') TOKEN=$(echo "$START_SESSION_JSON" | grep -o '"TokenValue": "[^"]*"' | sed 's/.*: "//;s/"$//') # Validate extracted values if [[ -z "$SESSION_ID" || -z "$STREAM_URL" || -z "$TOKEN" ]]; then echo "Error: Failed to extract session information from sagemaker start session response." exit 1 fi # Call session-manager-plugin session-manager-plugin \ "{\"streamUrl\":\"$STREAM_URL\",\"tokenValue\":\"$TOKEN\",\"sessionId\":\"$SESSION_ID\"}" \ "$AWS_REGION" "StartSession"
-
讓指令碼可執行檔:
chmod +x /home/user/sagemaker_connect.sh
-
設定
$HOME/.ssh/config
以新增下列項目:
Host my_space_name_abc HostName 'arn:
PARTITION
:sagemaker:REGION
:ACCOUNT
:space/DOMAIN_ID
/space_name_abc' ProxyCommand '/home/user/sagemaker_connect.sh' '%h' ForwardAgent yes AddKeysToAgent yes StrictHostKeyChecking accept-new
例如,
可以是 PARTITION
aws
。
如果您需要使用具名 AWS 憑證描述檔,請變更代理命令,如下所示:
ProxyCommand '/home/user/sagemaker_connect.sh' '%h'
YOUR_CREDENTIAL_PROFILE_NAME
-
透過 SSH 連線或執行 SCP 命令:
ssh my_space_name_abc scp file_abc my_space_name_abc:/tmp/