設定本機 Visual Studio 程式碼 - Amazon SageMaker AI

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

設定本機 Visual Studio 程式碼

管理員完成 中的指示後使用遠端存取將本機 Visual Studio 程式碼連線至 SageMaker 空間,您可以將本機 Visual Studio Code 連線到遠端 SageMaker 空間。

設定您的本機環境

在本機電腦上安裝 Visual Studio Code。如需需求的資訊,請參閱 使用遠端存取將本機 Visual Studio 程式碼連線至 SageMaker 空間

連線至您的本機 VS 程式碼

在建立從本機 Visual Studio 程式碼到遠端 SageMaker 空間的連線之前,您的管理員必須 設定遠端存取。您的管理員會為您設定特定方法來建立連線。選擇為您設定的方法。

使用下列程序,使用深層連結建立連線。

  1. 啟動 Amazon SageMaker Studio

  2. 在 Studio UI 中,導覽至您的空間。

  3. 選擇使用 開啟空間

  4. 選擇 VS 程式碼。當您這麼做時,系統可能會提示您開啟 Visual Studio 程式碼。當您選擇這麼做時,您的本機 VS 程式碼會開啟,並顯示另一個快顯視窗來確認。完成後,已建立遠端連線。

方法 2: AWS Toolkit for Visual Studio Code

使用下列程序,使用 建立連線 AWS Toolkit for Visual Studio Code。

  1. 開啟 VS 程式碼。

  2. 開啟 AWS Toolkit 擴充功能。

  3. 連線至 AWS

  4. 在 AWS Explorer 中,展開 SageMaker AI

  5. 尋找您的 Studio 空間。

  6. 選擇空間旁的連線圖示來啟動它。

    注意
    • 如果尚未連線,請停止並重新啟動 Toolkit for Visual Studio 中的空間,以啟用遠端存取。

    • 如果空間未使用支援的執行個體大小,系統會要求您變更執行個體。

方法 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"
  1. 讓指令碼可執行檔:

    chmod +x /home/user/sagemaker_connect.sh
  2. 設定 $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/