

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

# Package a Model (Boto3)
<a name="edge-packaging-job-boto3"></a>

Anda dapat membuat pekerjaan pengemasan SageMaker Edge Manager dengan AWS SDK untuk Python (Boto3). Sebelum melanjutkan, pastikan Anda sudah puas[Prasyarat lengkap](edge-packaging-job-prerequisites.md).

Untuk meminta pekerjaan pengemasan tepi, gunakan`CreateEdgePackagingJob`. Anda perlu memberikan nama untuk pekerjaan pengemasan tepi Anda, nama pekerjaan kompilasi SageMaker Neo Anda, nama sumber daya Amazon (ARN) peran Anda, nama untuk model Anda, versi untuk model Anda, dan URI bucket Amazon S3 tempat Anda ingin menyimpan output dari pekerjaan pengemasan Anda. Perhatikan bahwa nama pekerjaan pengemasan Edge Manager dan nama pekerjaan kompilasi SageMaker Neo peka huruf besar/kecil.

```
# Import AWS SDK for Python (Boto3)
import boto3

# Create Edge client so you can submit a packaging job
sagemaker_client = boto3.client("sagemaker", region_name={{'aws-region'}})

sagemaker_client.create_edge_packaging_job(
    EdgePackagingJobName={{"edge-packaging-name"}},
    CompilationJobName={{"neo-compilation-name"}},
    RoleArn={{"arn:aws:iam::99999999999:role/rolename"}},
    ModelName={{"sample-model-name"}},
    ModelVersion={{"model-version"}},
    OutputConfig={
        "S3OutputLocation": "s3://{{your-bucket}}/",
    }
)
```

Anda dapat memeriksa status pekerjaan pengemasan tepi menggunakan `DescribeEdgePackagingJob` dan memberikan nama pekerjaan pengemasan tepi peka huruf besar/kecil:

```
response = sagemaker_client.describe_edge_packaging_job(
                                    EdgePackagingJobName={{"edge-packaging-name"}})
```

Ini mengembalikan kamus yang dapat digunakan untuk polling status pekerjaan pengemasan:

```
# Optional - Poll every 30 sec to check completion status
import time

while True:
    response = sagemaker_client.describe_edge_packaging_job(
                                         EdgePackagingJobName={{"edge-packaging-name"}})
    
    if response['EdgePackagingJobStatus'] == 'Completed':
        break
    elif response['EdgePackagingJobStatus'] == 'Failed':
        raise RuntimeError('Packaging job failed')
    print('Packaging model...')
    time.sleep(30)
print('Done!')
```

Untuk daftar pekerjaan pengemasan, gunakan`ListEdgePackagingJobs`. Anda dapat menggunakan API ini untuk mencari pekerjaan pengemasan tertentu. Berikan sebagian nama untuk memfilter nama pekerjaan pengemasan`NameContains`, nama sebagian `ModelNameContains` untuk memfilter pekerjaan di mana nama model berisi nama yang Anda berikan. Juga tentukan dengan kolom mana yang akan diurutkan`SortBy`, dan dengan arah mana untuk mengurutkan `SortOrder` (salah satu `Ascending` atau`Descending`).

```
sagemaker_client.list_edge_packaging_jobs(
    "NameContains": {{"sample"}},
    "ModelNameContains": {{"sample"}},
    "SortBy": {{"column-name"}},
    "SortOrder": "Descending"
)
```

Untuk menghentikan pekerjaan pengemasan, gunakan `StopEdgePackagingJob` dan berikan nama pekerjaan pengemasan tepi Anda.

```
sagemaker_client.stop_edge_packaging_job(
        EdgePackagingJobName={{"edge-packaging-name"}}
)
```

Untuk daftar lengkap API Edge Manager, lihat dokumentasi [Boto3](https://boto3.amazonaws.com/v1/documentation/api/latest/index.html).