Class CreateLabelingJobRequest

All Implemented Interfaces:
SdkPojo, ToCopyableBuilder<CreateLabelingJobRequest.Builder,CreateLabelingJobRequest>

@Generated("software.amazon.awssdk:codegen") public final class CreateLabelingJobRequest extends SageMakerRequest implements ToCopyableBuilder<CreateLabelingJobRequest.Builder,CreateLabelingJobRequest>
  • Method Details

    • labelingJobName

      public final String labelingJobName()

      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.

      Returns:
      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.
    • labelAttributeName

      public final String labelAttributeName()

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

      Returns:
      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, 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.

    • inputConfig

      public final LabelingJobInputConfig inputConfig()

      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.

      Returns:
      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.

    • outputConfig

      public final LabelingJobOutputConfig outputConfig()

      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.

      Returns:
      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.
    • roleArn

      public final String roleArn()

      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.

      Returns:
      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.
    • labelCategoryConfigS3Uri

      public final String labelCategoryConfigS3Uri()

      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.

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

      For all other built-in task types and custom tasks, 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 of the labeling job you want to adjust or verify annotations of.

      Returns:
      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.

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

      For all other built-in task types and custom tasks, 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 of the labeling job you want to adjust or verify annotations of.

    • stoppingConditions

      public final LabelingJobStoppingConditions stoppingConditions()

      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.

      Returns:
      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.
    • labelingJobAlgorithmsConfig

      public final LabelingJobAlgorithmsConfig labelingJobAlgorithmsConfig()

      Configures the information required to perform automated data labeling.

      Returns:
      Configures the information required to perform automated data labeling.
    • humanTaskConfig

      public final HumanTaskConfig humanTaskConfig()

      Configures the labeling task and how it is presented to workers; including, but not limited to price, keywords, and batch size (task count).

      Returns:
      Configures the labeling task and how it is presented to workers; including, but not limited to price, keywords, and batch size (task count).
    • hasTags

      public final boolean hasTags()
      For responses, this returns true if the service returned a value for the Tags property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • tags

      public final List<Tag> tags()

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

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasTags() method.

      Returns:
      An array of key/value pairs. For more information, see Using Cost Allocation Tags in the Amazon Web Services Billing and Cost Management User Guide.
    • toBuilder

      Description copied from interface: ToCopyableBuilder
      Take this object and create a builder that contains all of the current property values of this object.
      Specified by:
      toBuilder in interface ToCopyableBuilder<CreateLabelingJobRequest.Builder,CreateLabelingJobRequest>
      Specified by:
      toBuilder in class SageMakerRequest
      Returns:
      a builder for type T
    • builder

      public static CreateLabelingJobRequest.Builder builder()
    • serializableBuilderClass

      public static Class<? extends CreateLabelingJobRequest.Builder> serializableBuilderClass()
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class AwsRequest
    • equals

      public final boolean equals(Object obj)
      Overrides:
      equals in class AwsRequest
    • equalsBySdkFields

      public final boolean equalsBySdkFields(Object obj)
      Description copied from interface: SdkPojo
      Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in an SdkPojo class, and is generated based on a service model.

      If an SdkPojo class does not have any inherited fields, equalsBySdkFields and equals are essentially the same.

      Specified by:
      equalsBySdkFields in interface SdkPojo
      Parameters:
      obj - the object to be compared with
      Returns:
      true if the other object equals to this object by sdk fields, false otherwise.
    • toString

      public final String toString()
      Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
      Overrides:
      toString in class Object
    • getValueForField

      public final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
      Description copied from class: SdkRequest
      Used to retrieve the value of a field from any class that extends SdkRequest. The field name specified should match the member name from the corresponding service-2.json model specified in the codegen-resources folder for a given service. The class specifies what class to cast the returned value to. If the returned value is also a modeled class, the SdkRequest.getValueForField(String, Class) method will again be available.
      Overrides:
      getValueForField in class SdkRequest
      Parameters:
      fieldName - The name of the member to be retrieved.
      clazz - The class to cast the returned object to.
      Returns:
      Optional containing the casted return value
    • sdkFields

      public final List<SdkField<?>> sdkFields()
      Specified by:
      sdkFields in interface SdkPojo
      Returns:
      List of SdkField in this POJO. May be empty list but should never be null.