As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Configurar o Visual Studio Code local
Depois que os administradores concluírem as instruçõesConecte seu Visual Studio Code local a SageMaker espaços com acesso remoto, você poderá conectar seu Visual Studio Code local aos seus SageMaker espaços remotos.
Configurar o ambiente local
Instale o Visual Studio Code na máquina local. Para ter informações sobre os requisitos, consulte Conecte seu Visual Studio Code local a SageMaker espaços com acesso remoto.
Conectar-se ao VS Code local
Antes de estabelecer uma conexão do Visual Studio Code local com seus SageMaker espaços remotos, seu administrador deveConfigurar o acesso remoto. O administrador configura um método específico para você estabelecer uma conexão. Escolha o método que foi configurado para você.
Método 1: link direto da interface de usuário do Studio
Use o procedimento a seguir para estabelecer uma conexão usando o link direto.
-
Inicie o Amazon SageMaker Studio.
-
Na interface do usuário do Studio, navegue até o seu espaço.
-
Escolha Abrir espaço com.
-
Escolha VS Code. Ao fazer isso, você pode receber a solicitação para abrir o Visual Studio Code. Quando você opta por fazer isso, o VS Code local é aberto com outro pop-up para confirmar. Assim que concluído, a conexão remota é estabelecida.
Use o procedimento a seguir para estabelecer uma conexão usando o AWS Toolkit for Visual Studio Code.
-
Abra o VS Code.
-
Abra a extensão AWS Toolkit.
-
Conecte-se à AWS.
-
No AWS Explorer, expanda a SageMaker IA.
-
Encontre seu espaço do Studio.
-
Escolha o ícone de conexão ao lado do seu espaço para iniciá-lo.
-
Pare e reinicie o espaço no kit de ferramentas para Visual Studio para habilitar o acesso remoto, se ainda não conectado.
-
Se o espaço não estiver usando um tamanho de instância compatível, você deverá alterar a instância.
Método 3: conectar-se pelo terminal via CLI do SSH
Escolha uma das opções de plataforma a seguir para visualizar o procedimento para estabelecer uma conexão usando a CLI SSH.
- Linux/macOS
-
Crie um script de shell (por exemplo, /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"
-
Torne o script executável:
chmod +x /home/user/sagemaker_connect.sh
-
Configure $HOME/.ssh/config para adicionar a seguinte entrada:
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
Por exemplo, PARTITION pode ser aws.
Se você precisar usar um perfil de AWS credencial nomeado, altere o comando proxy da seguinte forma:
ProxyCommand '/home/user/sagemaker_connect.sh' '%h' YOUR_CREDENTIAL_PROFILE_NAME
ssh space-name
scp file_abc space-name:/tmp/
- Windows
-
Pré-requisitos para Windows:
Crie um PowerShell script (por exemplo,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
}
# BuildAWS CLIcommand
$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