

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 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/).