

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á.

# Empacote um modelo (Boto3)
<a name="edge-packaging-job-boto3"></a>

Você pode criar um trabalho de empacotamento do SageMaker Edge Manager com AWS SDK para Python (Boto3) o. Antes de continuar, certifique-se de ter satisfeito com o [Concluir os pré-requisitos](edge-packaging-job-prerequisites.md).

Para solicitar um trabalho de empacotamento do Edge, use `CreateEdgePackagingJob`. Você precisa fornecer um nome para seu trabalho de empacotamento de borda, o nome do seu trabalho de compilação SageMaker Neo, seu nome de recurso da Amazon (ARN) da sua função, um nome para seu modelo, uma versão para seu modelo e o URI do bucket do Amazon S3 onde você deseja armazenar a saída do seu trabalho de empacotamento. Observe que os nomes dos trabalhos de empacotamento do Edge Manager e os nomes dos trabalhos de compilação do SageMaker Neo diferenciam maiúsculas de minúsculas.

```
# 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}}/",
    }
)
```

Você pode verificar o status de um trabalho de empacotamento de borda usando `DescribeEdgePackagingJob` e fornecendo o nome do trabalho de empacotamento de borda que diferencia maiúsculas de minúsculas:

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

Isso retorna um dicionário que pode ser usado para pesquisar o status do trabalho de empacotamento:

```
# 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!')
```

Para obter uma lista de trabalhos de empacotamento, use `ListEdgePackagingJobs`. Você pode usar essa API para pesquisar um trabalho de empacotamento específico. Forneça um nome parcial para filtrar os nomes dos trabalhos de empacotamento para `NameContains`, um nome parcial de `ModelNameContains` para filtrar os trabalhos nos quais o nome do modelo contém o nome fornecido. Especifique também com qual coluna classificar `SortBy` e por qual direção classificar `SortOrder` (`Ascending` ou `Descending`).

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

Para interromper um trabalho de empacotamento, use `StopEdgePackagingJob` e forneça o nome do seu trabalho de empacotamento do Edge.

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

Para obter uma lista completa das APIs do Edge Manager, consulte a documentação do [Boto3](https://boto3.amazonaws.com/v1/documentation/api/latest/index.html).