

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Panduan administrator Editor Kode
<a name="code-editor-admin"></a>

Anda dapat menggunakan Editor Kode dengan Instans Sesuai Permintaan untuk waktu start-up yang lebih cepat, dan penyimpanan yang dapat dikonfigurasi. Anda dapat meluncurkan aplikasi Editor Kode melalui Amazon SageMaker Studio atau melalui file AWS CLI. Anda juga dapat mengedit pengaturan default Editor Kode dalam konsol domain. Untuk informasi selengkapnya, lihat [Edit pengaturan domain](domain-edit.md). Topik berikut menguraikan bagaimana administrator dapat mengkonfigurasi Editor Kode, berdasarkan Code-OSS, Visual Studio Code - Open Source dengan mengubah opsi penyimpanan, menyesuaikan lingkungan, dan mengelola akses pengguna, serta memberikan informasi tentang prasyarat yang diperlukan untuk menggunakan Editor Kode.

**Topics**
+ [Prasyarat lengkap](code-editor-admin-prerequisites.md)
+ [Berikan pengguna Anda akses ke ruang pribadi](code-editor-admin-user-access.md)
+ [Ubah ukuran penyimpanan default](code-editor-admin-storage-size.md)
+ [Konfigurasi siklus hidup Editor Kode](code-editor-use-lifecycle-configurations.md)
+ [Gambar kustom](code-editor-custom-images.md)

# Prasyarat lengkap
<a name="code-editor-admin-prerequisites"></a>

Untuk menggunakan Editor Kode, berdasarkan Code-OSS, Visual Studio Code - Open Source, Anda harus menyelesaikan prasyarat berikut.

1. Anda harus terlebih dahulu onboard ke domain Amazon SageMaker AI dan membuat profil pengguna. Untuk informasi selengkapnya, lihat [Ikhtisar domain Amazon SageMaker AI](gs-studio-onboard.md).

