

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

# Criar um trabalho de rotulagem
<a name="sms-create-labeling-job"></a>

Você pode criar um trabalho de rotulagem no console do Amazon SageMaker AI e usar um AWS SDK no seu idioma preferido para execução`CreateLabelingJob`. Após a criação de um trabalho de rotulagem, é possível acompanhar as métricas do operador (para forças de trabalho privadas) e o status do trabalho de rotulagem usando o [CloudWatch](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-monitor-cloud-watch.html).

Antes de criar um trabalho de rotulagem, é recomendável que você revise as seguintes páginas, conforme aplicável:
+ Você pode especificar seus dados de entrada usando uma configuração automática de dados no console ou um arquivo de manifesto de entrada no console ou ao usar a API `CreateLabelingJob`. Para configuração automatizada de dados, consulte [Automatize a configuração de dados para trabalhos de rotulagem](sms-console-create-manifest-file.md). Para saber como criar um arquivo de manifesto de entrada, consulte [Arquivos de manifesto de entrada](sms-input-data-input-manifest.md).
+ Revise as cotas de dados de entrada de tarefas de rotulagem: [Cotas de dados de entrada](input-data-limits.md).

Depois de escolher o tipo de tarefa, use os tópicos desta página para saber como criar um trabalho de rotulagem.

Se você é um usuário novo do Ground Truth, recomendamos que comece pela demonstração em [Introdução: crie um trabalho de rotulagem de caixa delimitadora com o Ground Truth](sms-getting-started.md).

**Importante**  
O Ground Truth exige que todos os buckets do S3 que contêm dados de imagem de entrada do trabalho de rotulagem tenham uma política CORS anexada. Para saber mais, consulte [Requisito do CORS para dados de imagem de entrada](sms-cors-update.md).

**Topics**
+ [Tipos de tarefa integrados](sms-task-types.md)
+ [Criar páginas de instrução](sms-creating-instruction-pages.md)
+ [Criar um trabalho de rotulagem (console)](sms-create-labeling-job-console.md)
+ [Criar um trabalho de rotulagem (API)](sms-create-labeling-job-api.md)
+ [Criar um trabalho de rotulagem de streaming](sms-streaming-create-job.md)
+ [Arquivo de configuração de categorias de rotulagem com referência de atributos de categorias e quadros de rótulo](sms-label-cat-config-attributes.md)

# Tipos de tarefa integrados
<a name="sms-task-types"></a>

O Amazon SageMaker Ground Truth tem vários tipos de tarefas integradas. O Ground Truth fornece um modelo de tarefa do operador para tipos de tarefas integrados. Além disso, alguns tipos de tarefas incorporados oferecem suporte [Automatizar a rotulagem de dados](sms-automated-labeling.md). Os tópicos a seguir descrevem cada tipo de tarefa integrado e demonstram os modelos de tarefas de operadores fornecidos pelo Ground Truth no console. Para saber como criar um trabalho de rotulagem no console usando um desses tipos de tarefas, selecione a página do tipo de tarefa.


****  

| Rotular imagens | Texto do rótulo | Rotular vídeos e quadros de vídeo | Rotular nuvens de pontos 3D | 
| --- | --- | --- | --- | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/sms-task-types.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/sms-task-types.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/sms-task-types.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/sms-task-types.html)  | 

**nota**  
Cada um dos tipos de tarefa de quadro de vídeo e nuvem de pontos 3D tem um tipo de tarefa de *ajuste* que você usa para verificar e ajustar rótulos de um trabalho de etiquetagem anterior. Selecione um quadro de vídeo ou nuvem de pontos 3D na página acima para saber como ajustar os rótulos criados usando esse tipo de tarefa. 

# Criar páginas de instrução
<a name="sms-creating-instruction-pages"></a>

Crie instruções personalizadas para rotular trabalhos para melhorar a precisão do seu operador ao concluir sua tarefa. Você pode modificar as instruções padrão fornecidas no console ou pode criar suas próprias. Essas instruções são mostradas para o operador na página em que eles completam sua tarefa de rotulagem.

Existem dois tipos de instruções:
+ *Instruções breves*: instruções que são mostradas na mesma página da web na qual o operador conclui sua tarefa. Essas instruções devem fornecer uma referência fácil para mostrar ao operador a maneira correta de rotular um objeto.
+ *Instruções completas*: instruções mostradas em uma caixa de diálogo que sobrepõe à página em que o operador conclui sua tarefa. Recomendamos que você forneça instruções detalhadas para concluir a tarefa com vários exemplos mostrando casos extremos e outras situações difíceis para rotular objetos.

Crie instruções no console ao criar seu trabalho de rotulagem. Comece com as instruções existentes para a tarefa e use o editor para modificá-las de acordo com seu trabalho de rotulagem.

**nota**  
Depois de criar seu trabalho de rotulagem, ele será iniciado automaticamente e você não poderá modificar suas instruções do operador. Se você precisar alterar as instruções de operador, interrompa o trabalho de rotulagem criado, clone-o e modifique as instruções do operador antes de criar um trabalho.   
Você pode clonar um trabalho de rotulagem no console selecionando o trabalho de rotulagem e selecionando **Clonar** no menu **Ações** .   
Para clonar um trabalho de rotulagem usando a API do Amazon SageMaker ou a SDK do Amazon SageMaker de sua preferência, faça uma nova solicitação para a operação `CreateLabelingJob` com as mesmas especificações do seu trabalho original depois de modificar as instruções de operador. 

Para trabalhos de rotulagem de nuvem de pontos 3D e quadro de vídeo, é possível adicionar instruções do operador ao arquivo de configuração da categoria de rótulo. Você pode usar uma única string para criar instruções ou pode adicionar uma marca HTML para personalizar a aparência das instruções e adicionar imagens. Verifique se todas as imagens incluídas nas instruções estão disponíveis publicamente ou se as instruções estão no Amazon S3, e se os operadores têm acesso de leitura para que possam visualizá-las. Para obter mais informações sobre o arquivo de configuração da categoria de rótulo, consulte [Arquivo de configuração de categorias de rotulagem com referência de atributos de categorias e quadros de rótulo](sms-label-cat-config-attributes.md).

## Instruções breves
<a name="sms-creating-quick-instructions"></a>

Instruções breves aparecem na mesma página da Web que os operadores usam para rotular seu objeto de dados. Por exemplo, a seguinte é a página de edição de uma tarefa de caixa delimitadora: O painel de instruções breves fica à esquerda.

