class Aws::SageMaker::Types::CreateLabelingJobRequest

@note When making an API call, you may pass CreateLabelingJobRequest

data as a hash:

    {
      labeling_job_name: "LabelingJobName", # required
      label_attribute_name: "LabelAttributeName", # required
      input_config: { # required
        data_source: { # required
          s3_data_source: {
            manifest_s3_uri: "S3Uri", # required
          },
          sns_data_source: {
            sns_topic_arn: "SnsTopicArn", # required
          },
        },
        data_attributes: {
          content_classifiers: ["FreeOfPersonallyIdentifiableInformation"], # accepts FreeOfPersonallyIdentifiableInformation, FreeOfAdultContent
        },
      },
      output_config: { # required
        s3_output_path: "S3Uri", # required
        kms_key_id: "KmsKeyId",
        sns_topic_arn: "SnsTopicArn",
      },
      role_arn: "RoleArn", # required
      label_category_config_s3_uri: "S3Uri",
      stopping_conditions: {
        max_human_labeled_object_count: 1,
        max_percentage_of_input_dataset_labeled: 1,
      },
      labeling_job_algorithms_config: {
        labeling_job_algorithm_specification_arn: "LabelingJobAlgorithmSpecificationArn", # required
        initial_active_learning_model_arn: "ModelArn",
        labeling_job_resource_config: {
          volume_kms_key_id: "KmsKeyId",
        },
      },
      human_task_config: { # required
        workteam_arn: "WorkteamArn", # required
        ui_config: { # required
          ui_template_s3_uri: "S3Uri",
          human_task_ui_arn: "HumanTaskUiArn",
        },
        pre_human_task_lambda_arn: "LambdaFunctionArn", # required
        task_keywords: ["TaskKeyword"],
        task_title: "TaskTitle", # required
        task_description: "TaskDescription", # required
        number_of_human_workers_per_data_object: 1, # required
        task_time_limit_in_seconds: 1, # required
        task_availability_lifetime_in_seconds: 1,
        max_concurrent_task_count: 1,
        annotation_consolidation_config: { # required
          annotation_consolidation_lambda_arn: "LambdaFunctionArn", # required
        },
        public_workforce_task_price: {
          amount_in_usd: {
            dollars: 1,
            cents: 1,
            tenth_fractions_of_a_cent: 1,
          },
        },
      },
      tags: [
        {
          key: "TagKey", # required
          value: "TagValue", # required
        },
      ],
    }

@!attribute [rw] labeling_job_name

The name of the labeling job. This name is used to identify the job
in a list of labeling jobs. Labeling job names must be unique within
an Amazon Web Services account and region. `LabelingJobName` is not
case sensitive. For example, Example-job and example-job are
considered the same labeling job name by Ground Truth.
@return [String]

@!attribute [rw] label_attribute_name

The attribute name to use for the label in the output manifest file.
This is the key for the key/value pair formed with the label that a
worker assigns to the object. The `LabelAttributeName` must meet the
following requirements.

* The name can't end with "-metadata".