1. Jika Anda berinteraksi dengan aplikasi Editor Kode Anda menggunakan AWS CLI, Anda juga harus menyelesaikan prasyarat berikut.

   1.  Perbarui AWS CLI dengan mengikuti langkah-langkah dalam [Menginstal AWS CLI Versi saat ini](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv1.html#install-tool-bundled). 

   1.  Dari mesin lokal Anda, jalankan `aws configure` dan berikan AWS kredensyal Anda. Untuk informasi tentang AWS kredensyal, lihat [Memahami dan mendapatkan kredensyal Anda AWS](https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html). 

1. (Opsional) Untuk mendapatkan lebih banyak penyimpanan dan komputasi untuk aplikasi Anda, Anda dapat meminta peningkatan AWS kuota Anda. Untuk informasi selengkapnya tentang meminta peningkatan kuota, lihat [titik akhir dan kuota Amazon SageMaker AI](https://docs.aws.amazon.com/general/latest/gr/sagemaker.html).

# Berikan pengguna Anda akses ke ruang pribadi
<a name="code-editor-admin-user-access"></a>

**penting**  
Kebijakan IAM khusus yang memungkinkan Amazon SageMaker Studio atau Amazon SageMaker Studio Classic membuat SageMaker sumber daya Amazon juga harus memberikan izin untuk menambahkan tag ke sumber daya tersebut. Izin untuk menambahkan tag ke sumber daya diperlukan karena Studio dan Studio Classic secara otomatis menandai sumber daya apa pun yang mereka buat. Jika kebijakan IAM memungkinkan Studio dan Studio Classic membuat sumber daya tetapi tidak mengizinkan penandaan, kesalahan "AccessDenied" dapat terjadi saat mencoba membuat sumber daya. Untuk informasi selengkapnya, lihat [Berikan izin untuk menandai sumber daya AI SageMaker](security_iam_id-based-policy-examples.md#grant-tagging-permissions).  
[AWS kebijakan terkelola untuk Amazon SageMaker AI](security-iam-awsmanpol.md)yang memberikan izin untuk membuat SageMaker sumber daya sudah menyertakan izin untuk menambahkan tag saat membuat sumber daya tersebut.

Bagian ini menyediakan kebijakan yang memberikan akses pengguna ke ruang pribadi. Anda juga dapat menggunakan kebijakan untuk membatasi ruang pribadi dan aplikasi yang terkait dengannya kepada pemilik yang terkait dengan profil pengguna. 

Anda harus memberikan izin kepada pengguna Anda untuk hal-hal berikut:
+ Ruang pribadi
+ Profil pengguna yang diperlukan untuk akses ke ruang pribadi

Untuk memberikan izin, lampirkan kebijakan berikut ke peran IAM pengguna Anda.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {

      "Effect": "Allow",
      "Action": [
        "sagemaker:CreateApp",
        "sagemaker:DeleteApp"
      ],
      "Resource": "arn:aws:sagemaker:us-east-1:111122223333:app/*",
      "Condition": {
        "Null": {
          "sagemaker:OwnerUserProfileArn": "true"
        }
      }
    },
    {
      "Sid": "SMStudioCreatePresignedDomainUrlForUserProfile",
      "Effect": "Allow",
      "Action": [
        "sagemaker:CreatePresignedDomainUrl"
      ],
      "Resource": "arn:aws:sagemaker:us-east-1:111122223333:user-profile/domain-id/user-profile-name"
    },
    {
      "Sid": "SMStudioAppPermissionsListAndDescribe",
      "Effect": "Allow",
      "Action": [
        "sagemaker:ListApps",
        "sagemaker:ListDomains",
        "sagemaker:ListUserProfiles",
        "sagemaker:ListSpaces",
        "sagemaker:DescribeApp",
        "sagemaker:DescribeDomain",
        "sagemaker:DescribeUserProfile",
        "sagemaker:DescribeSpace"
      ],
      "Resource": "*"
    },
    {
      "Sid": "SMStudioAppPermissionsTagOnCreate",
      "Effect": "Allow",
      "Action": [
        "sagemaker:AddTags"
      ],
      "Resource": "arn:aws:sagemaker:us-east-1:111122223333:*/*",
      "Condition": {
        "Null": {
          "sagemaker:TaggingAction": "false"
        }
      }
    },
    {
      "Sid": "SMStudioRestrictSharedSpacesWithoutOwners",
      "Effect": "Allow",
      "Action": [
        "sagemaker:CreateSpace",
        "sagemaker:UpdateSpace",
        "sagemaker:DeleteSpace"
      ],
      "Resource": "arn:aws:sagemaker:us-east-1:111122223333:space/domain-id/*",
      "Condition": {
        "Null": {
          "sagemaker:OwnerUserProfileArn": "true"
        }
      }
    },
    {
      "Sid": "SMStudioRestrictSpacesToOwnerUserProfile",
      "Effect": "Allow",
      "Action": [
        "sagemaker:CreateSpace",
        "sagemaker:UpdateSpace",
        "sagemaker:DeleteSpace"
      ],
      "Resource": "arn:aws:sagemaker:us-east-1:111122223333:space/domain-id/*",
      "Condition": {
        "ArnLike": {
        "sagemaker:OwnerUserProfileArn": "arn:aws:sagemaker:us-east-1:111122223333:user-profile/domain-id/user-profile-name"
        },
        "StringEquals": {
          "sagemaker:SpaceSharingType": [
            "Private",
            "Shared"
          ]
        }
      }
    },
    {
      "Sid": "SMStudioRestrictCreatePrivateSpaceAppsToOwnerUserProfile",
      "Effect": "Allow",
      "Action": [
        "sagemaker:CreateApp",
        "sagemaker:DeleteApp"
      ],
      "Resource": "arn:aws:sagemaker:us-east-1:111122223333:app/domain-id/*",
      "Condition": {
        "ArnLike": {
        "sagemaker:OwnerUserProfileArn": "arn:aws:sagemaker:us-east-1:111122223333:user-profile/domain-id/user-profile-name"
        },
        "StringEquals": {
          "sagemaker:SpaceSharingType": [
            "Private"
          ]
        }
      }
    }
  ]
}
```

------

# Ubah ukuran penyimpanan default
<a name="code-editor-admin-storage-size"></a>

Anda dapat mengubah pengaturan penyimpanan default pengguna Anda. Anda juga dapat mengubah pengaturan penyimpanan default berdasarkan kebutuhan organisasi Anda dan kebutuhan pengguna Anda.

Untuk mengubah ukuran penyimpanan pengguna Anda, lakukan hal berikut:

1. Perbarui pengaturan penyimpanan Amazon EBS di domain. 

1. Buat profil pengguna dan tentukan pengaturan penyimpanan di dalamnya.

Gunakan perintah berikut AWS Command Line Interface (AWS CLI) untuk memperbarui domain.

```
aws --region $REGION sagemaker update-domain \
--domain-id $DOMAIN_ID \
--default-user-settings '{
    "SpaceStorageSettings": {
        "DefaultEbsStorageSettings":{
            "DefaultEbsVolumeSizeInGb":5,
            "MaximumEbsVolumeSizeInGb":100
        }
    }
}'
```

Gunakan AWS CLI perintah berikut untuk membuat profil pengguna dan menentukan pengaturan penyimpanan default.

```
aws --region $REGION sagemaker create-user-profile \
--domain-id $DOMAIN_ID \
--user-profile-name $USER_PROFILE_NAME \
--user-settings '{
    "SpaceStorageSettings": {
        "DefaultEbsStorageSettings":{
            "DefaultEbsVolumeSizeInGb":5,
            "MaximumEbsVolumeSizeInGb":100
        }
    }
}'
```

Gunakan AWS CLI perintah berikut untuk memperbarui pengaturan penyimpanan default di profil pengguna.

```
aws --region $REGION sagemaker update-user-profile \
--domain-id $DOMAIN_ID \
--user-profile-name $USER_PROFILE_NAME \
--user-settings '{
    "SpaceStorageSettings": {
        "DefaultEbsStorageSettings":{
            "DefaultEbsVolumeSizeInGb":25,
            "MaximumEbsVolumeSizeInGb":200
        }
    }
}'
```

# Konfigurasi siklus hidup Editor Kode
<a name="code-editor-use-lifecycle-configurations"></a>

Anda dapat menggunakan konfigurasi siklus hidup Editor Kode untuk mengotomatiskan penyesuaian lingkungan Studio Anda. Kustomisasi ini termasuk menginstal paket kustom, mengonfigurasi ekstensi, preloading dataset, dan menyiapkan repositori kode sumber

Instruksi berikut menggunakan AWS Command Line Interface (AWS CLI) untuk membuat, melampirkan, men-debug, dan melepaskan konfigurasi siklus hidup untuk jenis aplikasi: `CodeEditor`
+ [Membuat dan melampirkan konfigurasi siklus hidup di Studio](code-editor-use-lifecycle-configurations-studio-create.md)
+ [Debug konfigurasi siklus hidup di Studio](code-editor-use-lifecycle-configurations-studio-debug.md)
+ [Lepaskan konfigurasi siklus hidup di Studio](code-editor-use-lifecycle-configurations-studio-detach.md)

# Membuat dan melampirkan konfigurasi siklus hidup di Studio
<a name="code-editor-use-lifecycle-configurations-studio-create"></a>

Bagian berikut menyediakan AWS CLI perintah untuk membuat konfigurasi siklus hidup, melampirkan konfigurasi siklus hidup saat membuat profil pengguna baru, dan melampirkan konfigurasi siklus hidup saat memperbarui profil pengguna. Untuk prasyarat dan langkah-langkah umum dalam membuat dan melampirkan konfigurasi siklus hidup di Studio, lihat. [Pembuatan konfigurasi siklus hidup](jl-lcc-create.md) 

Saat membuat konfigurasi siklus hidup Studio Anda dengan `create-studio-lifecycle-config` perintah, pastikan untuk menentukan apakah ada. `studio-lifecycle-config-app-type` `CodeEditor` Contoh berikut menunjukkan cara membuat konfigurasi siklus hidup Studio baru untuk aplikasi Editor Kode Anda.

```
aws sagemaker create-studio-lifecycle-config \
--studio-lifecycle-config-name my-code-editor-lcc \
--studio-lifecycle-config-content $LCC_CONTENT \
--studio-lifecycle-config-app-type CodeEditor
```

Perhatikan ARN dari konfigurasi siklus hidup yang baru dibuat yang dikembalikan. Saat melampirkan konfigurasi siklus hidup, berikan ARN ini dalam daftar. `LifecycleConfigArns` `CodeEditorAppSettings` 

Anda dapat melampirkan konfigurasi siklus hidup saat membuat profil pengguna atau domain. Contoh berikut menunjukkan cara membuat profil pengguna baru dengan konfigurasi siklus hidup terlampir. Anda juga dapat membuat domain baru dengan konfigurasi siklus hidup yang dilampirkan dengan menggunakan perintah [create-domain](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/opensearch/create-domain.html).

```
# Create a new UserProfile
aws sagemaker create-user-profile \
--domain-id domain-id \
--user-profile-name user-profile-name \
--user-settings '{
"CodeEditorAppSettings": {
  "LifecycleConfigArns":
    [lifecycle-configuration-arn-list]
  }
}'
```

Anda juga dapat melampirkan konfigurasi siklus hidup saat memperbarui profil pengguna atau domain. Contoh berikut menunjukkan cara memperbarui profil pengguna dengan konfigurasi siklus hidup terlampir. Anda juga dapat memperbarui domain baru dengan konfigurasi siklus hidup yang dilampirkan menggunakan perintah [update-domain](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/update-domain.html).

```
# Update a UserProfile
aws sagemaker update-user-profile \
--domain-id domain-id \
--user-profile-name user-profile-name \
--user-settings '{
"CodeEditorAppSettings": {
  "LifecycleConfigArns":
    [lifecycle-configuration-arn-list]
  }
}'
```

# Debug konfigurasi siklus hidup di Studio
<a name="code-editor-use-lifecycle-configurations-studio-debug"></a>

Untuk men-debug skrip konfigurasi siklus hidup untuk Editor Kode, Anda harus menggunakan Studio. Untuk petunjuk tentang men-debug konfigurasi siklus hidup di Studio, lihat. [Debug konfigurasi siklus hidup](jl-lcc-debug.md) Untuk menemukan log untuk aplikasi tertentu, cari aliran log menggunakan format berikut:

```
domain-id/space-name/CodeEditor/default/LifecycleConfigOnStart
```

# Lepaskan konfigurasi siklus hidup di Studio
<a name="code-editor-use-lifecycle-configurations-studio-detach"></a>

Untuk melepaskan konfigurasi siklus hidup Editor Kode, Anda dapat menggunakan konsol atau. AWS CLI Untuk langkah-langkah melepaskan konfigurasi siklus hidup dari konsol Studio, lihat. [Lepaskan konfigurasi siklus hidup](jl-lcc-delete.md)

Untuk melepaskan konfigurasi siklus hidup menggunakan AWS CLI, hapus konfigurasi siklus hidup yang diinginkan dari daftar konfigurasi siklus hidup yang dilampirkan ke sumber daya. Kemudian lewati daftar sebagai bagian dari perintah masing-masing:
+ [update-user-profile](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/update-user-profile.html)
+ [pembaruan-domain](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/update-domain.html)

Misalnya, perintah berikut menghapus semua konfigurasi siklus hidup untuk aplikasi Editor Kode yang dilampirkan ke domain.

```
aws sagemaker update-domain --domain-id domain-id \
--default-user-settings '{
"CodeEditorAppSettings": {
  "LifecycleConfigArns":
    []
  }
}'
```

# Buat konfigurasi siklus hidup untuk mengkloning repositori ke dalam aplikasi Editor Kode
<a name="code-editor-use-lifecycle-configurations-repositories"></a>

Bagian ini menunjukkan cara mengkloning repositori dan membuat aplikasi Editor Kode dengan konfigurasi siklus hidup terlampir.

1. Dari mesin lokal Anda, buat file bernama `my-script.sh` dengan konten berikut:

   ```
   #!/bin/bash
   set -eux
   ```

1. Kloning repositori pilihan Anda dalam skrip konfigurasi siklus hidup Anda. 

   ```
   export REPOSITORY_URL="https://github.com/aws-samples/sagemaker-studio-lifecycle-config-examples.git"
   git -C /home/sagemaker-user clone $REPOSITORY_URL
   ```

1. Setelah menyelesaikan skrip Anda, buat dan lampirkan konfigurasi siklus hidup Anda. Untuk informasi selengkapnya, lihat [Membuat dan melampirkan konfigurasi siklus hidup di Studio](code-editor-use-lifecycle-configurations-studio-create.md).

1. Buat aplikasi Editor Kode Anda dengan konfigurasi siklus hidup terlampir.

   ```
   aws sagemaker create-app \
   --domain-id domain-id \
   --space-name space-name \
   --app-type CodeEditor \
   --app-name default \
   --resource-spec "SageMakerImageArn=arn:aws:sagemaker:region:image-account-id:image/sagemaker-distribution-cpu,LifecycleConfigArn=arn:aws:sagemaker:region:user-account-id:studio-lifecycle-config/my-code-editor-lcc,InstanceType=ml.t3.large"
   ```

   Untuk informasi selengkapnya tentang gambar Editor Kode yang tersedia ARNs, lihat[Contoh dan gambar aplikasi Editor Kode](code-editor-use-instances.md).

# Buat konfigurasi siklus hidup untuk menginstal ekstensi Editor Kode
<a name="code-editor-use-lifecycle-configurations-extensions"></a>

Bagian ini menunjukkan cara membuat konfigurasi siklus hidup untuk menginstal ekstensi dari [Open VSX Registry](https://open-vsx.org/) di lingkungan Editor Kode Anda.

1. Dari mesin lokal Anda, buat file bernama `my-script.sh` dengan konten berikut:

   ```
   #!/bin/bash
   set -eux
   ```

1. Dalam skrip, instal ekstensi [Open VSX Registry](https://open-vsx.org/) pilihan Anda:

   ```
   sagemaker-code-editor --install-extension AmazonEMR.emr-tools --extensions-dir /opt/amazon/sagemaker/sagemaker-code-editor-server-data/extensions
   ```

   Anda dapat mengambil nama ekstensi dari URL ekstensi di [Open VSX](https://open-vsx.org/) Registry. Nama ekstensi yang digunakan dalam `sagemaker-code-editor` perintah harus berisi semua teks `https://open-vsx.org/extension/` yang mengikuti URL. Ganti semua contoh garis miring (`/`) dengan periode (`.`). Misalnya, `AmazonEMR/emr-tools` seharusnya`AmazonEMR.emr-tools`.  
