

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 將 SOCI 索引影像與 Studio 範例整合
<a name="soci-indexing-example-integrate-studio"></a>

您必須參考 SOCI 索引影像標籤，才能在 Studio 中使用 SOCI 索引影像，而非原始容器影像標籤。使用您在 SOCI 轉換程序期間指定的標籤 （例如 `SOCI_IMAGE_TAG`中的 [使用 nerdctl 和 SOCI CLI 範例建立 SOCI 索引](soci-indexing-example-create-indexes.md))。

**整合 SOCI 索引影像範例**

1. 首先為後續的 AWS CLI 命令設定變數。以下是設定變數的範例。

   ```
   ACCOUNT_ID="111122223333"
   REGION="us-east-1"
   IMAGE_NAME="sagemaker-image-name"
   IMAGE_CONFIG_NAME="sagemaker-image-config-name"
   ROLE_ARN="your-role-arn"
   DOMAIN_ID="domain-id"
   SOCI_IMAGE_TAG="soci-indexed-image-tag"
   ```

   變數定義：
   + `ACCOUNT_ID` 是您的 AWS 帳戶 ID
   + `REGION` 是 Amazon ECR 私有登錄檔 AWS 區域 的
   + `IMAGE_NAME` 是 SageMaker 映像的名稱
   + `IMAGE_CONFIG_NAME` 是 SageMaker 映像組態的名稱
   + `ROLE_ARN` 是執行角色的 ARN，具有[必要 IAM 許可中列出的許可](soci-indexing-setup.md#soci-indexing-setup-iam-permissions)
   + `DOMAIN_ID` 是[網域 ID](https://docs.aws.amazon.com/sagemaker/latest/dg/domain-view.html)
**注意**  
如果您要將映像連接至 SageMaker Unified Studio 專案，且需要釐清要使用的網域，請參閱[檢視與您的專案相關聯的 SageMaker AI 網域詳細資訊](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/view-project-details.html#view-project-details-smai-domain)。
   + `SOCI_IMAGE_TAG` 是 SOCI 索引影像的標籤

1. 匯出您的區域：

   ```
   export AWS_REGION=$REGION
   ```

1. 建立 SageMaker 映像：

   ```
   aws sagemaker create-image \
       --image-name "$IMAGE_NAME" \
       --role-arn "$ROLE_ARN"
   ```

1. 使用您的 SOCI 索引 URI 建立 SageMaker 映像版本：

   ```
   IMAGE_INDEX_URI="$ACCOUNT_ID.dkr.ecr.$REGION.amazonaws.com/$IMAGE_NAME:$SOCI_IMAGE_TAG"
   
   aws sagemaker create-image-version \
       --image-name "$IMAGE_NAME" \
       --base-image "$IMAGE_INDEX_URI"
   ```

1. 建立應用程式映像組態並更新您的 Amazon SageMaker AI 網域，以包含應用程式的自訂映像。您可以根據 Code-OSS、Visual Studio Code - Open Source （程式碼編輯器） 和 JupyterLab 應用程式，為程式碼編輯器執行此操作。選擇下方的應用程式選項以檢視步驟。

------
#### [ Code Editor ]

   為程式碼編輯器建立應用程式映像組態：

   ```
   aws sagemaker create-app-image-config \
       --app-image-config-name "$IMAGE_CONFIG_NAME" \
       --code-editor-app-image-config '{ "FileSystemConfig": { "MountPath": "/home/sagemaker-user", "DefaultUid": 1000, "DefaultGid": 100 } }'
   ```

   更新您的 Amazon SageMaker AI 網域，以包含程式碼編輯器的自訂映像：

   ```
   aws sagemaker update-domain \
       --domain-id "$DOMAIN_ID" \
       --default-user-settings '{
           "CodeEditorAppSettings": {
           "CustomImages": [{
               "ImageName": "$IMAGE_NAME", 
               "AppImageConfigName": "$IMAGE_CONFIG_NAME"
           }]
       }
   }'
   ```

------
#### [ JupyterLab ]

   建立 JupyterLab 的應用程式映像組態：

   ```
   aws sagemaker create-app-image-config \
       --app-image-config-name "$IMAGE_CONFIG_NAME" \
       --jupyter-lab-app-image-config '{ "FileSystemConfig": { "MountPath": "/home/sagemaker-user", "DefaultUid": 1000, "DefaultGid": 100 } }'
   ```

   更新您的 Amazon SageMaker AI 網域，以包含 JupyterLab 的自訂映像：

   ```
   aws sagemaker update-domain \
       --domain-id "$DOMAIN_ID" \
       --default-user-settings '{
           "JupyterLabAppSettings": {
           "CustomImages": [{
               "ImageName": "$IMAGE_NAME", 
               "AppImageConfigName": "$IMAGE_CONFIG_NAME"
           }]
       }
   }'
   ```

------

1. 更新網域以包含自訂映像之後，您可以使用自訂映像在 Studio 中建立應用程式。當您[在 Studio 中啟動自訂映像](studio-updated-byoi-how-to-launch.md)確保使用自訂映像時。