本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
设置本地 Visual Studio 代码
管理员完成中的说明后通过远程访问将您的本地 Visual Studio 代码连接到 SageMaker 空间,您可以将本地 Visual Studio 代码连接到远程 SageMaker 空间。
设置本地环境
在本地计算机上安装 Visual Studio 代码
Connect 连接到你的本地 VS 代码
在建立从本地 Visual Studio Code 到远程 SageMaker 空间的连接之前,必须由管理员进行连接设置远程访问。您的管理员为您设置了建立连接的特定方法。选择为您设置的方法。
方法 1:来自 Studio 用户界面的深度链接
使用以下步骤使用深度链接建立连接。
-
在 Studio 用户界面中,导航到您的空间。
-
选择 “开放空间”。
-
选择 VS 代码。当你这样做时,系统可能会提示你打开 Visual Studio 代码。当您选择这样做时,您的本地 VS Code 会打开另一个弹出窗口进行确认。完成后,远程连接即建立。
方法 2: AWS Toolkit for Visual Studio Code
使用以下步骤使用建立连接 AWS Toolkit for Visual Studio Code。
-
打开 VS Code。
-
打开 AWS 工具包扩展。
-
在 AWS 资源管理器中,展开 SageMaker AI。
-
找到你的工作室空间。
-
选择空间旁边的 Connect 图标即可启动。
注意
-
停止并重新启动 Visual Studio 工具包中的空间以启用远程访问(如果尚未连接)。
-
如果空间未使用支持的实例大小,则系统将要求您更改实例。
-
方法 3:通过 SSH CLI 从终端连接
使用以下步骤使用 SSH CLI 建立连接。
对于此设置,请确保 AWS CLI安装了 AWS Command Line Interface (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/