

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Création d’une tâche d’étiquetage en streaming
<a name="sms-streaming-create-job"></a>

Les tâches d’étiquetage en streaming vous permettent d’envoyer des objets de données individuels en temps réel à une tâche d’étiquetage s’exécutant perpétuellement. Pour créer une tâche d’étiquetage en streaming, vous pouvez spécifier l’ARN de la *rubrique d’entrée* Amazon SNS, `SnsTopicArn`, dans le paramètre `InputConfig` lors d’une demande [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html). Le cas échéant, vous pouvez également créer une *rubrique de sortie* Amazon SNS et la spécifier dans `OutputConfig` si vous souhaitez recevoir les données d’étiquette en temps réel.

**Important**  
Si vous êtes un nouvel utilisateur des tâches d’étiquetage en streaming Ground Truth, il est recommandé de consulter [Tâches d’étiquetage en streaming Ground Truth](sms-streaming-labeling-job.md) avant de créer une tâche d’étiquetage en streaming. Les tâches d'étiquetage en streaming de Ground Truth ne sont prises en charge que via l' SageMaker API.

Utilisez les sections suivantes pour créer les ressources dont vous avez besoin et que vous pouvez utiliser pour créer une tâche d’étiquetage en streaming :
+ Découvrez comment créer des rubriques SNS avec les autorisations requises pour les tâches d’étiquetage en streaming Ground Truth en suivant les étapes décrites dans [Utilisation des rubriques Amazon SNS pour l’étiquetage des données](sms-create-sns-input-topic.md). Vos sujets SNS doivent être créés dans la même AWS région que votre tâche d'étiquetage. 
+ Consultez [Abonner un point de terminaison à votre rubrique de sortie Amazon SNS](sms-create-sns-input-topic.md#sms-streaming-subscribe-output-topic) pour savoir comment configurer un point de terminaison pour recevoir les données de sortie de tâche d’étiquetage à un point de terminaison spécifié chaque fois qu’une tâche d’étiquetage est terminée.
+ Pour savoir comment configurer votre compartiment Amazon S3 pour envoyer des notifications à votre rubrique d’entrée Amazon SNS, consultez [Création de notifications d’événements de compartiment basées sur Amazon S3 en fonction de l’Amazon SNS défini dans votre tâche d’étiquetage](sms-streaming-s3-setup.md).
+ Vous pouvez également ajouter à votre manifeste d’entrée des objets de données que vous souhaitez étiqueter dès que la tâche d’étiquetage commence. Pour de plus amples informations, veuillez consulter [Créer un fichier manifeste (facultatif)](sms-streaming-manifest.md).
+ D’autres ressources sont nécessaires pour créer une tâche d’étiquetage, telles qu’un rôle IAM, un compartiment Amazon S3, un modèle de tâche d’employé et des catégories d’étiquettes. Ceux-ci sont décrits dans la documentation Ground Truth sur la création d’une tâche d’étiquetage. Pour de plus amples informations, veuillez consulter [Création d’une tâche d’étiquetage](sms-create-labeling-job.md). 
**Important**  
Lorsque vous créez une tâche d’étiquetage, vous devez fournir un rôle d’exécution IAM. Associez la politique AWS gérée **AmazonSageMakerGroundTruthExecution**à ce rôle pour vous assurer qu'il dispose des autorisations requises pour exécuter votre tâche d'étiquetage. 

Lorsque vous soumettez une demande de création d’une tâche d’étiquetage en streaming, le statut de votre tâche d’étiquetage est `Initializing`. Une fois que la tâche d’étiquetage est active, son statut passe à `InProgress`. N’envoyez pas de nouveaux objets de données à votre tâche d’étiquetage ou ne tentez pas d’arrêter votre tâche d’étiquetage lorsqu’elle se trouve dans le statut `Initializing`. Une fois que son statut passe à `InProgress`, vous pouvez commencer à envoyer de nouveaux objets de données à l’aide d’Amazon SNS et de la configuration Amazon S3. 

**Topics**
+ [Utilisation des rubriques Amazon SNS pour l’étiquetage des données](sms-create-sns-input-topic.md)
+ [Création de notifications d’événements de compartiment basées sur Amazon S3 en fonction de l’Amazon SNS défini dans votre tâche d’étiquetage](sms-streaming-s3-setup.md)
+ [Créer un fichier manifeste (facultatif)](sms-streaming-manifest.md)
+ [Créez un job d'étiquetage en streaming avec l' SageMaker API](sms-streaming-create-labeling-job-api.md)
+ [Arrêter une tâche d’étiquetage en streaming](sms-streaming-stop-labeling-job.md)

# Utilisation des rubriques Amazon SNS pour l’étiquetage des données
<a name="sms-create-sns-input-topic"></a>

Vous devez créer une rubrique d’entrée Amazon SNS pour créer une tâche d’étiquetage en streaming. Vous pouvez éventuellement fournir une rubrique de sortie Amazon SNS.

Lorsque vous créez une rubrique Amazon SNS à utiliser dans le cadre de votre tâche d’étiquetage en streaming, notez l’Amazon Resource Name (ARN) de la rubrique. L’ARN sera la valeur d’entrée du paramètre `SnsTopicArn` dans `InputConfig` et `OutputConfig` lorsque vous créez une tâche d’étiquetage.

## Création d’une rubrique d’entrée
<a name="sms-streaming-input-topic"></a>

Votre rubrique d’entrée est utilisée pour envoyer de nouveaux objets de données à Ground Truth. Pour créer une rubrique d’entrée, suivez les instructions fournies dans [Création d’une rubrique Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-create-topic.html) dans le Guide du développeur Amazon Simple Notification Service.

Notez votre ARN de rubrique d’entrée et utilisez-le comme entrée pour le paramètre `SnsTopicArn` de `CreateLabelingJob` dans `InputConfig`. 

## Création d’une rubrique de sortie
<a name="sms-streaming-output-topic"></a>

Si vous fournissez une rubrique en sortie, elle est utilisée pour envoyer des notifications lorsqu’un objet de données est étiqueté. Lorsque vous créez une rubrique, vous avez la possibilité d’ajouter une clé de chiffrement. Utilisez cette option pour ajouter une clé gérée par le AWS Key Management Service client à votre rubrique afin de chiffrer les données de sortie de votre tâche d'étiquetage avant qu'elles ne soient publiées dans votre rubrique de sortie.

Pour créer une rubrique de sortie, suivez les instructions de la section [Création d’une rubrique Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-create-topic.html) du Guide du développeur Amazon Simple Notification Service.

Si vous ajoutez un chiffrement, vous devez attacher une autorisation supplémentaire à la rubrique. Pour plus d’informations, consultez [Ajouter le chiffrement à votre rubrique de sortie (facultatif)](#sms-streaming-encryption).

**Important**  
Pour ajouter une clé gérée par le client à votre sujet de sortie lors de la création d'un sujet dans la console, n'utilisez pas l'alias/aws/snsoption **(par défaut)**. Sélectionnez une clé gérée par le client que vous avez créée. 

Notez votre ARN de rubrique d’entrée et utilisez-le dans votre requête `CreateLabelingJob` dans le paramètre `SnsTopicArn` de `OutputConfig`. 

### Ajouter le chiffrement à votre rubrique de sortie (facultatif)
<a name="sms-streaming-encryption"></a>

Pour chiffrer les messages publiés dans votre rubrique de sortie, vous devez fournir une clé AWS KMS gérée par le client à votre rubrique. Modifiez la politique suivante et ajoutez-la à votre clé gérée par le client pour autoriser Ground Truth à chiffrer les données de sortie avant de les publier dans votre rubrique de sortie.

Remplacez *`<account_id>`* par l’ID du compte que vous utilisez pour créer votre rubrique. Pour savoir comment trouver votre identifiant de AWS compte, consultez la section [Trouver votre identifiant de AWS compte](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": "*"
        }
    ]
}
```

------

En outre, vous devez modifier et ajouter la stratégie suivante au rôle d’exécution que vous utilisez pour créer votre tâche d’étiquetage (la valeur d’entrée pour `RoleArn`). 

Remplacez *`<account_id>`* par l'ID du compte que vous utilisez pour créer votre rubrique. Remplacez *`<region>`* par la région AWS que vous utilisez pour créer votre tâche d’étiquetage. Remplacez `<key_id>` par votre ID de clé gérée par le client.

------
#### [ 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"
        }
    ]
}
```

