本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
设置本地 Visual Studio 代码
管理员完成中的说明后将你的本地 Visual Studio 代码连接到 SageMaker 空间,您可以将本地 Visual Studio 代码连接到远程 SageMaker 空间。
为您的空间启用远程访问
注意
此设置只需要完成一次。
对于现有空间
激活 SageMaker 空间的远程访问权限:
-
打开 A SageMaker I 用户界面。
-
导航到您的空间。
-
在空间详细信息中,打开 “远程访问”。
-
开始你的空间。
设置本地环境
在本地计算机上安装 Visual Studio 代码
Connect 连接到你的本地 VS Code
在建立从本地 Visual Studio Code 到远程 SageMaker 空间的连接之前,必须由管理员进行连接设置远程访问。您的管理员为您设置了建立连接的特定方法。选择为您设置的方法。
方法 1:来自 Studio 用户界面的深度链接
-
在 SageMaker AI 用户界面中,导航到您的空间
-
选择 “开放空间”
-
选择 VS 代码。当你这样做时,系统可能会提示你打开 Visual Studio 代码。当您选择这样做时,您的本地 VS Code 会打开另一个弹出窗口进行确认。完成后,远程连接即建立。
方法 2: AWS Toolkit for Visual Studio Code
使用适用于 VS Code 的 Toolkit 用户指南 AWS中连接中的信息和说明。
-
打开 VS Code。
-
打开 AWS 工具包扩展。
-
在 AWS 资源管理器中,展开 SageMaker AI。
-
找到你的工作室空间。
-
选择空间旁边的 Connect 图标。
方法 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/