

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

# Buat Template Proyek Kustom
<a name="sagemaker-projects-templates-custom"></a>

**penting**  
Per 28 Oktober 2024, AWS CodeCommit template telah dihapus. Untuk proyek baru, pilih dari templat proyek yang tersedia yang menggunakan repositori Git pihak ketiga. Untuk informasi selengkapnya, lihat [MLOps Template Proyek](sagemaker-projects-templates.md).

Jika templat yang SageMaker disediakan AI tidak memenuhi kebutuhan Anda (misalnya, Anda ingin memiliki orkestrasi yang lebih kompleks CodePipeline dengan beberapa tahap atau langkah persetujuan khusus), buat templat Anda sendiri.

Sebaiknya mulai dengan menggunakan templat SageMaker yang disediakan AI untuk memahami cara mengatur kode dan sumber daya Anda dan membangun di atasnya. **Untuk melakukan ini, setelah Anda mengaktifkan akses administrator ke templat SageMaker AI, masuk ke [https://console.aws.amazon.com/servicecatalog/](https://console.aws.amazon.com/servicecatalog/), pilih **Portofolio**, lalu pilih Diimpor.** Untuk informasi tentang Service Catalog, lihat [Ringkasan Service Catalog](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/what-is_concepts.html) di *Panduan Pengguna Service Catalog*.

Buat template proyek Anda sendiri untuk menyesuaikan MLOps proyek Anda. SageMaker Template proyek AI adalah Katalog Layanan — produk yang disediakan untuk menyediakan sumber daya untuk proyek Anda. MLOps 

Untuk membuat template proyek kustom, selesaikan langkah-langkah berikut.

1. Buat portofolio. Untuk selengkapnya, lihat [Langkah 3: Membuat Portofolio Service Catalog](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/getstarted-portfolio.html).

1. Buat produk. Sebuah produk adalah CloudFormation template. Anda dapat membuat beberapa versi produk. Untuk selengkapnya, lihat [Langkah 4: Membuat Produk Service Catalog](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/getstarted-product.html).

   Agar produk dapat bekerja dengan SageMaker Proyek, tambahkan parameter berikut ke template produk Anda.

   ```
   SageMakerProjectName:
   Type: String
   Description: Name of the project
   
   SageMakerProjectId:
   Type: String
   Description: Service generated Id of the project.
   ```
**penting**  
Kami menyarankan Anda membungkus CodeCommit repositori ke dalam repositori kode SageMaker AI agar repositori proyek terlihat dalam mode VPC. Template sampel dan penambahan yang diperlukan ditunjukkan dalam contoh kode berikut.  
Template asli (sampel):  

   ```
   ModelBuildCodeCommitRepository:
       Type: AWS::CodeCommit::Repository
       Properties:
         # Max allowed length: 100 chars
         RepositoryName: !Sub sagemaker-${SageMakerProjectName}-${SageMakerProjectId}-modelbuild # max: 10+33+15+10=68
         RepositoryDescription: !Sub SageMaker Model building workflow infrastructure as code for the Project ${SageMakerProjectName}
         Code:
           S3:
             Bucket: {{SEEDCODE_BUCKETNAME}}
             Key: toolchain/model-building-workflow-v1.0.zip
           BranchName: main
   ```
Konten tambahan untuk ditambahkan dalam mode VPC:  

   ```
   SageMakerRepository:
       Type: AWS::SageMaker::CodeRepository
       Properties:
           GitConfig:
               RepositoryUrl: !GetAtt ModelBuildCodeCommitRepository.CloneUrlHttp
               Branch: main
   ```

1. Tambahkan kendala peluncuran. Batasan peluncuran menunjukkan peran IAM yang diasumsikan oleh Service Catalog saat pengguna meluncurkan produk. Untuk selengkapnya, lihat [Langkah 6: Menambahkan Batasan Peluncuran untuk Menetapkan Peran IAM](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/getstarted-launchconstraint.html).

1. Menyediakan produk [https://console.aws.amazon.com/servicecatalog/](https://console.aws.amazon.com/servicecatalog/)untuk menguji template. Jika Anda puas dengan template Anda, lanjutkan ke langkah berikutnya untuk membuat template tersedia di Studio (atau Studio Classic).

1. Berikan akses ke portofolio Service Catalog yang Anda buat di langkah 1 ke peran eksekusi Studio (atau Studio Classic) Anda. Gunakan peran eksekusi domain atau peran pengguna yang memiliki akses Studio (atau Studio Classic). Untuk informasi tentang menambahkan peran ke portofolio, lihat [Langkah 7: Memberikan Pengguna Akhir Akses ke Portofolio](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/getstarted-deploy.html).

1. Agar template proyek Anda tersedia di daftar **templat Organisasi** di Studio (atau Studio Classic), buat tag dengan kunci dan nilai berikut ke produk Service Catalog yang Anda buat di langkah 2.
   + **kunci**: `sagemaker:studio-visibility` 
   + **nilai**: `true`

Setelah Anda menyelesaikan langkah-langkah ini, pengguna Studio (atau Studio Classic) di organisasi Anda dapat membuat proyek dengan templat yang Anda buat dengan mengikuti langkah-langkah [Membuat MLOps Proyek menggunakan Amazon SageMaker Studio atau Studio Classic](sagemaker-projects-create.md) dan memilih **templat Organisasi** saat Anda memilih templat.

## Menggunakan template dari bucket Amazon S3
<a name="sagemaker-projects-templates-s3"></a>

Anda juga dapat membuat SageMaker proyek menggunakan templat yang disimpan di Amazon S3.

**catatan**  
Meskipun Anda dapat menggunakan template di AWS Service Catalog, kami sarankan Anda menyimpan template dalam bucket S3 dan membuat proyek menggunakan template tersebut.

### Pengaturan admin
<a name="sagemaker-projects-templates-s3-setup"></a>

Sebelum Anda dapat membuat proyek menggunakan template dalam bucket S3, lakukan langkah-langkah berikut.

1. [Buat bucket S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html), dan unggah template Anda ke bucket.

1. [Siapkan kebijakan CORS di bucket S3 Anda untuk mengonfigurasi izin akses](https://docs.aws.amazon.com/AmazonS3/latest/userguide/enabling-cors-examples.html).

1. Tambahkan tag nilai kunci berikut ke template sehingga menjadi terlihat oleh AI. SageMaker 

   ```
   sagemaker:studio-visibility : true
   ```

1. [Buat domain](https://docs.aws.amazon.com/sagemaker/latest/dg/onboard-quick-start.html).

1. Setelah SageMaker AI selesai membuat domain Anda, tambahkan tag nilai kunci berikut ke domain:

   ```
   sagemaker:projectS3TemplatesLocation : s3://{{<amzn-s3-demo-bucket>}}
   ```

Kemudian gunakan AWS konsol, Python, atau operasi [CreateProject](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateProject.html)dan [UpdateProject](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateProject.html)API untuk membuat atau memperbarui SageMaker proyek dari template di dalam bucket S3.

------
#### [ Studio ]

**Buat proyek**

1. Buka konsol Amazon SageMaker AI di [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Buka konsol SageMaker Studio dengan mengikuti petunjuk di [Luncurkan Amazon SageMaker Studio](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-updated-launch.html).

1. **Di panel navigasi kiri, pilih **Deployment**, **Projects, Create project**.**

1. Pilih **templat Organisasi** dan kemudian **Template S3** untuk melihat templat yang tersedia untuk Anda. Jika Anda tidak melihat template yang Anda harapkan, beri tahu administrator Anda.

1. Pilih template yang ingin Anda gunakan, lalu pilih **Berikutnya**.

1. Masukkan nama untuk proyek Anda, deskripsi opsional, dan bidang wajib lainnya. Setelah selesai, pilih **Buat**.

**Perbarui proyek**

1. Buka konsol Amazon SageMaker AI di [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Buka konsol SageMaker Studio dengan mengikuti petunjuk di [Luncurkan Amazon SageMaker Studio](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-updated-launch.html).

1. Pilih proyek yang ingin Anda perbarui. Pilih **Tindakan**, lalu pilih **Perbarui Proyek**.

1. Saat memperbarui proyek, Anda dapat memperbarui parameter templat atau URL templat. Setelah selesai, pilih **Berikutnya**.

1. Tinjau pembaruan proyek di tabel ringkasan, dan pilih **Perbarui**.

------
#### [ Python Boto3 ]

Setelah Anda membuat bucket S3 dan mengunggah template Anda, Anda dapat menggunakan contoh berikut untuk membuat SageMaker proyek.

```
sagemaker_client = boto3.client('sagemaker', region_name='us-west-2')

response = sagemaker_client.create_project(
    ProjectName='my-custom-project',
    ProjectDescription='SageMaker project with custom CFN template stored in S3',
    TemplateProviders=[{
        'CfnTemplateProvider': {
            'TemplateName': 'CustomProjectTemplate',
            'TemplateURL': f'https://{{<bucket_name>}}.s3.us-west-2.amazonaws.com/{{custom-project-template.yml}}',
            'Parameters': [
                {'Key': 'ParameterKey', 'Value': 'ParameterValue'}
            ]
        }
    }]
)
print(f"Project ARN: {response['ProjectArn']}")
```

Untuk memperbarui SageMaker proyek, lihat contoh berikut.

```
sagemaker_client = boto3.client('sagemaker', region_name='us-west-2')

response = sagemaker_client.update_project(
    ProjectName='my-custom-project',
    ProjectDescription='SageMaker project with custom CFN template stored in S3',
    TemplateProvidersToUpdate=[{
        'CfnTemplateProvider': {
            'TemplateName': 'CustomProjectTemplate',
            'TemplateURL': f'https://{{<bucket_name>}}.s3.us-west-2.amazonaws.com/{{custom-project-template.yml}}',
            'Parameters': [
                {'Key': 'ParameterKey', 'Value': 'ParameterValue'}
            ]
        }
    }]
)
print(f"Project ARN: {response['ProjectArn']}")
```

------