------

Pour plus d'informations sur la création et la sécurisation des clés, consultez [les sections Création de clés](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html) et [utilisation de politiques clés](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) dans le guide du AWS Key Management Service développeur.

## Abonner un point de terminaison à votre rubrique de sortie Amazon SNS
<a name="sms-streaming-subscribe-output-topic"></a>

Lorsqu’un employé effectue une tâche d’étiquetage à partir d’une tâche d’étiquetage en streaming Ground Truth, celui-ci utilise votre rubrique de sortie pour publier des données de sortie sur un ou plusieurs points de terminaison que vous spécifiez. Pour recevoir des notifications lorsqu’un employé termine une tâche d’étiquetage, vous devez abonner un point de terminaison à la rubrique de sortie Amazon SNS.

Pour savoir comment ajouter des points de terminaison à votre rubrique de sortie, consultez [S’abonner à une rubrique Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-create-subscribe-endpoint-to-topic.html) dans le *Guide du développeur Amazon Simple Notification Service*.

Pour en savoir plus sur le format de données de sortie publié sur ces points de terminaison, consultez [Étiquetage des données de sortie des tâches](sms-data-output.md). 

**Important**  
Si vous n’abonnez pas de point de terminaison à votre rubrique de sortie Amazon SNS, vous ne recevrez pas de notifications lorsque de nouveaux objets de données sont étiquetés. 

