本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設定本機 Visual Studio 程式碼
管理員完成 中的指示後使用遠端存取將本機 Visual Studio 程式碼連線至 SageMaker 空間,您可以將本機 Visual Studio Code 連線到遠端 SageMaker 空間。
設定您的本機環境
在本機電腦上安裝 Visual Studio Code
連線至您的本機 VS 程式碼
在建立從本機 Visual Studio 程式碼到遠端 SageMaker 空間的連線之前,您的管理員必須 設定遠端存取。您的管理員會為您設定特定方法來建立連線。選擇為您設定的方法。
方法 1:來自 Studio UI 的深層連結
使用下列程序,使用深層連結建立連線。
-
在 Studio UI 中,導覽至您的空間。
-
選擇使用 開啟空間。
-
選擇 VS 程式碼。當您這麼做時,系統可能會提示您開啟 Visual Studio 程式碼。當您選擇這麼做時,您的本機 VS 程式碼會開啟,並顯示另一個快顯視窗來確認。完成後,已建立遠端連線。
方法 2: AWS Toolkit for Visual Studio Code
使用下列程序,使用 建立連線 AWS Toolkit for Visual Studio Code。
方法 3:透過 SSH CLI 從終端機連線
使用下列程序,使用 SSH CLI 建立連線。
針對此設定,請確定您已安裝 的 AWS Command Line Interface (AWS CLI) 和 Session Manager 外掛程式 AWS 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/