Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Einrichten des lokalen Visual Studio Code
Nachdem die Administratoren die Anweisungen unter abgeschlossen habenConnect Sie Ihren lokalen Visual Studio-Code mit SageMaker Räumen mit Fernzugriff, können Sie Ihren lokalen Visual Studio-Code mit Ihren SageMaker Remote-Spaces verbinden.
Einrichten Ihrer lokalen Umgebung
Installieren Sie Visual Studio Code auf Ihrem lokalen Computer. Weitere Informationen zu den Anforderungen finden Sie unter Connect Sie Ihren lokalen Visual Studio-Code mit SageMaker Räumen mit Fernzugriff.
Herstellen einer Verbindung zu Ihrem lokalen VS Code
Bevor Sie eine Verbindung von Ihrem lokalen Visual Studio Code zu Ihren SageMaker Remote-Spaces herstellen können, muss Ihr Administrator dies tunEinrichten des Remotezugriffs. Ihr Administrator richtet eine bestimmte Methode ein, mit der Sie eine Verbindung herstellen können. Wählen Sie die Methode aus, die für Sie eingerichtet wurde.
Methode 1: Deep-Link von der Studio-Benutzeroberfläche
Gehen Sie wie folgt vor, um per Deep-Link eine Verbindung herzustellen.
-
Starten Sie Amazon SageMaker Studio.
-
Navigieren Sie in der Studio-Benutzeroberfläche zu Ihrem Bereich.
-
Wählen Sie Bereich öffnen mit aus.
-
Wählen Sie VS Code aus. Wenn Sie dies tun, werden Sie möglicherweise aufgefordert, Visual Studio Code zu öffnen. Wenn Sie sich dafür entscheiden, wird Ihr lokaler VS Code mit einem weiteren Pop-up zur Bestätigung geöffnet. Sobald der Vorgang abgeschlossen ist, wurde die Remoteverbindung hergestellt.
Gehen Sie wie folgt vor, um eine Verbindung mithilfe des AWS Toolkit for Visual Studio Code herzustellen.
-
Öffnen Sie VS Code.
-
Öffnen Sie die AWS Toolkit-Erweiterung.
-
Verbinden mit AWS.
-
Erweitern Sie im AWS Explorer SageMaker AI.
-
Suchen Sie Ihren Studio-Bereich.
-
Wählen Sie das Symbol Verbinden neben Ihrem Bereich aus, um ihn zu starten.
-
Beenden Sie den Service und starten Sie ihn erneut im Toolkit für Visual Studio, um den Remotezugriff zu aktivieren, falls noch keine Verbindung besteht.
-
Wenn der Bereich keine unterstützte Instance-Größe verwendet, werden Sie aufgefordert, die Instance zu ändern.
Methode 3: Herstellen einer Verbindung vom Terminal über SSH-CLI
Wählen Sie eine der folgenden Plattformoptionen, um das Verfahren zum Herstellen einer Verbindung mithilfe der SSH-CLI anzuzeigen.
- Linux/macOS
-
Erstellen Sie ein Shell-Skript (zum Beispiel /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"
-
Machen Sie das Skript ausführbar:
chmod +x /home/user/sagemaker_connect.sh
-
Konfigurieren Sie $HOME/.ssh/config, um den folgenden Eintrag hinzuzufügen:
Host space-name
HostName 'arn:PARTITION:sagemaker:us-east-1:111122223333:space/domain-id/space-name'
ProxyCommand '/home/user/sagemaker_connect.sh' '%h'
ForwardAgent yes
AddKeysToAgent yes
StrictHostKeyChecking accept-new
Die PARTITION kann beispielsweise aws sein.
Wenn Sie ein benanntes AWS Anmeldeinformationsprofil verwenden müssen, ändern Sie den Proxybefehl wie folgt:
ProxyCommand '/home/user/sagemaker_connect.sh' '%h' YOUR_CREDENTIAL_PROFILE_NAME
ssh space-name
scp file_abc space-name:/tmp/
- Windows
-
Voraussetzungen für Windows:
Erstellen Sie ein PowerShell Skript (zum Beispiel): C:\Users\user-name\sagemaker_connect.ps1
# sagemaker_connect.ps1
param(
[Parameter(Mandatory=$true)]
[string]$SpaceArn,
[Parameter(Mandatory=$false)]
[string]$AwsProfile = ""
)
# Enable error handling
$ErrorActionPreference = "Stop"
# Validate ARN and extract region
if ($SpaceArn -match "^arn:aws[-a-z]*:sagemaker:([a-z0-9-]+):[0-9]{12}:space\/[^\/]+\/[^\/]+$") {
$AwsRegion = $Matches[1]
} else {
Write-Error "Error: Invalid SageMaker Studio Space ARN format."
exit 1
}
# Build AWS CLI command
$awsCommand = @("sagemaker", "start-session", "--resource-identifier", $SpaceArn, "--region", $AwsRegion)
if ($AwsProfile) {
$awsCommand += @("--profile", $AwsProfile)
}
try {
# Start session and capture output
Write-Host "Starting SageMaker session..." -ForegroundColor Green
$startSessionOutput = & aws @awsCommand
# Try to parse JSON response
try {
$sessionData = $startSessionOutput | ConvertFrom-Json
} catch {
Write-Error "Failed to parse JSON response: $_"
Write-Host "Raw response was:" -ForegroundColor Yellow
Write-Host $startSessionOutput
exit 1
}
$sessionId = $sessionData.SessionId
$streamUrl = $sessionData.StreamUrl
$token = $sessionData.TokenValue
# Validate extracted values
if (-not $sessionId -or -not $streamUrl -or -not $token) {
Write-Error "Error: Failed to extract session information from sagemaker start session response."
Write-Host "Parsed response was:" -ForegroundColor Yellow
Write-Host ($sessionData | ConvertTo-Json)
exit 1
}
Write-Host "Session started successfully. Connecting..." -ForegroundColor Green
# Create session manager plugin command
$sessionJson = @{
streamUrl = $streamUrl
tokenValue = $token
sessionId = $sessionId
} | ConvertTo-Json -Compress
# Escape the JSON string
$escapedJson = $sessionJson -replace '"', '\"'
# Call session-manager-plugin
& session-manager-plugin "$escapedJson" $AwsRegion "StartSession"
} catch {
Write-Error "Failed to start session: $_"
exit 1
}
Host space-name
HostName "arn:aws:sagemaker:us-east-1:111122223333:space/domain-id/space-name"
ProxyCommand "C:\WINDOWS\System32\WindowsPowerShell\v1.0\powershell.exe" -ExecutionPolicy RemoteSigned -File "C:\\Users\\user-name\\sagemaker_connect.ps1" "%h"
ForwardAgent yes
AddKeysToAgent yes
User sagemaker-user
StrictHostKeyChecking accept-new