![\[\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/images/sms-instructions-10.png)


Tenha em mente que um operador só gastará segundos observando as instruções breves. Os operadores devem poder examinar e entender suas informações rapidamente. Em todos os casos, deve levar menos tempo para entender as instruções do que é necessário para concluir a tarefa. Lembre-se destes pontos:
+ Suas instruções devem ser claras e simples.
+ Imagens são melhores que palavras. Crie uma ilustração simples da sua tarefa que os seus funcionários possam entender imediatamente.
+ Se você precisar usar palavras, use exemplos breves e concisos.
+ Suas instruções curtas são mais importantes do que suas instruções completas.

O console do Amazon SageMaker Ground Truth fornece um editor para que você possa criar suas instruções breves. Substitua o texto de espaço reservado e as imagens por instruções para sua tarefa. Visualize a página de tarefas do operador escolhendo **Visualização**. A visualização será aberta em uma nova janela. Certifique-se de desativar o bloqueio de pop-up para que a janela seja exibida.

## Instruções completas
<a name="sms-creating-full-instructions"></a>

Você pode fornecer instruções adicionais aos seus operadores em uma caixa de diálogo que sobrepõe a página na qual os funcionários rotulam seus objetos de dados. Use instruções completas para explicar tarefas mais complexas e para mostrar aos operadores a maneira correta de rotular casos de borda ou outros objetos difíceis.

É possível criar instruções completas usando um editor no console do Ground Truth. Como com instruções rápidas, tenha em mente o seguinte:
+ Os operadores vão querer instruções detalhadas nas primeiras vezes que completarem sua tarefa. Qualquer informação que eles *precisam* ter deve estar nas instruções breves.
+ Imagens são mais importantes que palavras.
+ O texto deve ser conciso.
+ Instruções completas devem suplementar as instruções breves. Não repita informações que aparecem nas instruções breves.

O console do Ground Truth fornece um editor para que você possa criar suas instruções completas. Substitua o texto de espaço reservado e as imagens por instruções para sua tarefa. Visualize a página de instruções completas escolhendo **Visualização**. A visualização será aberta em uma nova janela. Certifique-se de desativar o bloqueio de pop-up para que a janela seja exibida.

## Adicione imagens de exemplo às suas instruções
<a name="sms-using-s3-images"></a>

As imagens fornecem exemplos úteis para os operadores. Para adicionar uma imagem acessível publicamente às suas instruções:
+ Coloque o cursor onde a imagem deve estar contida no editor de instruções.
+ Clique no ícone da imagem na barra de ferramentas do editor.
+ Insira o URL da imagem.

Se sua imagem de instrução no Amazon S3 não estiver publicamente acessível:
+ Como o URL da imagem, insira: `{{ 'https://s3.amazonaws.com/your-bucket-name/image-file-name' | grant_read_access }}`.
+ Isso renderiza o URL da imagem com um código de acesso único e de curta duração anexado para que o navegador do operador possa exibi-lo. Um ícone de imagem quebrada é exibido no editor de instruções, mas a visualização da ferramenta exibe a imagem na visualização renderizada.

# Criar um trabalho de rotulagem (console)
<a name="sms-create-labeling-job-console"></a>

Você pode usar o console Amazon SageMaker AI para criar um trabalho de rotulagem para todos os tipos de tarefas integradas e fluxos de trabalho de rotulagem personalizados do Ground Truth. Para tipos de tarefas incorporados, recomendamos que você use essa página junto com a [página do seu tipo de tarefa](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-task-types.html). Cada página de tipo de tarefa inclui detalhes específicos sobre a criação de um trabalho de rotulagem usando esse tipo de tarefa. 

Você precisa fornecer o seguinte para criar um trabalho de rotulagem no console do SageMaker AI: 
+ Um arquivo de manifesto de entrada no Amazon S3. Você pode colocar seu conjunto de dados de entrada no Amazon S3 e gerar automaticamente um arquivo de manifesto usando o console Ground Truth (não suportado para trabalhos de rotulagem de nuvem de pontos 3D). 

  Como alternativa, você pode criar manualmente um arquivo de manifesto de entrada. Para saber como, consulte [Dados de entrada](sms-data-input.md).
+ Um bucket do Amazon S3 para armazenar os dados de saída.
+ Uma função do IAM com permissão para acessar seus recursos no Amazon S3 e com uma política de execução de SageMaker IA anexada. Para uma solução geral, você pode anexar a política gerenciada, AmazonSageMakerFullAccess, a uma função do IAM e incluí-la `sagemaker` no nome do seu bucket. 

  Para políticas mais granulares, consulte [Atribua permissões do IAM para usar o Ground Truth](sms-security-permission.md). 

  Os tipos de tarefas de nuvem de pontos 3D têm considerações adicionais de segurança. [Saiba mais](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-point-cloud-general-information.html#sms-security-permission-3d-point-cloud). 
+ Uma equipe de trabalho. Você cria uma equipe de trabalho a partir de uma força de trabalho composta por operadores, fornecedores ou trabalhadores particulares da Amazon Mechanical Turk. Para saber mais, consulte [Forças de trabalho](sms-workforce-management.md).

  Não é possível usar a força de trabalho do Amazon Mechanical Turk para trabalhos de rotulagem de nuvem de pontos 3D ou quadros de vídeo. 
+ Se você estiver usando um fluxo de trabalho de rotulagem personalizado, será necessário salvar um modelo de tarefa do operador no Amazon S3 e fornecer um URI do Amazon S3 para esse modelo. Para obter mais informações, consulte [Um modelo de tarefas do operador personalizado.](sms-custom-templates-step2.md).
+ (Opcional) Uma AWS KMS chave ARN se você quiser que a SageMaker IA criptografe a saída do seu trabalho de etiquetagem usando sua própria chave de AWS KMS criptografia em vez da chave de serviço padrão do Amazon S3.
+ (Opcional) Rótulos existentes para o conjunto de dados usados para o trabalho de rotulagem. Use essa opção se quiser que os operadores ajustem ou aprovem e rejeitem rótulos.
+ Se você quiser criar um trabalho de rotulagem de ajuste ou verificação, deve ter um arquivo de manifesto de saída no Amazon S3 que contenha os rótulos que você deseja ajustar ou verificar. Essa opção só tem suporte para trabalhos de rotulagem de imagens com caixa delimitadora e segmentação semântica, além de trabalhos de rotulagem de nuvem de pontos 3D e quadros de vídeo. É recomendável que você use as instruções [Verificação e ajuste do rótulo](sms-verification-data.md) para criar um trabalho de verificação ou ajuste de rotulagem. 

**Importante**  
Sua equipe de trabalho, arquivo de manifesto de entrada, bucket de saída e outros recursos no Amazon S3 devem estar na mesma AWS região que você usa para criar seu trabalho de etiquetagem. 

Ao criar um trabalho de rotulagem usando o console de SageMaker IA, você adiciona instruções e rótulos do trabalhador à interface do usuário que a Ground Truth fornece. É possível visualizar e interagir com a interface do usuário do operador ao criar um trabalho de rotulagem no console. Você também pode ver uma prévia da interface do usuário do operador na sua [página de tipo de tarefa integrada](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-task-types.html).

**Como criar um trabalho de rotulagem (console)**

1. Faça login no console de SageMaker IA em [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/). 

1. No painel de navegação à esquerda, selecione **Trabalhos de rotulagem**. 

1. Na página **Trabalhos de rotulagem**, selecione **Criar trabalho de rotulagem**.

1. Em **Nome do trabalho**, insira um nome para o trabalho de rotulagem.

1. (Opcional) Se quiser identificar os rótulos com uma chave, selecione **Quero especificar um nome de atributo de rótulo diferente do nome do trabalho de rotulagem**. Se você não selecionar essa opção, o nome do trabalho de rotulagem especificado na etapa anterior será usado para identificar os rótulos no arquivo de manifesto de saída. 

1. Escolha uma configuração de dados para criar uma conexão entre seu conjunto de dados de entrada e o Ground Truth. 
   + Para **configuração automatizada de dados**:
     + Siga as instruções em [Automatize a configuração de dados para trabalhos de rotulagem](sms-console-create-manifest-file.md) para tarefas de rotulagem de imagens, textos e videoclipes.
     + Siga as instruções em [Configurar dados de entrada automatizados de quadros de vídeo](sms-video-automated-data-setup.md) para trabalhos de rotulagem de quadros de vídeo. 
   + Para **configuração manual de dados**:
     + Em **Local do conjunto de dados de entrada**, forneça o local no Amazon S3 onde o arquivo de manifesto de entrada está localizado. Por exemplo, se o arquivo de manifesto de entrada, manifest.json, estiver localizado em **example-bucket**, insira **s3://example-bucket/manifest.json**.
     + Em **Local do conjunto de dados de saída**, forneça o local do Amazon S3 onde você deseja que o Ground Truth armazene os dados de saída do trabalho de rotulagem. 

1. Para a **função do IAM**, escolha uma função do IAM existente ou crie uma função do IAM com permissão para acessar seus recursos no Amazon S3, para gravar no bucket de saída do Amazon S3 especificado acima e com SageMaker uma política de execução de IA anexada. 

1. (Opcional) Para **configuração adicional**, você pode especificar quanto do seu conjunto de dados deseja que os trabalhadores rotulem e se deseja que a SageMaker IA criptografe os dados de saída do seu trabalho de rotulagem usando uma chave de AWS KMS criptografia. Para criptografar seus dados de saída, você deve ter as AWS KMS permissões necessárias anexadas à função do IAM fornecida na etapa anterior. Consulte mais detalhes em [Atribua permissões do IAM para usar o Ground Truth](sms-security-permission.md). 

1. Na seção **Tipo de tarefa**, em **Categoria da tarefa**, use o menu suspenso para selecionar a categoria da tarefa. 

1. Em **Seleção de tarefas**, escolha o tipo de tarefa. 

1. (Opcional) Forneça tags para o trabalho de rotulagem a fim de facilitar sua localização no console posteriormente. 

1. Escolha **Próximo**. 

1. Na seção **Operadores**, escolha o tipo de força de trabalho que você gostaria de usar. Para obter mais detalhes sobre suas opções de força de trabalho, consulte [Forças de trabalho](sms-workforce-management.md).

1. Depois de selecionar a força de trabalho, especifique o **Tempo limite da tarefa**. Esse é o tempo máximo que um operador tem para trabalhar em uma tarefa.

   Para tarefas de anotação em nuvem de pontos 3D, o tempo limite da tarefa padrão é de três dias. O tempo limite padrão para classificação de texto e imagem e trabalhos de rotulagem de verificação de rótulos é de cinco minutos. O tempo limite padrão para todos os outros trabalhos de rotulagem é de 60 minutos.

1. (Opcional) Para tipos de tarefas de caixa delimitadora, segmentação semântica, quadros de vídeo e nuvem de pontos 3D, você pode selecionar **Exibir rótulos existentes** se quiser exibir rótulos para o conjunto de dados de entrada a fim de que os operadores verifiquem ou ajustem.

   Para trabalhos de rotulagem de caixa delimitadora e segmentação semântica, isso criará um trabalho de rotulagem de ajuste.

   Para trabalhos de rotulagem de nuvem de pontos 3D e quadros de vídeo:
   + Selecione **Ajuste** para criar uma tarefa de rotulagem de ajuste. Quando selecionar essa opção, você pode adicionar novos rótulos, mas não pode remover ou editar rótulos existentes do trabalho anterior. Opcionalmente, você pode escolher os atributos da categoria do rótulo e os atributos do quadro que deseja que os trabalhadores editem. Para tornar um atributo editável, marque a caixa de seleção **Permitir que os trabalhadores editem esse atributo** para esse atributo.

     Se preferir, você pode fornecer atributos da categoria de rótulo e do quadro. 
   + Selecione **Verificação** para criar um trabalho de rotulagem de ajuste. Quando selecionar essa opção, você não pode adicionar, modificar ou remover rótulos existentes do trabalho anterior. Se preferir, você pode escolher os atributos da categoria do rótulo e os atributos do quadro que deseja que os trabalhadores editem. Para tornar um atributo editável, marque a caixa de seleção **Permitir que os trabalhadores editem esse atributo** para esse atributo. 

     Recomendamos que você adicione novos atributos de categoria de rótulo aos rótulos que deseja que os trabalhadores verifiquem ou adicione um ou mais atributos de quadro para que os trabalhadores forneçam informações sobre o quadro inteiro.

    Para obter mais informações, consulte [Verificação e ajuste do rótulo](sms-verification-data.md).

1. Configure a interface de usuário dos seus trabalhadores:
   + Se estiver usando um [tipo de tarefa integrado](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-task-types.html), especifique as instruções e os rótulos dos trabalhadores. 
     + Para classificação de imagens e classificação de texto (rótulo único e múltiplos), você deve especificar pelo menos duas categorias de rótulos. Para todos os outros tipos de tarefas integradas, você deve especificar pelo menos uma categoria de rótulo. 
     + (Opcional) Se estiver criando um trabalho de rotulagem de nuvem de pontos 3D ou quadro de vídeo, poderá especificar atributos de categoria de rótulo (não compatíveis com segmentação semântica de nuvem de pontos 3D) e atributos de quadro. Os atributos da categoria de rótulo podem ser atribuídos a um ou mais rótulos. Os atributos do quadro aparecerão em cada nuvem de pontos ou rótulo dos trabalhadores do quadro de vídeo. Para saber mais, consulte [Interface do usuário (UI) do operador](sms-point-cloud-general-information.md#sms-point-cloud-worker-task-ui) para a nuvem de pontos 3D e [Interface do usuário (UI) do operador](sms-video-overview.md#sms-video-worker-task-ui) para o quadro de vídeo. 
     + (Opcional) Adicione **instruções adicionais** para ajudar seu operador a concluir sua tarefa.
   + Se estiver criando um fluxo de trabalho de rotulagem personalizado, deverá:
     + Inserir um [modelo personalizado](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-custom-templates-step2.html) na caixa de código. Modelos personalizados podem ser criados usando uma combinação de HTML, a linguagem de modelagem Liquid e nossos componentes web pré-criados. Se preferir, você pode escolher o modelo base no menu suspenso para começar. 
     + Especificar as funções do Lambda de pré-anotação e pós-anotação. Para saber como criar essas funções, consulte [Processando dados em um fluxo de trabalho de rotulagem personalizado com AWS Lambda](sms-custom-templates-step3.md).

1. (Opcional) É possível selecionar **Ver pré-visualização** para visualizar as instruções do operador, os rótulos e interagir com a interface do usuário do operador. Certifique-se de que o bloqueador de pop-ups do navegador esteja desativado antes de gerar a pré-visualização.

1. Escolha **Criar**.

Depois de criar com êxito o trabalho de rotulagem, você será redirecionado para a página **Trabalhos de rotulagem**. O status do trabalho de rotulagem que você acabou de criar estará **Em andamento**. Esse status é atualizado progressivamente à medida que os operadores concluem as tarefas. Quando todas as tarefas forem concluídas com êxito, o status será alterado para **Concluído**.

Se ocorreu um problema durante a criação do trabalho de rotulagem, seu status será alterado para **Falhou**.

Para ver mais detalhes sobre o trabalho, selecione o nome do trabalho de rotulagem. 

## Próximas etapas
<a name="sms-create-labeling-job-console-next-steps"></a>

Depois que o status do trabalho de rotulagem mudar para **Concluído**, você poderá visualizar os dados de saída no bucket do Amazon S3 especificado durante a criação desse trabalho de rotulagem. Para obter detalhes sobre o formato dos dados de saída, consulte [Rotulando dados de saída do trabalho](sms-data-output.md).

# Criar um trabalho de rotulagem (API)
<a name="sms-create-labeling-job-api"></a>

Para criar um trabalho de etiquetagem usando a SageMaker API da Amazon, você usa a [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html)operação. Para obter instruções específicas sobre como criar um trabalho de rotulagem para um tipo de tarefa integrada, consulte a [página do tipo de tarefa](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-task-types.html) em questão. Para saber como criar um trabalho de rotulagem de streaming, que é um trabalho de rotulagem que é executado perpetuamente, consulte [Criar um trabalho de rotulagem de streaming](sms-streaming-create-job.md).

Para usar a operação `CreateLabelingJob`, você precisa do seguinte:
+ Um modelo de tarefas do operador (`UiTemplateS3Uri`) ou um ARN de interface do usuário de tarefa humana (`[HumanTaskUiArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UiConfig.html#sagemaker-Type-UiConfig-HumanTaskUiArn)`) no Amazon S3. 
  + Para trabalhos de nuvem de pontos 3D, trabalhos de monitoramento, de detecção de objetos de vídeo e trabalhos NER, use o ARN listado em `HumanTaskUiArn` para seu tipo de tarefa.
  + Se estiver usando um tipo de tarefa integrada que não seja uma tarefa de nuvem de pontos 3D, você poderá adicionar as instruções do operador a um dos modelos pré-criados e salvar o modelo (usando uma extensão.html ou .liquid) no bucket do S3. Encontre os modelos de pré-compilação na [página do tipo de tarefa](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-task-types.html) em questão.
  + Se estiver usando um fluxo de trabalho de rotulagem personalizado, você poderá criar um modelo personalizado e salvar o modelo no bucket do S3. Para saber como criar um modelo de operador personalizado, consulte [Um modelo de tarefas do operador personalizado.](sms-custom-templates-step2.md). Para obter elementos HTML personalizados que você pode usar para personalizar o modelo, consulte [Referência do Crowd HTML Elements](sms-ui-template-reference.md). Para obter um repositório de modelos de demonstração para uma variedade de tarefas de rotulagem, consulte [Amazon SageMaker Ground Truth Sample Task UIs ](https://github.com/aws-samples/amazon-sagemaker-ground-truth-task-uis).
+ Um arquivo manifesto de entrada que especifique os dados de entrada no Amazon S3. Especifique o local do arquivo manifesto de entrada no `ManifestS3Uri`. Para obter informações sobre como criar um manifesto de entrada, consulte [Dados de entrada](sms-data-input.md). Se você criar um trabalho de rotulagem de streaming, isso é opcional. Para saber como criar um trabalho de rotulagem de streaming, consulte [Criar um trabalho de rotulagem de streaming](sms-streaming-create-job.md).
+ Um bucket do Amazon S3 para armazenar seus dados de saída. Você especifica este bucket e, opcionalmente, um prefixo em `S3OutputPath`.
+ Um arquivo de configuração de categoria de rótulo. O nome de cada categoria de rótulo deve ser exclusivo. Especifique o local desse arquivo no Amazon S3 usando o parâmetro `LabelCategoryConfigS3Uri`. As categorias de rótulo e formato desse arquivo dependem do tipo de tarefa que você usa:
  + Para classificação de imagens e classificação de texto (rótulo único e múltiplos), você deve especificar pelo menos duas categorias de rótulos. Para todos os outros tipos de tarefas, o número mínimo de categorias de rótulos exigido é 01. 
  + Para tarefas de reconhecimento de entidades nomeadas, você deve fornecer instruções de trabalhadores nesse arquivo. Para obter detalhes e um exemplo, consulte [Forneça instruções de trabalho em um Arquivo de configuração de categoria de rótulo](sms-named-entity-recg.md#worker-instructions-ner).
  + Para o tipo de tarefa de nuvem de pontos 3D e quadros de vídeo, use o formato em [Arquivo de configuração de categorias de rotulagem com referência de atributos de categorias e quadros de rótulo](sms-label-cat-config-attributes.md).
  + Para todos os outros tipos de tarefa integradas e tarefas personalizadas, o arquivo de configuração da categoria de rótulo deve ser um arquivo JSON no seguinte formato. Identifique os rótulos que você deseja usar substituindo `label_1`, `label_2`, `...`, `label_n` pelas categorias de rótulos. 

    ```
    {
        "document-version": "2018-11-28",
        "labels": [
            {"label": "label_1"},
            {"label": "label_2"},
            ...
            {"label": "label_n"}
        ]
    }
    ```
+ Uma função AWS Identity and Access Management (IAM) com a política [AmazonSageMakerGroundTruthExecution](https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/AmazonSageMakerGroundTruthExecution)gerenciada do IAM anexada e com permissões para acessar seus buckets do S3. Especifique essa função em `RoleArn`. Para saber mais sobre essa política, consulte [Use políticas gerenciadas do IAM com o Ground Truth](sms-security-permissions-get-started.md). Se você precisar de permissões mais granulares, consulte [Atribua permissões do IAM para usar o Ground Truth](sms-security-permission.md).

  Se o nome do bucket de entrada ou saída não contiver `sagemaker`, você poderá anexar uma política à função passada para a operação `CreateLabelingJob` semelhante à seguinte.

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

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Effect": "Allow",
              "Action": [
                  "s3:GetObject"
              ],
              "Resource": [
                  "arn:aws:s3:::my_input_bucket/*"
              ]
          },
          {
              "Effect": "Allow",
              "Action": [
                  "s3:PutObject"
              ],
              "Resource": [
                  "arn:aws:s3:::my_output_bucket/*"
              ]
          }
      ]
  }
  ```

------
+ Um Nome de recurso da Amazon (ARN) da função de pré e pós-anotação do AWS Lambda (ou consolidação de anotação) para processar seus dados de entrada e saída. 
  + As funções Lambda são predefinidas em cada AWS região para tipos de tarefas incorporados. Para encontrar a pré-anotação Lambda ARN para sua região, consulte. [PreHumanTaskLambdaArn](https://docs.aws.amazon.com/sagemaker/latest/dg/API_HumanTaskConfig.html#SageMaker-Type-HumanTaskConfig-PreHumanTaskLambdaArn) Para encontrar o ARN Lambda de consolidação de anotações para sua região, consulte. [AnnotationConsolidationLambdaArn](https://docs.aws.amazon.com/sagemaker/latest/dg/API_AnnotationConsolidationConfig.html#SageMaker-Type-AnnotationConsolidationConfig-AnnotationConsolidationLambdaArn) 
  + Para fluxos de trabalho de rotulagem personalizada, é necessário fornecer um ARN do Lambda de pré e pós-anotação. Para saber como criar essas funções do Lambda, consulte [Processando dados em um fluxo de trabalho de rotulagem personalizado com AWS Lambda](sms-custom-templates-step3.md).
+ Um ARN de equipe de trabalho que você especifica em `WorkteamArn`. Você recebe um ARN de equipe de trabalho ao assinar uma força de trabalho de um fornecedor ou criar uma equipe de trabalho privada. Se você estiver criando um trabalho de rotulagem para um quadro de vídeo ou tipo de tarefa de nuvem de pontos, não poderá usar a Amazon Mechanical Turk força de trabalho. Para todos os outros tipos de tarefas, para usar a força de trabalho do Mechanical Turk, use o seguinte ARN. *`region`*Substitua pela AWS região que você está usando para criar o trabalho de etiquetagem.

  ` arn:aws:sagemaker:region:394669845002:workteam/public-crowd/default`

  Se você usar a [força de trabalho Amazon Mechanical Turk](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-management-public.html), use o parâmetro `ContentClassifiers` em `DataAttributes` de `InputConfig` para declarar que o seu conteúdo não contém informações de identificação pessoal e nem conteúdo adulto. 

  O Ground Truth *exige* que seus dados de entrada estejam livres de informações de identificação pessoal (PII) quando você usa o Mechanical Turk. Se você usa o Mechanical Turk e não especifica que seus dados de entrada estão livres de PII usando o sinalizador `FreeOfPersonallyIdentifiableInformation`, seu trabalho de rotulagem irá falhar. Use a `FreeOfAdultContent` bandeira para declarar que seus dados de entrada estão livres de conteúdo adulto. SageMaker A IA pode restringir os funcionários do Amazon Mechanical Turk que podem visualizar sua tarefa se ela contiver conteúdo adulto. 

  Para saber mais sobre equipes de trabalho e forças de trabalho, consulte [Forças de trabalho](sms-workforce-management.md). 
+ Se você usa a força de trabalho do Mechanical Turk, deve especificar o preço que pagará aos trabalhadores pela execução de uma única tarefa em `PublicWorkforceTaskPrice`.
+ Para configurar a tarefa, você deve fornecer uma descrição da tarefa e um título usando `TaskDescription` e `TaskTitle`, respectivamente. Opcionalmente, você pode fornecer limites de tempo que controlam por quanto tempo os operadores precisam trabalhar em uma tarefa individual (`TaskTimeLimitInSeconds`) e por quanto tempo as tarefas permanecem no portal do operador, disponível para os operadores (`TaskAvailabilityLifetimeInSeconds`).
+ (Opcional) Para [alguns tipos de tarefa](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-annotation-consolidation.html), é possível que vários operadores rotulem um único objeto de dados inserindo um número superior a um para o parâmetro `NumberOfHumanWorkersPerDataObject`. Para obter mais informações sobre consolidação de anotações, consulte [Consolidação de anotações](sms-annotation-consolidation.md).
+ (Opcional) Para criar um trabalho automatizado de rotulagem de dados, especifique um dos ARNs listados [LabelingJobAlgorithmSpecificationArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_LabelingJobAlgorithmsConfig.html)em`LabelingJobAlgorithmsConfig`. Esse ARN identifica o algoritmo usado na tarefa automatizada de rotulagem de dados. O tipo de tarefa associado a esse ARN deve corresponder ao tipo de tarefa do `PreHumanTaskLambdaArn` e `AnnotationConsolidationLambdaArn` que você especificar. A rotulagem automatizada de dados é compatível com os seguintes tipos de tarefas: classificação de imagens, caixa delimitadora, segmentação de semântica e classificação de texto. O número mínimo de objetos permitidos para a rotulagem de dados automatizada é de 1.250, mas é altamente recomendável fornecer um mínimo de 5.000 objetos. Para saber mais sobre trabalhos de rotulagem de dados automatizados, consulte[Automatizar a rotulagem de dados](sms-automated-labeling.md).
+ (Opcional) Você pode fornecer [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#API_CreateLabelingJob_RequestSyntax](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#API_CreateLabelingJob_RequestSyntax), que faz com que o trabalho de rotulagem seja interrompido se uma das condições for atendida. Você pode usar condições de interrupção para controlar o custo do trabalho de rotulagem.

## Exemplos
<a name="sms-create-labeling-job-api-examples"></a>

Os exemplos de código a seguir demonstram como criar um trabalho de rotulagem usando `CreateLabelingJob`. Você também pode ver esses blocos de notas de exemplo GitHub no [repositório de exemplos de SageMaker IA](https://github.com/aws/amazon-sagemaker-examples/tree/master/ground_truth_labeling_jobs).

------
#### [ AWS SDK para Python (Boto3) ]

Veja a seguir um exemplo de uma [solicitação do AWS SDK Python (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_labeling_job) para criar um trabalho de rotulagem para tipos de tarefas integradas na região Leste dos EUA (Norte da Virgínia) usando uma força de trabalho privada. Substitua tudo *red-italized text* pelos recursos e especificações do seu trabalho de etiquetagem. 

```
response = client.create_labeling_job(
    LabelingJobName="example-labeling-job",
    LabelAttributeName="label",
    InputConfig={
        'DataSource': {
            'S3DataSource': {
                'ManifestS3Uri': "s3://bucket/path/manifest-with-input-data.json"
            }
        },
        'DataAttributes': {
            'ContentClassifiers': [
                "FreeOfPersonallyIdentifiableInformation"|"FreeOfAdultContent",
            ]
        }
    },
    OutputConfig={
        'S3OutputPath': "s3://bucket/path/file-to-store-output-data",
        'KmsKeyId': "string"
    },
    RoleArn="arn:aws:iam::*:role/*",
    LabelCategoryConfigS3Uri="s3://bucket/path/label-categories.json",
    StoppingConditions={
        'MaxHumanLabeledObjectCount': 123,
        'MaxPercentageOfInputDatasetLabeled': 123
    },
    HumanTaskConfig={
        'WorkteamArn': "arn:aws:sagemaker:region:*:workteam/private-crowd/*",
        'UiConfig': {
            'UiTemplateS3Uri': "s3://bucket/path/custom-worker-task-template.html"
        },
        'PreHumanTaskLambdaArn': "arn:aws:lambda:us-east-1:432418664414:function:PRE-tasktype",
        'TaskKeywords': [
            "Images",
            "Classification",
            "Multi-label"
        ],
        'TaskTitle': "Multi-label image classification task",
        'TaskDescription': "Select all labels that apply to the images shown",
        'NumberOfHumanWorkersPerDataObject': 1,
        'TaskTimeLimitInSeconds': 3600,
        'TaskAvailabilityLifetimeInSeconds': 21600,
        'MaxConcurrentTaskCount': 1000,
        'AnnotationConsolidationConfig': {
            'AnnotationConsolidationLambdaArn': "arn:aws:lambda:us-east-1:432418664414:function:ACS-"
        },
    Tags=[
        {
            'Key': "string",
            'Value': "string"
        },
    ]
)
```

------
#### [ AWS CLI ]

Veja a seguir um exemplo de uma solicitação de AWS CLI para criar um trabalho de rotulagem para um tipo de tarefa incorporado na região Leste dos EUA (Norte da Virgínia) usando a força de trabalho do [Amazon Mechanical Turk](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-management-public.html). Para obter mais informações, consulte [start-human-loop](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/create-labeling-job.html) na *Referência de comandos da [AWS CLI](https://docs.aws.amazon.com/cli/latest/reference/)*. Substitua tudo *red-italized text* pelos recursos e especificações do seu trabalho de etiquetagem. 

```
$ aws --region us-east-1 sagemaker create-labeling-job \
--labeling-job-name "example-labeling-job" \
--label-attribute-name "label" \
--role-arn "arn:aws:iam::account-id:role/role-name" \
--input-config '{
        "DataAttributes": {
            "ContentClassifiers": [
                "FreeOfPersonallyIdentifiableInformation",
                "FreeOfAdultContent"
            ]
        },
        "DataSource": {
            "S3DataSource": {
                "ManifestS3Uri": "s3://bucket/path/manifest-with-input-data.json"
            }
        }
    }' \
--output-config '{
        "KmsKeyId": "",
        "S3OutputPath": "s3://bucket/path/file-to-store-output-data"
    }' \
--human-task-config '{
        "AnnotationConsolidationConfig": {
            "AnnotationConsolidationLambdaArn": "arn:aws:lambda:us-east-1:432418664414:function:ACS-"
        },
        "TaskAvailabilityLifetimeInSeconds": 21600,
        "TaskTimeLimitInSeconds": 3600,
        "NumberOfHumanWorkersPerDataObject": 1,
        "PreHumanTaskLambdaArn":  "arn:aws:lambda:us-east-1:432418664414:function:PRE-tasktype",
        "WorkteamArn": "arn:aws:sagemaker:us-east-1:394669845002:workteam/public-crowd/default",
        "PublicWorkforceTaskPrice": {
            "AmountInUsd": {
                "Dollars": 0,
                "TenthFractionsOfACent": 6,
                "Cents": 3
            }
        },
        "TaskDescription": "Select all labels that apply to the images shown",
        "MaxConcurrentTaskCount": 1000,
        "TaskTitle": "Multi-label image classification task",,
        "TaskKeywords": [
            "Images",
            "Classification",
            "Multi-label"
        ],
        "UiConfig": {
            "UiTemplateS3Uri": "s3://bucket/path/custom-worker-task-template.html"
        }
    }'
```

------

Para obter mais informações sobre essa operação, consulte [CreateLabelingJob](https://docs.aws.amazon.com/sagemaker/latest/dg/API_CreateLabelingJob.html). Para obter informações sobre como usar outro idioma específico SDKs, consulte [Consulte também](https://docs.aws.amazon.com/sagemaker/latest/dg/API_CreateLabelingJob.html#API_CreateLabelingJob_SeeAlso) no `CreateLabelingJobs` tópico. 

# Criar um trabalho de rotulagem de streaming
<a name="sms-streaming-create-job"></a>

Os trabalhos de rotulagem de streaming permitem que você envie objetos de dados individuais em tempo real para um trabalho de rotulagem de streaming em execução permanente. Para criar um trabalho de rotulagem de streaming, você pode especificar o *tópico de entrada* ARN, `SnsTopicArn`, do Amazon SNS no parâmetro `InputConfig` ao fazer uma solicitação [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html). Você também pode, opcionalmente, criar um *tópico de saída do Amazon SNS* e especificá-lo em `OutputConfig` se quiser receber dados de etiquetas em tempo real.

**Importante**  
Se você for um novo usuário dos trabalhos de rotulagem de streaming da Ground Truth, é recomendável que revise [Trabalhos de rotulagem de streaming do Ground Truth](sms-streaming-labeling-job.md) antes de criar um trabalho de rotulagem de streaming. Os trabalhos de rotulagem de streaming da Ground Truth só são suportados por meio da SageMaker API.

Use as seguintes seções para criar os recursos necessários e que podem ser usados para criar um job de rotulagem de streaming:
+ Aprenda a criar tópicos de SNS com as permissões necessárias para trabalhos de rotulagem de streaming do Ground Truth seguindo as etapas descritas em [Use tópicos do Amazon SNS para rotulagem de dados](sms-create-sns-input-topic.md). Seus tópicos do SNS devem ser criados na mesma AWS região do seu trabalho de etiquetagem. 
+ Consulte [Inscreva um endpoint no tópico de saída do Amazon SNS](sms-create-sns-input-topic.md#sms-streaming-subscribe-output-topic) para saber como configurar um endpoint para receber dados de saída da tarefa de rotulagem em um endpoint especificado sempre que uma tarefa de rotulagem for concluída.
+ Para saber como configurar seu bucket do Amazon S3 para enviar notificações para o tópico de entrada do Amazon SNS, consulte [Criar notificações de eventos de bucket do Amazon S3 com base no Amazon SNS definido em seu trabalho de rotulagem](sms-streaming-s3-setup.md).
+ Opcionalmente, adicione objetos de dados que você deseja rotular assim que o trabalho de rotulagem começar em seu manifesto de entrada. Para obter mais informações, consulte [Criar um arquivo de manifesto (opcional)](sms-streaming-manifest.md).
+ Há outros recursos necessários para criar um trabalho de rotulagem, como uma perfil do IAM, um bucket do Amazon S3, um modelo de tarefa de operador e categorias de rótulos. Eles estão descritos na documentação de Ground Truth sobre a criação de um trabalho de rotulagem. Para obter mais informações, consulte [Criar um trabalho de rotulagem](sms-create-labeling-job.md). 
**Importante**  
Quando criar um trabalho de rotulagem, você deve fornecer uma função de execução. Anexe a política AWS gerenciada **AmazonSageMakerGroundTruthExecution**a essa função para garantir que ela tenha as permissões necessárias para executar seu trabalho de rotulagem. 

Quando você envia uma solicitação para criar um trabalho de rotulagem de streaming, o estado do seu trabalho de etiquetagem é `Initializing`. Quando o trabalho de rotulagem está ativo, o estado muda para `InProgress`. Não envie novos objetos de dados para o seu trabalho de rotulagem nem tente interromper seu trabalho de rotulagem enquanto ele estiver no estado `Initializing` . Depois que o estado mudar para `InProgress`, você poderá começar a enviar novos objetos de dados usando o Amazon SNS e a configuração do Amazon S3. 

**Topics**
+ [Use tópicos do Amazon SNS para rotulagem de dados](sms-create-sns-input-topic.md)
+ [Criar notificações de eventos de bucket do Amazon S3 com base no Amazon SNS definido em seu trabalho de rotulagem](sms-streaming-s3-setup.md)
+ [Criar um arquivo de manifesto (opcional)](sms-streaming-manifest.md)
+ [Crie um Streaming Labeling Job com a SageMaker API](sms-streaming-create-labeling-job-api.md)
+ [Interromper um trabalho de rotulagem de streaming](sms-streaming-stop-labeling-job.md)

# Use tópicos do Amazon SNS para rotulagem de dados
<a name="sms-create-sns-input-topic"></a>

Você precisa criar uma entrada do Amazon SNS para criar um trabalho de rotulagem de streaming. Opcionalmente, você pode fornecer um tópico de saída do Amazon SNS.

Quando criar um tópico do Amazon SNS para usar em seu trabalho de rotulagem de streaming, anote o tópico Nome do recurso da Amazon (ARN). O ARN serão os valores de entrada para o parâmetro `SnsTopicArn` em `InputConfig` e `OutputConfig` quando você criar um trabalho de rotulagem.

## Criar um tópico de entrada
<a name="sms-streaming-input-topic"></a>

Seu tópico de entrada é usado para enviar novos objetos de dados para o Ground Truth. Para criar um tópico de entrada, consulte as instruções em [Criar um tópico do Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-create-topic.html) no Guia do desenvolvedor do Amazon Simple Notification Service.

Anote o ARN do tópico de entrada e use-o como entrada `CreateLabelingJob` para o parâmetro `SnsTopicArn` em `InputConfig`. 

## Criar um tópico de saída
<a name="sms-streaming-output-topic"></a>

Se você fornecer um tópico de saída, ele será usado para enviar notificações quando um objeto de dados for rotulado. Ao criar um tópico, você tem a opção de adicionar uma chave de criptografia. Use essa opção para adicionar uma chave gerenciada pelo AWS Key Management Service cliente ao seu tópico para criptografar os dados de saída do seu trabalho de etiquetagem antes que eles sejam publicados no tópico de saída.

Para criar um tópico de saída, consulte as instruções em [Criar um tópico do Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-create-topic.html) no Guia do desenvolvedor do Amazon Simple Notification Service.

Se você adicionar criptografia, deverá anexar permissão adicional ao tópico. Consulte [Adicionar criptografia ao seu tópico de saída (opcional)](#sms-streaming-encryption) para obter mais informações.

**Importante**  
Para adicionar uma chave gerenciada pelo cliente ao seu tópico de saída ao criar um tópico no console, não use a alias/aws/sns opção **(Padrão)**. Selecione uma chave gerenciada pelo cliente que você criou. 

Anote o ARN do tópico de entrada e use-o na sua solicitação `CreateLabelingJob` para o parâmetro `SnsTopicArn` em `OutputConfig`. 

### Adicionar criptografia ao seu tópico de saída (opcional)
<a name="sms-streaming-encryption"></a>

Para criptografar mensagens publicadas em seu tópico de saída, você precisa fornecer uma chave gerenciada pelo cliente AWS KMS para o seu tópico. Modifique a política a seguir e adicione-a à sua chave gerenciada pelo cliente para dar permissão ao Ground Truth para criptografar dados de saída antes de publicá-los em seu tópico de saída.

Substitua *`<account_id>`* pelo ID da conta que você está usando para criar o seu tópico. Para saber como encontrar o ID AWS da sua conta, consulte Como [encontrar o ID AWS da sua conta](https://docs.aws.amazon.com/IAM/latest/UserGuide/console_account-alias.html#FindingYourAWSId). 

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

****  

```
{
    "Id": "key-console-policy",
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "Enable IAM User Permissions",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:root"
            },
            "Action": "kms:*",
            "Resource": "*"
        },
        {
            "Sid": "Allow access for Key Administrators",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:role/Admin"
            },
            "Action": [
                "kms:Create*",
                "kms:Describe*",
                "kms:Enable*",
                "kms:List*",
                "kms:Put*",
                "kms:Update*",
                "kms:Revoke*",
                "kms:Disable*",
                "kms:Get*",
                "kms:Delete*",
                "kms:TagResource",
                "kms:UntagResource",
                "kms:ScheduleKeyDeletion",
                "kms:CancelKeyDeletion"
            ],
            "Resource": "*"
        }
    ]
}
```

------

Além disso, você deve modificar e adicionar a política a seguir à função de execução que você usa para criar seu trabalho de rotulagem (o valor de entrada para `RoleArn`). 

Substitua *`<account_id>`* pelo ID da conta que você está usando para criar o seu tópico. Substitua *`<region>`* pela região AWS na qual você está criando o trabalho de rotulagem. Substitua `<key_id>` pelo ID da chave gerenciada pelo cliente.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "sid1",
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt",
                "kms:GenerateDataKey"
            ],
            "Resource": "arn:aws:kms:us-east-1:111122223333:key/your_key_id"
        }
    ]
}
```