* If you are using one of the following [built-in task types][1],
  the attribute name *must* end with "-ref". If the task type you
  are using is not listed below, the attribute name *must not* end
  with "-ref".

  * Image semantic segmentation (`SemanticSegmentation)`, and
    adjustment (`AdjustmentSemanticSegmentation`) and verification
    (`VerificationSemanticSegmentation`) labeling jobs for this task
    type.

  * Video frame object detection (`VideoObjectDetection`), and
    adjustment and verification (`AdjustmentVideoObjectDetection`)
    labeling jobs for this task type.

  * Video frame object tracking (`VideoObjectTracking`), and
    adjustment and verification (`AdjustmentVideoObjectTracking`)
    labeling jobs for this task type.

  * 3D point cloud semantic segmentation
    (`3DPointCloudSemanticSegmentation`), and adjustment and
    verification (`Adjustment3DPointCloudSemanticSegmentation`)
    labeling jobs for this task type.

  * 3D point cloud object tracking (`3DPointCloudObjectTracking`),
    and adjustment and verification
    (`Adjustment3DPointCloudObjectTracking`) labeling jobs for this
    task type.

If you are creating an adjustment or verification labeling job, you
must use a *different* `LabelAttributeName` than the one used in the
original labeling job. The original labeling job is the Ground Truth
labeling job that produced the labels that you want verified or
adjusted. To learn more about adjustment and verification labeling
jobs, see [Verify and Adjust Labels][2].

[1]: https://docs.aws.amazon.com/sagemaker/latest/dg/sms-task-types.html
[2]: https://docs.aws.amazon.com/sagemaker/latest/dg/sms-verification-data.html
@return [String]

@!attribute [rw] input_config

Input data for the labeling job, such as the Amazon S3 location of
the data objects and the location of the manifest file that
describes the data objects.

You must specify at least one of the following: `S3DataSource` or
`SnsDataSource`.

* Use `SnsDataSource` to specify an SNS input topic for a streaming
  labeling job. If you do not specify and SNS input topic ARN,
  Ground Truth will create a one-time labeling job that stops after
  all data objects in the input manifest file have been labeled.

* Use `S3DataSource` to specify an input manifest file for both
  streaming and one-time labeling jobs. Adding an `S3DataSource` is
  optional if you use `SnsDataSource` to create a streaming labeling
  job.

If you use the Amazon Mechanical Turk workforce, your input data
should not include confidential information, personal information or
protected health information. Use `ContentClassifiers` to specify
that your data is free of personally identifiable information and
adult content.
@return [Types::LabelingJobInputConfig]

@!attribute [rw] output_config

The location of the output data and the Amazon Web Services Key
Management Service key ID for the key used to encrypt the output
data, if any.
@return [Types::LabelingJobOutputConfig]

@!attribute [rw] role_arn

The Amazon Resource Number (ARN) that Amazon SageMaker assumes to
perform tasks on your behalf during data labeling. You must grant
this role the necessary permissions so that Amazon SageMaker can
successfully complete data labeling.
@return [String]

@!attribute [rw] label_category_config_s3_uri

The S3 URI of the file, referred to as a *label category
configuration file*, that defines the categories used to label the
data objects.

For 3D point cloud and video frame task types, you can add label
category attributes and frame attributes to your label category
configuration file. To learn how, see [Create a Labeling Category
Configuration File for 3D Point Cloud Labeling Jobs][1].

For named entity recognition jobs, in addition to `"labels"`, you
must provide worker instructions in the label category configuration
file using the `"instructions"` parameter: `"instructions":
\{"shortInstruction":"<h1>Add header</h1><p>Add Instructions</p>",
"fullInstruction":"<p>Add additional instructions.</p>"\}`. For
details and an example, see [Create a Named Entity Recognition
Labeling Job (API) ][2].

For all other [built-in task types][3] and [custom tasks][4], your
label category configuration file must be a JSON file in the
following format. Identify the labels you want to use by replacing
`label_1`, `label_2`,`...`,`label_n` with your label categories.

`\{ `

`"document-version": "2018-11-28",`

`"labels": [\{"label": "label_1"\},\{"label":
"label_2"\},...\{"label": "label_n"\}]`

`\}`

Note the following about the label category configuration file:

* For image classification and text classification (single and
  multi-label) you must specify at least two label categories. For
  all other task types, the minimum number of label categories
  required is one.

* Each label category must be unique, you cannot specify duplicate
  label categories.

* If you create a 3D point cloud or video frame adjustment or
  verification labeling job, you must include
  `auditLabelAttributeName` in the label category configuration. Use
  this parameter to enter the [ `LabelAttributeName` ][5] of the
  labeling job you want to adjust or verify annotations of.

[1]: https://docs.aws.amazon.com/sagemaker/latest/dg/sms-point-cloud-label-category-config.html
[2]: https://docs.aws.amazon.com/sagemaker/latest/dg/sms-named-entity-recg.html#sms-creating-ner-api
[3]: https://docs.aws.amazon.com/sagemaker/latest/dg/sms-task-types.html
[4]: https://docs.aws.amazon.com/sagemaker/latest/dg/sms-custom-templates.html
[5]: https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#sagemaker-CreateLabelingJob-request-LabelAttributeName
@return [String]

@!attribute [rw] stopping_conditions

A set of conditions for stopping the labeling job. If any of the
conditions are met, the job is automatically stopped. You can use
these conditions to control the cost of data labeling.
@return [Types::LabelingJobStoppingConditions]

@!attribute [rw] labeling_job_algorithms_config

Configures the information required to perform automated data
labeling.
@return [Types::LabelingJobAlgorithmsConfig]

@!attribute [rw] human_task_config

Configures the labeling task and how it is presented to workers;
including, but not limited to price, keywords, and batch size (task
count).
@return [Types::HumanTaskConfig]

@!attribute [rw] tags

An array of key/value pairs. For more information, see [Using Cost
Allocation Tags][1] in the *Amazon Web Services Billing and Cost
Management User Guide*.

[1]: https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-what
@return [Array<Types::Tag>]

@see docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/CreateLabelingJobRequest AWS API Documentation

Constants

SENSITIVE