![\[Halaman ekstensi Amazon EMR di Open VSX Registry.\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/code-editor/code-editor-emr-extension.png)

1. Setelah menyelesaikan skrip Anda, buat dan lampirkan konfigurasi siklus hidup Anda. Untuk informasi selengkapnya, lihat [Membuat dan melampirkan konfigurasi siklus hidup di Studio](code-editor-use-lifecycle-configurations-studio-create.md).

1. Buat aplikasi Editor Kode Anda dengan konfigurasi siklus hidup terlampir:

   ```
   aws sagemaker create-app \
   --domain-id domain-id \
   --space-name space-name \
   --app-type CodeEditor \
   --app-name default \
   --resource-spec "SageMakerImageArn=arn:aws:sagemaker:region:image-account-id:image/sagemaker-distribution-cpu,LifecycleConfigArn=arn:aws:sagemaker:region:user-account-id:studio-lifecycle-config/my-code-editor-lcc,InstanceType=ml.t3.large"
   ```

   Untuk informasi selengkapnya tentang gambar Editor Kode yang tersedia ARNs, lihat[Contoh dan gambar aplikasi Editor Kode](code-editor-use-instances.md). Untuk informasi selengkapnya tentang koneksi dan ekstensi, lihat[Koneksi dan Ekstensi Editor Kode](code-editor-use-connections-and-extensions.md).

# Gambar kustom
<a name="code-editor-custom-images"></a>

Jika Anda memerlukan fungsionalitas yang berbeda dari yang disediakan oleh SageMaker distribusi, Anda dapat membawa gambar Anda sendiri dengan ekstensi dan paket khusus Anda. Anda juga dapat menggunakannya untuk mempersonalisasi UI Editor Kode untuk kebutuhan branding atau kepatuhan Anda sendiri.

Halaman berikut akan memberikan informasi dan templat khusus Editor Kode untuk membuat gambar SageMaker AI kustom Anda sendiri. Ini dimaksudkan untuk melengkapi informasi Amazon SageMaker Studio dan instruksi tentang membuat gambar SageMaker AI Anda sendiri dan membawa gambar Anda sendiri ke Studio. Untuk mempelajari tentang gambar Amazon SageMaker AI khusus dan cara membawa gambar Anda sendiri ke Studio, lihat[Bawa gambar Anda sendiri (BYOI)](studio-updated-byoi.md). 

**Topics**
+ [Pemeriksaan Kesehatan dan URL untuk aplikasi](#code-editor-custom-images-app-healthcheck)
+ [Contoh Dockerfile](#code-editor-custom-images-dockerfile-templates)

## Pemeriksaan Kesehatan dan URL untuk aplikasi
<a name="code-editor-custom-images-app-healthcheck"></a>
+ `Base URL`— URL dasar untuk aplikasi BYOI harus. `CodeEditor/default` Anda hanya dapat memiliki satu aplikasi dan harus selalu diberi nama`default`.
+ Titik akhir pemeriksaan kesehatan - Anda harus meng-host server Editor Kode Anda di 0.0.0.0 port 8888 agar SageMaker AI dapat mendeteksinya.
+  Otentikasi — Anda harus lulus `--without-connection-token` saat membuka `sagemaker-code-editor` untuk memungkinkan SageMaker AI mengautentikasi pengguna Anda.

**catatan**  
Jika Anda menggunakan SageMaker Distribusi Amazon sebagai gambar dasar, persyaratan ini sudah diurus sebagai bagian dari `entrypoint-code-editor` skrip yang disertakan.

## Contoh Dockerfile
<a name="code-editor-custom-images-dockerfile-templates"></a>

Contoh berikut adalah `Dockerfile` s yang memenuhi informasi di atas dan[Spesifikasi gambar kustom](studio-updated-byoi-specs.md).

**catatan**  
Jika Anda membawa gambar Anda sendiri ke SageMaker Unified Studio, Anda harus mengikuti [spesifikasi Dockerfile](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/byoi-specifications.html) di Panduan Pengguna *Amazon SageMaker Unified* Studio.  
`Dockerfile`contoh untuk SageMaker Unified Studio dapat ditemukan di [contoh Dockerfile di Panduan](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/byoi-specifications.html#byoi-specifications-example) Pengguna *Amazon SageMaker Unified* Studio.

------
#### [ Example micromamba Dockerfile ]

Berikut ini adalah contoh Dockerfile untuk membuat gambar dari awal menggunakan lingkungan [https://mamba.readthedocs.io/en/latest/user_guide/micromamba.html](https://mamba.readthedocs.io/en/latest/user_guide/micromamba.html)dasar: 

```
FROM mambaorg/micromamba:latest
ARG NB_USER="sagemaker-user"
ARG NB_UID=1000
ARG NB_GID=100

USER root

RUN micromamba install -y --name base -c conda-forge sagemaker-code-editor

USER $NB_UID

CMD eval "$(micromamba shell hook --shell=bash)"; \
    micromamba activate base; \
    sagemaker-code-editor --host 0.0.0.0 --port 8888 \
        --without-connection-token \
        --base-path "/CodeEditor/default"
```

------
#### [ Example SageMaker AI Distribution Dockerfile ]

Berikut ini adalah contoh Dockerfile untuk membuat gambar berdasarkan [Amazon SageMaker AI](https://github.com/aws/sagemaker-distribution/tree/main) Distribution:

```
FROM public.ecr.aws/sagemaker/sagemaker-distribution:latest-cpu
ARG NB_USER="sagemaker-user"
ARG NB_UID=1000
ARG NB_GID=100
ENV MAMBA_USER=$NB_USER

USER root

 # install scrapy in the base environment
RUN micromamba install -y --name base -c conda-forge scrapy

 # download VSCodeVim
RUN \
  wget https://github.com/VSCodeVim/Vim/releases/download/v1.27.2/vim-1.27.2.vsix \
  -P /tmp/exts/ --no-check-certificate

 # Install the extension
RUN \
  extensionloc=/opt/amazon/sagemaker/sagemaker-code-editor-server-data/extensions \
  && sagemaker-code-editor \
    --install-extension "/tmp/exts/vim-1.27.2.vsix" \
    --extensions-dir "${extensionloc}"

USER $MAMBA_USER
ENTRYPOINT ["entrypoint-code-editor"]
```

------