------

Para obter mais informações sobre como criar e proteger chaves, consulte [Como criar chaves](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html) e [usar políticas de chaves](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) no Guia do AWS Key Management Service desenvolvedor.

## Inscreva um endpoint no tópico de saída do Amazon SNS
<a name="sms-streaming-subscribe-output-topic"></a>

Quando um operador conclui uma tarefa do trabalho de rotulagem a partir de um trabalho de rotulagem de streaming do Ground Truth, o Ground Truth usa seu tópico de saída para publicar dados de saída em um ou mais endpoints especificados por você. Para receber notificações quando um operador concluir uma tarefa de rotulagem, assine um endpoint para seu tópico de saída do Amazon SNS.

Para saber como adicionar endpoints ao seu tópico de saída, consulte [Inscrever-se em um tópico do Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-create-subscribe-endpoint-to-topic.html) no Guia do desenvolvedor do *Amazon Simple Notification Service*.

Para saber mais sobre o formato de dados de saída publicado nesses endpoints, consulte [Rotulando dados de saída do trabalho](sms-data-output.md). 

**Importante**  
Se você não inscrever um endpoint no seu tópico de saída do Amazon SNS, não receberá notificações quando novos objetos de dados forem rotulados. 

# Criar notificações de eventos de bucket do Amazon S3 com base no Amazon SNS definido em seu trabalho de rotulagem
<a name="sms-streaming-s3-setup"></a>

