Create a streaming labeling job - Amazon SageMaker

Create a streaming labeling job

Streaming labeling jobs enable you to send individual data objects in real time to a perpetually running, streaming labeling job. To create a streaming labeling job, you can specify the Amazon SNS input topic ARN, SnsTopicArn, in the InputConfig parameter when making a CreateLabelingJob request. Optionally, you can also create an Amazon SNS output topic and specify it in OutputConfigif you want to receive label data in real time.

Important

If you are a new user of Ground Truth streaming labeling jobs, it is recommended that you review Ground Truth streaming labeling jobs before creating a streaming labeling job. Ground Truth streaming labeling jobs are only supported through the SageMaker API.

Use the following sections to create the resources that you need and can use to create a streaming labeling job:

  • Learn how to create SNS topics with the permissions required for Ground Truth streaming labeling jobs by following the steps in Use Amazon SNS Topics for Data Labeling. Your SNS topics must be created in the same AWS Region as your labeling job.

  • See Subscribe an Endpoint to Your Amazon SNS Output Topic to learn how to set up an endpoint to receive labeling task output data at a specified endpoint each time a labeling task is completed.

  • To learn how to configure your Amazon S3 bucket to send notifications to your Amazon SNS input topic, see Creating Amazon S3 based bucket event notifications based of the Amazon SNS defined in your labeling job.

  • Optionally, add data objects that you want to have labeled as soon as the labeling job starts to your input manifest. For more information, see Create a Manifest File (Optional).

  • There are other resources required to create a labeling job, such as an IAM role, Amazon S3 bucket, a worker task template and label categories. These are described in the Ground Truth documentation on creating a labeling job. For more information, see Create a Labeling Job.

    Important

    When you create a labeling job you must provide an IAM execution role. Attach the AWS managed policy AmazonSageMakerGroundTruthExecution to this role to ensure it has required permissions to execute your labeling job.

When you submit a request to create a streaming labeling job, the state of your labeling job is Initializing. Once the labeling job is active, the state changes to InProgress. Do not send new data objects to your labeling job or attempt to stop your labeling job while it is in the Initializing state. Once the state changes to InProgress, you can start sending new data objects using Amazon SNS and the Amazon S3 configuration.