# Création de notifications d’événements de compartiment basées sur Amazon S3 en fonction de l’Amazon SNS défini dans votre tâche d’étiquetage
<a name="sms-streaming-s3-setup"></a>

Les modifications apportées à votre compartiment Amazon S3, les notifications d'événements, sont activées soit sur la console Amazon S3, soit sur l'API, sur une langue spécifique AWS SDKs, soit sur AWS Command Line Interface. Les événements doivent utiliser le même ARN de rubrique d’entrée Amazon SNS, `SnsTopicArn`, spécifié dans le paramètre `InputConfig` dans le cadre de votre demande `CreateLabelingJob`.

**Les notifications du compartiment Amazon S3 et vos données d’entrée ne doivent pas correspondre au même compartiment Amazon S3.**  
Lorsque vous créez des notifications d’événements, n’utilisez pas le même emplacement Amazon S3 que celui que vous avez spécifié comme `S3OutputPath` dans les paramètres `OutputConfig`. La liaison des deux compartiments peut entraîner le traitement par Ground Truth d’objets de données indésirables à des fins d’étiquetage.

Vous contrôlez les types d’événements que vous souhaitez envoyer à votre rubrique Amazon SNS. Ground Truth crée une tâche d’étiquetage lorsque vous envoyez des [événements de création d’objet](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/enable-event-notifications.html#enable-event-notifications-types).

La structure d’événement envoyée à votre rubrique d’entrée Amazon SNS doit être un message JSON formaté à l’aide de la même structure que celle trouvée dans [Structure des messages d’événements](https://docs.aws.amazon.com/AmazonS3/latest/dev/notification-content-structure.html).

*Pour découvrir comment configurer une notification d'événement pour votre compartiment Amazon S3 à l'aide de la console Amazon S3, du SDK pour .NET AWS et du AWS SDK pour Java, suivez cette procédure pas à pas intitulée Procédure pas à pas [: configurer un compartiment pour les notifications (rubrique SNS ou file d'attente SQS) dans le guide de l'utilisateur d'Amazon Simple Storage](https://docs.aws.amazon.com/AmazonS3/latest/dev/ways-to-add-notification-config-to-bucket.html) Service.*

Les EventBridge notifications Amazon ne sont pas prises en charge de manière native. Pour utiliser la notification EventBridge basée, vous devez mettre à jour le format de sortie afin qu'il corresponde au format JSON utilisé dans la [structure du message d'événement](https://docs.aws.amazon.com/AmazonS3/latest/dev/notification-content-structure.html).

# Créer un fichier manifeste (facultatif)
<a name="sms-streaming-manifest"></a>

Lorsque vous créez une tâche d’étiquetage en streaming, vous avez l’option unique pour ajouter des objets (tels que des images ou du texte) à un fichier manifeste d’entrée que vous spécifiez dans `ManifestS3Uri` de `CreateLabelingJob`. Lorsque la tâche d’étiquetage en streaming démarre, ces objets sont envoyés aux employés ou ajoutés à la file d’attente Amazon SQS si le nombre total d’objets dépasse `MaxConcurrentTaskCount`. Les résultats sont ajoutés au chemin d’accès Amazon S3 que vous spécifiez lors de la création périodique de la tâche d’étiquetage lorsque les employés effectuent des tâches d’étiquetage. Les données de sortie sont envoyées à n’importe quel point de terminaison auquel vous abonnez à votre rubrique de sortie. 

Si vous souhaitez fournir des objets initiaux à étiqueter, créez un fichier manifeste qui identifie ces objets et placez-le dans Amazon S3. Spécifiez l’URI S3 de ce fichier manifeste dans `ManifestS3Uri` sous `InputConfig`.

Pour savoir comment formater votre fichier manifeste, consultez [Données d’entrée](sms-data-input.md). Pour utiliser la console SageMaker AI afin de générer automatiquement un fichier manifeste (non pris en charge pour les types de tâches de nuages de points 3D), voir[Automatiser la configuration des données pour les tâches d’étiquetage](sms-console-create-manifest-file.md).

# Créez un job d'étiquetage en streaming avec l' SageMaker API
<a name="sms-streaming-create-labeling-job-api"></a>

Voici un exemple de [requête du kit SDK AWS Python (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_labeling_job) que vous pouvez utiliser pour lancer une tâche d’étiquetage en streaming pour un type de tâche intégré dans la région USA-Est (Virginie du Nord). Pour plus de détails sur chaque paramètre ci-dessous, consultez [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html). Pour savoir comment créer une tâche d'étiquetage à l'aide de cette API et de la langue associée spécifique SDKs, voir [Create a Labeling Job (API)](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-create-labeling-job-api.html).

Dans cet exemple, notez les paramètres suivants :
+ `SnsDataSource` : ce paramètre apparaît dans `InputConfig` et `OutputConfig`, et il est utilisé pour identifier vos rubriques d’entrée et de sortie Amazon SNS respectivement. Pour créer une tâche d’étiquetage en streaming, vous devez fournir une rubrique d’entrée Amazon SNS. Vous pouvez également fournir une rubrique de sortie Amazon SNS.
+ `S3DataSource` – Ce paramètre est facultatif. Utilisez ce paramètre si vous souhaitez inclure un fichier manifeste d’entrée d’objets de données que vous souhaitez étiqueter dès le début de la tâche d’étiquetage.
+ [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) : ce paramètre est ignoré lorsque vous créez une tâche d’étiquetage en streaming. Pour en savoir plus sur l’arrêt d’une tâche d’étiquetage en streaming, consultez [Arrêter une tâche d’étiquetage en streaming](sms-streaming-stop-labeling-job.md).
+ Les tâches d’étiquetage en streaming ne prennent pas en charge l’étiquetage automatisé des données. N’incluez pas le paramètre `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'
        },
    ]
)
```

# Arrêter une tâche d’étiquetage en streaming
<a name="sms-streaming-stop-labeling-job"></a>

Vous pouvez arrêter manuellement votre tâche d'étiquetage de streaming à l'aide de cette opération [StopLabelingJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_StopLabelingJob.html). 

Si votre tâche d’étiquetage reste inactive pendant plus de 10 jours, elle est automatiquement arrêtée par Ground Truth. Dans ce contexte, une tâche d’étiquetage est considérée *idle (inactive)* si aucun objet n’est envoyé à la rubrique d’entrée Amazon SNS et qu’aucun objet ne reste dans votre file d’attente Amazon SQS, en attente d’être étiqueté. Par exemple, si aucun objet de données n’alimente la rubrique d’entrée Amazon SNS et que tous les objets envoyés à la tâche d’étiquetage sont déjà étiquetés, Ground Truth démarre un compte à rebours. Après le démarrage du compte à rebours, si aucun élément n’est reçu dans un délai de 10 jours, la tâche d’étiquetage est arrêtée. 

Lorsqu’une tâche d’étiquetage est arrêtée, son statut est `STOPPING`, tandis que Ground Truth nettoie les ressources de la tâche d’étiquetage et désabonne votre rubrique Amazon SNS de votre file d’attente Amazon SQS. La file d’attente Amazon SQS n’est *pas* supprimée par Ground Truth, car elle peut contenir des objets de données non traités. Vous devez supprimer manuellement la file d’attente si vous souhaitez éviter d’engager des frais supplémentaires de la part d’Amazon SQS. Pour en savoir plus, consultez [Tarification Amazon SQS](https://aws.amazon.com/sqs/pricing/).