Alterações em seu bucket do Amazon S3, notificações de eventos, são habilitadas no console do Amazon S3, na API, no idioma AWS SDKs específico ou no. AWS Command Line Interface Os eventos devem usar o mesmo ARN do tópico de entrada do Amazon SNS, `SnsTopicArn`, especificado no parâmetro `InputConfig` como parte da sua solicitação `CreateLabelingJob`.

**As notificações do bucket do Amazon S3 e seus dados de entrada não devem ser do mesmo bucket do Amazon S3**  
Ao criar notificações de eventos, não use o mesmo local do Amazon S3 que você especificou como seu `S3OutputPath` nos parâmetros de `OutputConfig`. Se você vincular os dois buckets, objetos de dados indesejados poderão ser processados pelo Ground Truth para rotulagem.

Você decide os tipos de eventos que deseja enviar para o seu tópico do Amazon SNS. O Ground Truth cria um trabalho de rotulagem quando você envia [eventos de criação de objetos](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/enable-event-notifications.html#enable-event-notifications-types).

A estrutura de eventos enviada ao seu tópico de entrada do Amazon SNS deve ser uma mensagem JSON formatada usando a mesma estrutura encontrada em [Estrutura de mensagens de eventos](https://docs.aws.amazon.com/AmazonS3/latest/dev/notification-content-structure.html).

*Para ver exemplos de como você pode configurar uma notificação de evento para seu bucket do Amazon S3 usando o console do Amazon S3, o SDK para.NET e o SDK AWS for Java, siga este [passo a passo, Passo a passo: Configurar um bucket para notificações (tópico do SNS ou](https://docs.aws.amazon.com/AmazonS3/latest/dev/ways-to-add-notification-config-to-bucket.html) fila do SQS) no Guia do usuário do Amazon Simple Storage Service. AWS *

 EventBridge As notificações da Amazon não são suportadas nativamente. Para usar a notificação EventBridge baseada, você deve atualizar o formato de saída para corresponder ao formato JSON usado na [estrutura de mensagens do evento](https://docs.aws.amazon.com/AmazonS3/latest/dev/notification-content-structure.html).

# Criar um arquivo de manifesto (opcional)
<a name="sms-streaming-manifest"></a>

Ao criar um trabalho de rotulagem de streaming, você tem a opção única de adicionar objetos (como imagens ou texto) a um arquivo de manifesto de entrada especificado em `ManifestS3Uri` of `CreateLabelingJob`. Quando o trabalho de rotulagem de streaming é iniciado, esses objetos são enviados aos operadores ou adicionados à fila do Amazon SQS se houver excesso no número total de objetos `MaxConcurrentTaskCount`. Os resultados são adicionados ao caminho do Amazon S3 que você especifica ao criar o trabalho de rotulagem periodicamente, à medida que os operadores concluem as tarefas de rotulagem. Os dados de saída são enviados para qualquer endpoint que você assine no tópico de saída. 

Se quiser fornecer objetos iniciais para serem rotulados, crie um arquivo de manifesto que identifique esses objetos e coloque-o no Amazon S3. Especifique o URI S3 desse arquivo de manifesto em `ManifestS3Uri` dentro de `InputConfig`.

Para saber como formatar o seu arquivo de manifesto, consulte [Dados de entrada](sms-data-input.md). Para usar o console de SageMaker IA para gerar automaticamente um arquivo de manifesto (não compatível com tipos de tarefas de nuvem de pontos 3D), consulte[Automatize a configuração de dados para trabalhos de rotulagem](sms-console-create-manifest-file.md).

# Crie um Streaming Labeling Job com a SageMaker API
<a name="sms-streaming-create-labeling-job-api"></a>

Veja a seguir um exemplo de uma [AWS Solicitação do Python SDK (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_labeling_job) que você pode usar para iniciar um trabalho de rotulagem de streaming na região Leste dos EUA (Norte da Virgínia). Para obter mais detalhes sobre cada parâmetro abaixo, consulte [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html). Para saber como criar um trabalho de rotulagem usando essa API e a linguagem específica associada SDKs, consulte [Create a Labeling Job (API)](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-create-labeling-job-api.html).

Nesse exemplo, observe os seguintes parâmetros:
+ `SnsDataSource`: Esse parâmetro aparece em `InputConfig` e `OutputConfig` e é usado para identificar seus tópicos de entrada e saída do Amazon SNS, respectivamente. Para criar um trabalho de rotulagem de streaming, você deve fornecer um tópico de entrada do Amazon SNS. Você também pode, opcionalmente, fornecer um tópico de saída do Amazon SNS.
+ `S3DataSource`: Esse parâmetro é opcional. Use esse parâmetro se quiser incluir um arquivo de manifesto de entrada de objetos de dados que você deseja rotular assim que o trabalho de rotulagem começar.
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#sagemaker-CreateLabelingJob-request-StoppingConditions](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#sagemaker-CreateLabelingJob-request-StoppingConditions): Esse parâmetro é ignorado quando você cria um trabalho de rotulagem de streaming. Para saber mais sobre como interromper um trabalho de rotulagem de streaming, consulte [Interromper um trabalho de rotulagem de streaming](sms-streaming-stop-labeling-job.md).
+ Os trabalhos de rotulagem de streaming não são compatíveis com a rotulagem de dados automatizada. Não inclua o parâmetro `LabelingJobAlgorithmsConfig`.

```
response = client.create_labeling_job(
    LabelingJobName= 'example-labeling-job',
    LabelAttributeName='label',
    InputConfig={
        'DataSource': {
            'S3DataSource': {
                'ManifestS3Uri': 's3://bucket/path/manifest-with-input-data.json'
            },
            'SnsDataSource': {
                'SnsTopicArn': 'arn:aws:sns:us-east-1:123456789012:your-sns-input-topic'
            }
        },
        'DataAttributes': {
            'ContentClassifiers': [
                'FreeOfPersonallyIdentifiableInformation'|'FreeOfAdultContent',
            ]
        }
    },
    OutputConfig={
        'S3OutputPath': 's3://bucket/path/file-to-store-output-data',
        'KmsKeyId': 'string',
        'SnsTopicArn': 'arn:aws:sns:us-east-1:123456789012:your-sns-output-topic'
    },
    RoleArn='arn:aws:iam::*:role/*',
    LabelCategoryConfigS3Uri='s3://bucket/path/label-categories.json',
    HumanTaskConfig={
        'WorkteamArn': 'arn:aws:sagemaker:us-east-1:*:workteam/private-crowd/*',
        'UiConfig': {
            'UiTemplateS3Uri': 's3://bucket/path/custom-worker-task-template.html'
        },
        'PreHumanTaskLambdaArn': 'arn:aws:lambda:us-east-1:432418664414:function:PRE-tasktype',
        'TaskKeywords': [
            'Example key word',
        ],
        'TaskTitle': 'Multi-label image classification task',
        'TaskDescription': 'Select all labels that apply to the images shown',
        'NumberOfHumanWorkersPerDataObject': 123,
        'TaskTimeLimitInSeconds': 123,
        'TaskAvailabilityLifetimeInSeconds': 123,
        'MaxConcurrentTaskCount': 123,
        'AnnotationConsolidationConfig': {
            'AnnotationConsolidationLambdaArn': 'arn:aws:lambda:us-east-1:432418664414:function:ACS-tasktype'
            }
        },
    Tags=[
        {
            'Key': 'string',
            'Value': 'string'
        },
    ]
)
```

# Interromper um trabalho de rotulagem de streaming
<a name="sms-streaming-stop-labeling-job"></a>

Você pode interromper manualmente seu trabalho de etiquetagem de streaming usando a operação [StopLabelingJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_StopLabelingJob.html). 

Se o seu trabalho de etiquetagem permanecer inativo por mais de 10 dias, ele será automaticamente interrompido pelo Ground Truth. Nesse contexto, um trabalho de rotulagem é considerado *inativo* se nenhum objeto for enviado para o tópico de entrada do Amazon SNS e nenhum objeto permanecer na fila do Amazon SQS aguardando para ser rotulado. Por exemplo, se nenhum objeto de dados for inserido no tópico de entrada do Amazon SNS e todos os objetos inseridos no trabalho de rotulagem já estiverem rotulados, o Ground Truth iniciará um cronômetro. Após o início do cronômetro, se nenhum item for recebido em um período de 10 dias, o trabalho de rotulagem será interrompido. 

Quando um trabalho de rotulagem é interrompido, seu status é `STOPPING` enquanto o Ground Truth limpa os recursos do trabalho de rotulagem e cancela a assinatura do tópico do Amazon SNS na fila do Amazon SQS. O Amazon SQS *não* é excluído pelo Ground Truth porque essa fila pode conter objetos de dados não processados. Exclua manualmente a fila se quiser evitar cobranças adicionais do Amazon SQS. Para saber mais, consulte [Definição de preços do Amazon SQS](https://aws.amazon.com/sqs/pricing/).

# Arquivo de configuração de categorias de rotulagem com referência de atributos de categorias e quadros de rótulo
<a name="sms-label-cat-config-attributes"></a>

Ao criar um trabalho de rotulagem de nuvem de pontos 3D ou quadro de vídeo usando a operação de SageMaker API da Amazon`CreateLabelingJob`, você usa um arquivo de configuração de categoria de etiqueta para especificar suas etiquetas e instruções de trabalho. Opcionalmente, você pode fornecer o seguinte em seu arquivo de atributo de categoria de rótulo:
+ Você pode fornecer *atributos de categoria de rótulo* para quadros de vídeo e rastreamento de objetos de nuvem de pontos 3D e tipos de tarefas de detecção de objetos. Os operadores podem usar um ou mais atributos para fornecer mais informações sobre esse objeto. Por exemplo, você pode querer usar o atributo *obstruído* para que os operadores identifiquem quando um objeto está parcialmente obstruído. É possível especificar um atributo de categoria de rótulo para um único rótulo usando o parâmetro `categoryAttributes` ou para todos os rótulos que usam o parâmetro `categoryGlobalAttributes`. 
+ Você pode fornecer *atributos de quadro* para de rótulo para rastreamento de objetos quadros de vídeo de nuvem de pontos 3D e tipos de tarefas de detecção de objetos usando `frameAttributes`. Quando você cria um atributo de quadro, ele aparece em cada quadro ou nuvem de pontos na tarefa do operador. Em trabalhos de rotulagem de quadros de vídeo, esses são atributos que os operadores atribuem a um quadro de vídeo inteiro. Para trabalhos de rotulagem de nuvem de pontos 3D, esses atributos são aplicados a uma única nuvem de pontos. Use atributos de quadro para que os operadores forneçam mais informações sobre a cena em um quadro específico ou nuvem de pontos.
+ Para trabalhos de rotulagem de quadros de vídeo, você usa o arquivo de configuração da categoria de rótulo para especificar o tipo de tarefa (caixa delimitadora, linha poligonal, polígono ou ponto-chave) enviada aos operadores. 

Para operadores, especificar valores para atributos de categoria de rótulo e atributos de quadro será opcional.

**Importante**  
Você só deverá fornecer um nome de atributo de rótulo em `auditLabelAttributeName` se estiver executando um trabalho de auditoria para verificar ou ajustar rótulos. Use esse parâmetro para inserir o [LabelAttributeName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#sagemaker-CreateLabelingJob-request-LabelAttributeName)usado no trabalho de etiquetagem que gerou as anotações que você deseja que seu trabalhador ajuste. Quando você cria um trabalho de rotulagem no console, se você não especificou um nome de atributo de rótulo, o **nome** do seu trabalho é usado como LabelAttributeName o.

Os tópicos a seguir mostram exemplos de um arquivo de configuração de categoria de rótulo para diferentes tipos de trabalhos de rotulagem. Eles também explicam o esquema e as cotas de um arquivo de configuração de categoria.

**Topics**
+ [Exemplos: arquivos de configuração de categoria de rótulo para trabalhos de rotulagem de nuvem de pontos 3D](#sms-label-cat-config-attributes-3d-pc)
+ [Exemplo: arquivos de configuração de categoria de rótulos para trabalhos de rotulagem de quadros de vídeo](#sms-label-cat-config-attributes-vid-frame)
+ [Esquema do arquivo de configuração da categoria de rótulos](#sms-label-cat-config-attributes-schema)
+ [Cotas de rótulo e de atributo da categoria de rótulo](#sms-point-cloud-label-cat-limits)

## Exemplos: arquivos de configuração de categoria de rótulo para trabalhos de rotulagem de nuvem de pontos 3D
<a name="sms-label-cat-config-attributes-3d-pc"></a>

Os seguintes tópicos evidenciam exemplos de arquivos de configuração de categorias de rótulos de nuvem de pontos 3D para trabalhos de rotulagem de detecção de objetos, rastreamento de objetos, segmentação semântica, ajuste e verificação:

**Topics**
+ [Exemplo: rastreamento de objetos de nuvem de pontos 3D e detecção de objetos](#example-3d-point-cloud-object)
+ [Exemplo: Segmentação semântica da nuvem de pontos 3D](#example-3d-point-cloud-semantic)
+ [Exemplo: ajuste da nuvem de pontos 3D](#example-3d-point-cloud-adjustment)
+ [Exemplo: verificação da nuvem de pontos 3D](#example-3d-point-cloud-verification)

### Exemplo: rastreamento de objetos de nuvem de pontos 3D e detecção de objetos
<a name="example-3d-point-cloud-object"></a>

Veja a seguir um exemplo de um arquivo de configuração de categoria de rótulo que inclui atributos de categoria de rótulo para uma tarefa de detecção de objetos de nuvem de pontos 3D ou de rotulagem de rastreamento de objetos. Este exemplo inclui dois atributos de quadro, que serão adicionados a todas as nuvens de pontos enviadas ao trabalho de rotulagem. O rótulo `Car` incluirá quatro atributos de categoria de rótulo - `X`,`Y`,`Z` e o atributo global, `W`.

```
{
    "documentVersion": "2020-03-01",
    "frameAttributes": [
        {
            "name":"count players",
            "description":"How many players to you see in the scene?",
            "type":"number"
        },
        {
            "name":"select one",
            "description":"describe the scene",
            "type":"string",
            "enum":["clear","blurry"],
            "isRequired":true 
        },   
    ],
    "categoryGlobalAttributes": [
        {
            "name":"W",
            "description":"label-attributes-for-all-labels",
            "type":"string",
            "enum": ["foo", "buzz", "biz"]
        }
    ],
    "labels": [
        {
            "label": "Car",
            "categoryAttributes": [
                {
                    "name":"X",
                    "description":"enter a number",
                    "type":"number",
                },
                {
                    "name":"Y",
                    "description":"select an option",
                    "type":"string",
                    "enum":["y1", "y2"]
                },
                {
                    "name":"Z",
                    "description":"submit a free-form response",
                    "type":"string",
                }
            ]
        },
        {
            "label": "Pedestrian",
            "categoryAttributes": [...]
        }
    ],
    "instructions": {"shortInstruction":"Draw a tight Cuboid", "fullInstruction":"<html markup>"}
}
```

### Exemplo: Segmentação semântica da nuvem de pontos 3D
<a name="example-3d-point-cloud-semantic"></a>

Veja a seguir um exemplo um arquivo de configuração de categoria de rótulo para um trabalho de rotulagem de segmentação semântica de nuvem de pontos 3D. 

Os atributos da categoria de rótulo não são compatíveis para tipos de tarefas de segmentação semântica de nuvem de pontos 3D. Os atributos do quadro são compatíveis. Se você fornecer atributos da categoria de rótulo para um trabalho de rotulagem de segmentação semântica, eles serão ignorados.

```
{
    "documentVersion": "2020-03-01",
    "frameAttributes": [
        {
            "name":"count players",
            "description":"How many players to you see in the scene?",
            "type":"number"
        },
        {
            "name":"select one",
            "description":"describe the scene",
            "type":"string",
            "enum":["clear","blurry"]
        },   
    ],
    "labels": [
        {
            "label": "Car",
        },
        {
            "label": "Pedestrian",
        },
        {
            "label": "Cyclist",
        }
    ],
    "instructions": {"shortInstruction":"Select the appropriate label and paint all objects in the point cloud that it applies to the same color", "fullInstruction":"<html markup>"}
}
```

### Exemplo: ajuste da nuvem de pontos 3D
<a name="example-3d-point-cloud-adjustment"></a>

Veja a seguir um exemplo de um arquivo de configuração de categoria de rótulo para uma tarefa de rotulagem de detecção de objetos em nuvem de pontos 3D ou ajuste de rastreamento de objetos. Não há compatibilidade com trabalhos de rotulagem de segmentação semântica de nuvem de pontos 3D `categoryGlobalAttributes` e `categoryAttributes`. 

Você deve incluir `auditLabelAttributeName` para especificar o nome do atributo da rótulo da tarefa de rotulagem anterior que você usa para criar a tarefa de rotulagem de ajuste. Opcionalmente, você pode usar o parâmetro `editsAllowed` para especificar se um atributo de rótulo ou quadro pode ou não ser editado. 

```
{
    "documentVersion": "2020-03-01",
    "frameAttributes": [
        {
            "name":"count players",
            "description":"How many players to you see in the scene?",
            "type":"number"
        },
        {
            "name":"select one",
            "editsAllowed":"none",
            "description":"describe the scene",
            "type":"string",
            "enum":["clear","blurry"]
        },   
    ],
    "categoryGlobalAttributes": [
        {
            "name":"W",
            "editsAllowed":"any",
            "description":"label-attributes-for-all-labels",
            "type":"string",
            "enum": ["foo", "buzz", "biz"]
        }
    ],
    "labels": [
        {
            "label": "Car",
            "editsAllowed":"any",
            "categoryAttributes": [
                {
                    "name":"X",
                    "description":"enter a number",
                    "type":"number"
                },
                {
                    "name":"Y",
                    "description":"select an option",
                    "type":"string",
                    "enum":["y1", "y2"],
                    "editsAllowed":"any"
                },
                {
                    "name":"Z",
                    "description":"submit a free-form response",
                    "type":"string",
                    "editsAllowed":"none"
                }
            ]
        },
        {
            "label": "Pedestrian",
            "categoryAttributes": [...]
        }
    ],
    "instructions": {"shortInstruction":"Draw a tight Cuboid", "fullInstruction":"<html markup>"},
    // include auditLabelAttributeName for label adjustment jobs
    "auditLabelAttributeName": "myPrevJobLabelAttributeName"
}
```

### Exemplo: verificação da nuvem de pontos 3D
<a name="example-3d-point-cloud-verification"></a>

Veja a seguir um exemplo de um arquivo de configuração de categoria de rótulo que você pode usar para um trabalho de identificação de detecção de objetos em nuvem de pontos 3D ou verificação de rastreamento de objetos. Não há compatibilidade com trabalhos de rotulagem de verificação de segmentação semântica de nuvem de pontos 3D `categoryGlobalAttributes` e `categoryAttributes`. 

Você deve incluir `auditLabelAttributeName` para especificar o nome do atributo da rótulo da tarefa de rotulagem anterior que você usa para criar a tarefa de rotulagem de verificação. Além disso, você deve usar o parâmetro `editsAllowed` para especificar que nenhum rótulo pode ser editado. 

```
{
    "documentVersion": "2020-03-01",
    "frameAttributes": [
        {
            "name":"count players",
            "editsAllowed":"any", 
            "description":"How many players to you see in the scene?",
            "type":"number"
        },
        {
            "name":"select one",
            "editsAllowed":"any", 
            "description":"describe the scene",
            "type":"string",
            "enum":["clear","blurry"]
        },   
    ],
    "categoryGlobalAttributes": [
        {
            "name":"W",
            "editsAllowed":"none", 
            "description":"label-attributes-for-all-labels",
            "type":"string",
            "enum": ["foo", "buzz", "biz"]
        }
    ],
    "labels": [
        {
            "label": "Car",
            "editsAllowed":"none", 
            "categoryAttributes": [
                {
                    "name":"X",
                    "description":"enter a number",
                    "type":"number",
                    "editsAllowed":"none"
                },
                {
                    "name":"Y",
                    "description":"select an option",
                    "type":"string",
                    "enum":["y1", "y2"],
                    "editsAllowed":"any"
                },
                {
                    "name":"Z",
                    "description":"submit a free-form response",
                    "type":"string",
                    "editsAllowed":"none"
                }
            ]
        },
        {
            "label": "Pedestrian",
            "editsAllowed":"none", 
            "categoryAttributes": [...]
        }
    ],
    "instructions": {"shortInstruction":"Draw a tight Cuboid", "fullInstruction":"<html markup>"},
    // include auditLabelAttributeName for label verification jobs
    "auditLabelAttributeName": "myPrevJobLabelAttributeName"
}
```

## Exemplo: arquivos de configuração de categoria de rótulos para trabalhos de rotulagem de quadros de vídeo
<a name="sms-label-cat-config-attributes-vid-frame"></a>

As ferramentas de anotação disponíveis para seu operador e o tipo de tarefa usado dependem do valor que você especifica para `annotationType`. Por exemplo, se você quiser que os operadores usem pontos-chave para rastrear alterações na pose de objetos específicos em vários quadros, você especificaria `Keypoint` para `annotationType`. Se você não especificar um tipo de anotação, `BoundingBox` será usado por padrão. 

Os tópicos a seguir evidenciam exemplos de arquivos de configuração da categoria de quadros de vídeo.

**Topics**
+ [Exemplo: ponto-chave de quadros de vídeo](#example-video-frame-keypoint)
+ [Exemplo: ajuste do quadro de vídeo](#example-video-frame-adjustment)
+ [Exemplo: verificação de quadros de vídeo](#example-video-frame-verification)

### Exemplo: ponto-chave de quadros de vídeo
<a name="example-video-frame-keypoint"></a>

Veja a seguir um exemplo de um arquivo de configuração de categoria de rótulo de ponto-chave de quadro de vídeo com atributos de categoria de rótulo. Este exemplo inclui dois atributos de quadro, que serão adicionados a todos os quadros enviados ao trabalho de rotulagem. O rótulo `Car` incluirá quatro atributos de categoria de rótulo - `X`, `Y`, `Z` e o atributo global, `W`. 

```
{
    "documentVersion": "2020-03-01",
    "frameAttributes": [
        {
            "name":"count players",
            "description":"How many players to you see in the scene?",
            "type":"number"
        },
        {
            "name":"select one",
            "description":"describe the scene",
            "type":"string",
            "enum":["clear","blurry"]
        },   
    ],
    "categoryGlobalAttributes": [
        {
            "name":"W",
            "description":"label-attributes-for-all-labels",
            "type":"string",
            "enum": ["foo", "buz", "buz2"]
        }
    ],
    "labels": [
        {
            "label": "Car",
            "categoryAttributes": [
                {
                    "name":"X",
                    "description":"enter a number",
                    "type":"number",
                },
                {
                    "name":"Y",
                    "description":"select an option",
                    "type":"string",
                    "enum": ["y1", "y2"]
                },
                {
                    "name":"Z",
                    "description":"submit a free-form response",
                    "type":"string",
                }
            ]
        },
        {
            "label": "Pedestrian",
            "categoryAttributes": [...]
        }
    ],
    "annotationType":"Keypoint",
    "instructions": {"shortInstruction":"add example short instructions here", "fullInstruction":"<html markup>"}
}
```

### Exemplo: ajuste do quadro de vídeo
<a name="example-video-frame-adjustment"></a>

A seguir está um exemplo de um arquivo de configuração de categoria de rótulo que você pode usar para um trabalho de rotulagem de ajuste de quadro de vídeo.

Você deve incluir `auditLabelAttributeName` para especificar o nome do atributo da rótulo da tarefa de rotulagem anterior que você usa para criar a tarefa de rotulagem de verificação. Opcionalmente, você pode usar o parâmetro `editsAllowed` para especificar se rótulos, atributos de categoria e rótulo ou atributos de quadro podem ou não ser editados. 

```
{
    "documentVersion": "2020-03-01",
    "frameAttributes": [
        {
            "name":"count players",
            "editsAllowed":"none", 
            "description":"How many players to you see in the scene?",
            "type":"number"
        },
        {
            "name":"select one",
            "description":"describe the scene",
            "type":"string",
            "enum":["clear","blurry"]
        },   
    ],
    "categoryGlobalAttributes": [
        {
            "name":"W",
            "editsAllowed":"any", 
            "description":"label-attributes-for-all-labels",
            "type":"string",
            "enum": ["foo", "buz", "buz2"]
        }
    ],
    "labels": [
        {
            "label": "Car",
            "editsAllowed":"any", 
            "categoryAttributes": [
                {
                    "name":"X",
                    "description":"enter a number",
                    "type":"number",
                    "editsAllowed":"any"
                },
                {
                    "name":"Y",
                    "description":"select an option",
                    "type":"string",
                    "enum": ["y1", "y2"],
                    "editsAllowed":"any"
                },
                {
                    "name":"Z",
                    "description":"submit a free-form response",
                    "type":"string",
                    "editsAllowed":"none"
                }
            ]
        },
        {
            "label": "Pedestrian",
            "editsAllowed":"none", 
            "categoryAttributes": [...]
        }
    ],
    "annotationType":"Keypoint",
    "instructions": {"shortInstruction":"add example short instructions here", "fullInstruction":"<html markup>"},
    // include auditLabelAttributeName for label adjustment jobs
    "auditLabelAttributeName": "myPrevJobLabelAttributeName"
}
```

### Exemplo: verificação de quadros de vídeo
<a name="example-video-frame-verification"></a>

Veja a seguir um exemplo de um arquivo de configuração de categoria de rótulo para um trabalho de rotulagem de quadros de vídeo.

Você deve incluir `auditLabelAttributeName` para especificar o nome do atributo da rótulo da tarefa de rotulagem anterior que você usa para criar a tarefa de rotulagem de verificação. Além disso, você deve usar o parâmetro `editsAllowed` para especificar que nenhum rótulo pode ser editado. 

```
{
    "documentVersion": "2020-03-01",
    "frameAttributes": [
        {
            "name":"count players",
            "editsAllowed":"none", 
            "description":"How many players to you see in the scene?",
            "type":"number"
        },
        {
            "name":"select one",
            "editsAllowed":"any", 
            "description":"describe the scene",
            "type":"string",
            "enum":["clear","blurry"]
        },   
    ],
    "categoryGlobalAttributes": [
        {
            "name":"W",
            "editsAllowed":"none", 
            "description":"label-attributes-for-all-labels",
            "type":"string",
            "enum": ["foo", "buz", "buz2"]
        }
    ],
    "labels": [
        {
            "label": "Car",
            "editsAllowed":"none", 
            "categoryAttributes": [
                {
                    "name":"X",
                    "description":"enter a number",
                    "type":"number",
                    "editsAllowed":"any"
                },
                {
                    "name":"Y",
                    "description":"select an option",
                    "type":"string",
                    "enum": ["y1", "y2"],
                    "editsAllowed":"any"
                },
                {
                    "name":"Z",
                    "description":"submit a free-form response",
                    "type":"string",
                    "editsAllowed":"none"
                }
            ]
        },
        {
            "label": "Pedestrian",
            "editsAllowed":"none", 
            "categoryAttributes": [...]
        }
    ],
    "annotationType":"Keypoint",
    "instructions": {"shortInstruction":"add example short instructions here", "fullInstruction":"<html markup>"},
    // include auditLabelAttributeName for label adjustment jobs
    "auditLabelAttributeName": "myPrevJobLabelAttributeName"
}
```

## Esquema do arquivo de configuração da categoria de rótulos
<a name="sms-label-cat-config-attributes-schema"></a>

A tabela a seguir lista os elementos que você pode e deve incluir no arquivo de configuração da categoria de rótulo.

**nota**  
O parâmetro `annotationType` só é compatível com trabalhos de rotulagem de quadros de vídeo. 


****  

|  Parâmetro  |  Obrigatório  |  Valores aceitos  |  Description  | 
| --- | --- | --- | --- | 
| frameAttributes |  Não  |  Uma lista de objetos JSON. **Parâmetros necessários em cada objeto JSON:** `name`, `type`, `description` `minimum` e `maximum` são necessários se `type` for `"number"` **Parâmetros opcionais em cada objeto JSON:** `enum`, `editsAllowed`, `isRequired`  | Use esse parâmetro para criar um atributo de quadro que seja aplicado a todos os quadros ou nuvens de pontos 3D em seu trabalho de rotulagem.Consulte a terceira tabela nesta seção para obter mais informações.  | 
| categoryGlobalAttributes |  Não  |  Uma lista de objetos JSON. **Parâmetros necessários em cada objeto JSON:** `name`, `type` `minimum` e `maximum` são necessários se `type` for `"number"` **Parâmetros opcionais em cada objeto JSON:** `description`, `enum`, `editsAllowed`, `isRequired`   | Use esse parâmetro para criar atributos da categoria de rótulo que são aplicados a todos os rótulos especificados em `labels`. Consulte a terceira tabela nesta seção para obter mais informações.  | 
| labels |  Sim  |  Uma lista de até 30 objetos JSON **Parâmetros necessários em cada objeto JSON:** `label` **Parâmetros opcionais em cada objeto JSON:** `categoryAttributes`, `editsAllowed`  |  Use esse parâmetro para especificar os rótulos, ou classes. Adicione um `label` para cada classe.  Para adicionar um atributo da categoria de rótulo a um rótulo, adicione `categoryAttributes` a esse rótulo. Use `editsAllowed` para especificar se um rótulo pode ou não ser editado em uma tarefa de ajuste de rotulagem. Defina `editsAllowed` como `"none"` para trabalhos de rotulagem de verificação. Consulte a tabela a seguir para obter mais informações.  | 
| annotationType(compatível somente com trabalhos de rotulagem de quadros de vídeo)  |  Não   |  String **Parâmetros aceitos:** `BoundingBox`, `Polyline`, `Polygon`, `Keypoint` **Padrão**: `BoundingBox`  |  Use isso para especificar o tipo de tarefa para seus trabalhos de rotulagem de quadros de vídeo. Por exemplo, para uma tarefa de detecção de objetos de quadro de vídeo poligonal, escolha `Polygon`.  Se você não especificar um `annotationType` ao criar um trabalho de rotulagem de quadros de vídeo, o Ground Truth usará `BoundingBox` por padrão.   | 
| instructions |  Não  | Um objeto JSONParâmetros necessários em cada objeto JSON:`"shortInstruction"`, `"fullInstruction"` |  Use esse parâmetro para adicionar instruções do operador para ajudar os operadores a concluir suas tarefas. Para obter mais informações sobre instruções do operador, consulte [Instruções do operador](sms-point-cloud-general-information.md#sms-point-cloud-worker-instructions-general).  As instruções curtas devem ter menos de 255 caracteres e a instrução longa deve ter menos de 2.048 caracteres.  Para obter mais informações, consulte [Criar páginas de instrução](sms-creating-instruction-pages.md).  | 
| auditLabelAttributeName |  Necessário para tipos de tarefas de ajuste e verificação  |  String  |  Insira o [LabelAttributeName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#sagemaker-CreateLabelingJob-request-LabelAttributeName)usado na tarefa de etiquetagem da qual você deseja ajustar as anotações.  Use esse parâmetro somente se estiver criando um trabalho de ajuste para quadro de vídeo e detecção de objeto de nuvem de pontos 3D ou segmentação semântica de nuvem de pontos 3D.   | 

### Esquema de objetos de rótulos
<a name="sms-labels-schema"></a>

A tabela a seguir descreve os parâmetros que você pode e deve usar para criar uma lista de `Labels`. Cada parâmetro deve ser incluído em um objeto JSON. 


****  

| Parâmetro | Obrigatório | Valores aceitos | Description | 
| --- | --- | --- | --- | 
| label |  Sim  |  String  |  O nome da categoria de rótulo que é exibida para os operadores. O nome de cada categoria de rótulo deve ser exclusivo.  | 
| categoryAttributes |  Não  |  Uma lista de objetos JSON. **Parâmetros necessários em cada objeto JSON:** `name`, `type` `minimum` e `maximum` são necessários se `type` for `"number"` **Parâmetros opcionais em cada objeto JSON:** `description`, `enum`, `editsAllowed`, `isRequired`  | Use esse parâmetro para adicionar atributos da categoria de rótulo a rótulos específicos determinados em `labels`. Para adicionar um ou mais atributos de categoria de rótulo a um rótulo, inclua o objeto JSON `categoryAttributes` no mesmo objeto `labels` JSON que está `label`.Consulte a tabela a seguir para obter mais informações.  | 
| editsAllowed |  Não  |  String **Valores compatíveis:** `"none"`: nenhuma modificação não é permitida. ou `"any"`(Padrão): todas as modificações são permitidas.  |  Especifica se um rótulo pode ou não ser editado pelos operadores. Para trabalhos de rotulagem de *ajuste* de quadros de vídeo ou nuvem de pontos 3D, adicione esse parâmetro a um ou mais objetos JSON na lista `labels` para especificar se um operador pode ou não editar um rótulo. Para trabalhos de rotulagem de nuvem de pontos 3D e *verificação* de quadros de vídeo, adicione esse parâmetro com o valor `"none"` de cada objeto JSON na lista `labels`. Isso fará com que todos os rótulos sejam não editáveis.  | 

### FrameAttributes e esquema categoryGlobalAttributes
<a name="sms-category-attributes-schema"></a>

A tabela a seguir descreve os parâmetros que você pode e deve usar para criar atributos de quadro usando `frameAttributes` e atributo de categoria de rótulo usando os parâmetros `categoryGlobalAttributes` e `categoryAttributes`.


****  

|  Parâmetro  |  Obrigatório  |  Valores aceitos  |  Description  | 
| --- | --- | --- | --- | 
| name |  Sim  |  String  |  Use esse parâmetro para atribuir um nome ao atributo da categoria de rótulo ou quadro. Esse é o nome de atributo que os operadores veem. Cada nome de atributo de categoria de rótulo em seu arquivo de configuração de categoria de rótulo deve ser exclusivo. Os atributos globais da categoria do rótulo e os atributos específicos da categoria do rótulo não podem ter o mesmo nome.  | 
| type |  Sim  |  String **Valores obrigatórios**: `"string"` ou `"number"`  |  Use esse parâmetro para definir o tipo de atributo da categoria de rótulo ou quadro.  Se você especificar `"string"` para `type` e fornecer um valor `enum` para esse atributo, os operadores poderão escolher uma das opções fornecidas por você.  Se você especificar `"string"` para `type` e não fornecer um `enum` valor, os operadores poderão inserir texto em formato livre.  Se você especificar `number` para `type`, o operador poderá inserir um número entre os números `minimum` e `maximum`que você especificar.   | 
| enum |  Não  |  Lista de strings  |  Use esse parâmetro para definir opções que os operadores podem escolher para essa categoria de rótulo ou atributo de quadro. Os operadores podem escolher um valor especificado em `enum`. Por exemplo, se você especificar `["foo", "buzz", "bar"`] para`enum`, os operadores podem escolher um de `foo`, `buzz` ou `bar`. Você deve especificar `"string"` para `type` para usar uma lista `enum`.  | 
| description |  `frameAttributes`: Sim `categoryAttributes` ou `categoryGlobalAttributes`: Não  |  String  |  Use esse parâmetro para adicionar uma descrição da categoria de rótulo ou atributo de quadro. Você pode usar esse campo para fornecer aos operadores mais informações sobre o atributo.  Esse campo só é obrigatório para atributos de quadro.  | 
| minimum e maximum | Necessário se o atributo type for "number" | Números inteiros |  Use esses parâmetros para especificar valores mínimos e máximos (inclusivos) que os operadores podem inserir para categoria de rótulo ou atributos de quadro numéricos. Você deve especificar `"number"` para `type` para usar `minimum` e `maximum`.  | 
| editsAllowed |  Não  |  String **Valores obrigatórios**: `"none"`: nenhuma modificação não é permitida. ou `"any"`(Padrão): todas as modificações são permitidas.  |  Especifica se uma categoria de rótulo ou atributo de quadro pode ou não ser editado pelos operadores. Para trabalhos de *ajuste* e rotulagem de *verificação* de quadros de vídeo ou nuvem de pontos 3D, adicione esse parâmetro aos objetos JSON de categoria de rótulo e atributo de quadro para especificar se um operador pode ou não editar um atributo.  | 
| isRequired |  Não  |  Booleano  |  Especifica se os operadores precisam anotar um atributo. Os operadores não podem enviar o trabalho até que todos os atributos necessários sejam anotados.  | 

## Cotas de rótulo e de atributo da categoria de rótulo
<a name="sms-point-cloud-label-cat-limits"></a>

É possível especificar até 10 atributos da categoria de rótulo por classe. Essas cotas de 10 atributos incluem atributos da categoria de rótulo global. Por exemplo, se você criar quatro atributos da categoria de rótulo global e, depois, atribuir três atributos da categoria de rótulo ao rótulo `X`, esse rótulo terá 4\$13=7 atributos da categoria de rótulo no total. Para todas as categorias de rótulo e todos os limites de atributo da categoria de rótulo, consulte a tabela a seguir.


****  

|  Tipo  |  Mín.  |  Máx  | 
| --- | --- | --- | 
|  Rótulos (`Labels`)  |  1  |  30  | 
|  Quota de caracteres do nome do rótulo  |  1  |  16  | 
|  Atributos da categoria de rótulo por rótulo (soma de `categoryAttributes` e`categoryGlobalAttributes`)  |  0  |  10  | 
|  Atributos da categoria da rótulo de entrada de texto em formato livre por rótulo (soma de `categoryAttributes` e `categoryGlobalAttributes`).   | 0 | 5 | 
|  Atributos de quadro  |  0  |  10  | 
|  Atributos de entrada de texto em formato livre em `frameAttributes`.  | 0 | 5 | 
|  Quota de caracteres do nome do atributo (`name`)  |  1  |  16  | 
|  Quota de caracteres da descrição do atributo (`description`)  |  0  |  128  | 
|  Quota de caracteres do tipo de atributo (`type`)  |  1  |  16  | 
|  Valores permitidos na lista `enum` para um atributo `string`  | 1 | 10 | 
|  Cota de caracteres para um valor na lista `enum`  | 1 | 16 | 
| Máximo de caracteres na resposta de texto de formato livre para texto de formato livre frameAttributes | 0 | 1000 | 
| Máximo de caracteres na resposta de texto de formato livre para texto de formato livre categoryAttributes e categoryGlobalAttributes | 0 | 80 | 