create_flow_definition

create_flow_definition(**kwargs)

Creates a flow definition.

See also: AWS API Documentation

Request Syntax

response = client.create_flow_definition(
    FlowDefinitionName='string',
    HumanLoopRequestSource={
        'AwsManagedHumanLoopRequestSource': 'AWS/Rekognition/DetectModerationLabels/Image/V3'|'AWS/Textract/AnalyzeDocument/Forms/V1'
    },
    HumanLoopActivationConfig={
        'HumanLoopActivationConditionsConfig': {
            'HumanLoopActivationConditions': 'string'
        }
    },
    HumanLoopConfig={
        'WorkteamArn': 'string',
        'HumanTaskUiArn': 'string',
        'TaskTitle': 'string',
        'TaskDescription': 'string',
        'TaskCount': 123,
        'TaskAvailabilityLifetimeInSeconds': 123,
        'TaskTimeLimitInSeconds': 123,
        'TaskKeywords': [
            'string',
        ],
        'PublicWorkforceTaskPrice': {
            'AmountInUsd': {
                'Dollars': 123,
                'Cents': 123,
                'TenthFractionsOfACent': 123
            }
        }
    },
    OutputConfig={
        'S3OutputPath': 'string',
        'KmsKeyId': 'string'
    },
    RoleArn='string',
    Tags=[
        {
            'Key': 'string',
            'Value': 'string'
        },
    ]
)
Parameters
  • FlowDefinitionName (string) --

    [REQUIRED]

    The name of your flow definition.

  • HumanLoopRequestSource (dict) --

    Container for configuring the source of human task requests. Use to specify if Amazon Rekognition or Amazon Textract is used as an integration source.

    • AwsManagedHumanLoopRequestSource (string) -- [REQUIRED]

      Specifies whether Amazon Rekognition or Amazon Textract are used as the integration source. The default field settings and JSON parsing rules are different based on the integration source. Valid values:

  • HumanLoopActivationConfig (dict) --

    An object containing information about the events that trigger a human workflow.

    • HumanLoopActivationConditionsConfig (dict) -- [REQUIRED]

      Container structure for defining under what conditions SageMaker creates a human loop.

      • HumanLoopActivationConditions (string) -- [REQUIRED]

        JSON expressing use-case specific conditions declaratively. If any condition is matched, atomic tasks are created against the configured work team. The set of conditions is different for Rekognition and Textract. For more information about how to structure the JSON, see JSON Schema for Human Loop Activation Conditions in Amazon Augmented AI in the Amazon SageMaker Developer Guide .

  • HumanLoopConfig (dict) --

    [REQUIRED]

    An object containing information about the tasks the human reviewers will perform.

    • WorkteamArn (string) -- [REQUIRED]

      Amazon Resource Name (ARN) of a team of workers. To learn more about the types of workforces and work teams you can create and use with Amazon A2I, see Create and Manage Workforces.

    • HumanTaskUiArn (string) -- [REQUIRED]

      The Amazon Resource Name (ARN) of the human task user interface.

      You can use standard HTML and Crowd HTML Elements to create a custom worker task template. You use this template to create a human task UI.

      To learn how to create a custom HTML template, see Create Custom Worker Task Template.

      To learn how to create a human task UI, which is a worker task template that can be used in a flow definition, see Create and Delete a Worker Task Templates.

    • TaskTitle (string) -- [REQUIRED]

      A title for the human worker task.

    • TaskDescription (string) -- [REQUIRED]

      A description for the human worker task.

    • TaskCount (integer) -- [REQUIRED]

      The number of distinct workers who will perform the same task on each object. For example, if TaskCount is set to 3 for an image classification labeling job, three workers will classify each input image. Increasing TaskCount can improve label accuracy.

    • TaskAvailabilityLifetimeInSeconds (integer) --

      The length of time that a task remains available for review by human workers.

    • TaskTimeLimitInSeconds (integer) --

      The amount of time that a worker has to complete a task. The default value is 3,600 seconds (1 hour).

    • TaskKeywords (list) --

      Keywords used to describe the task so that workers can discover the task.

      • (string) --
    • PublicWorkforceTaskPrice (dict) --

      Defines the amount of money paid to an Amazon Mechanical Turk worker for each task performed.

      Use one of the following prices for bounding box tasks. Prices are in US dollars and should be based on the complexity of the task; the longer it takes in your initial testing, the more you should offer.

      • 0.036
      • 0.048
      • 0.060
      • 0.072
      • 0.120
      • 0.240
      • 0.360
      • 0.480
      • 0.600
      • 0.720
      • 0.840
      • 0.960
      • 1.080
      • 1.200

      Use one of the following prices for image classification, text classification, and custom tasks. Prices are in US dollars.

      • 0.012
      • 0.024
      • 0.036
      • 0.048
      • 0.060
      • 0.072
      • 0.120
      • 0.240
      • 0.360
      • 0.480
      • 0.600
      • 0.720
      • 0.840
      • 0.960
      • 1.080
      • 1.200

      Use one of the following prices for semantic segmentation tasks. Prices are in US dollars.

      • 0.840
      • 0.960
      • 1.080
      • 1.200

      Use one of the following prices for Textract AnalyzeDocument Important Form Key Amazon Augmented AI review tasks. Prices are in US dollars.

      • 2.400
      • 2.280
      • 2.160
      • 2.040
      • 1.920
      • 1.800
      • 1.680
      • 1.560
      • 1.440
      • 1.320
      • 1.200
      • 1.080
      • 0.960
      • 0.840
      • 0.720
      • 0.600
      • 0.480
      • 0.360
      • 0.240
      • 0.120
      • 0.072
      • 0.060
      • 0.048
      • 0.036
      • 0.024
      • 0.012

      Use one of the following prices for Rekognition DetectModerationLabels Amazon Augmented AI review tasks. Prices are in US dollars.

      • 1.200
      • 1.080
      • 0.960
      • 0.840
      • 0.720
      • 0.600
      • 0.480
      • 0.360
      • 0.240
      • 0.120
      • 0.072
      • 0.060
      • 0.048
      • 0.036
      • 0.024
      • 0.012

      Use one of the following prices for Amazon Augmented AI custom human review tasks. Prices are in US dollars.

      • 1.200
      • 1.080
      • 0.960
      • 0.840
      • 0.720
      • 0.600
      • 0.480
      • 0.360
      • 0.240
      • 0.120
      • 0.072
      • 0.060
      • 0.048
      • 0.036
      • 0.024
      • 0.012
      • AmountInUsd (dict) --

        Defines the amount of money paid to an Amazon Mechanical Turk worker in United States dollars.

        • Dollars (integer) --

          The whole number of dollars in the amount.

        • Cents (integer) --

          The fractional portion, in cents, of the amount.

        • TenthFractionsOfACent (integer) --

          Fractions of a cent, in tenths.

  • OutputConfig (dict) --

    [REQUIRED]

    An object containing information about where the human review results will be uploaded.

    • S3OutputPath (string) -- [REQUIRED]

      The Amazon S3 path where the object containing human output will be made available.

      To learn more about the format of Amazon A2I output data, see Amazon A2I Output Data.

    • KmsKeyId (string) --

      The Amazon Key Management Service (KMS) key ID for server-side encryption.

  • RoleArn (string) --

    [REQUIRED]

    The Amazon Resource Name (ARN) of the role needed to call other services on your behalf. For example, arn:aws:iam::1234567890:role/service-role/AmazonSageMaker-ExecutionRole-20180111T151298 .

  • Tags (list) --

    An array of key-value pairs that contain metadata to help you categorize and organize a flow definition. Each tag consists of a key and a value, both of which you define.

    • (dict) --

      A tag object that consists of a key and an optional value, used to manage metadata for SageMaker Amazon Web Services resources.

      You can add tags to notebook instances, training jobs, hyperparameter tuning jobs, batch transform jobs, models, labeling jobs, work teams, endpoint configurations, and endpoints. For more information on adding tags to SageMaker resources, see AddTags.

      For more information on adding metadata to your Amazon Web Services resources with tagging, see Tagging Amazon Web Services resources. For advice on best practices for managing Amazon Web Services resources with tagging, see Tagging Best Practices: Implement an Effective Amazon Web Services Resource Tagging Strategy.

      • Key (string) -- [REQUIRED]

        The tag key. Tag keys must be unique per resource.

      • Value (string) -- [REQUIRED]

        The tag value.

Return type

dict

Returns

Response Syntax

{
    'FlowDefinitionArn': 'string'
}

Response Structure

  • (dict) --

    • FlowDefinitionArn (string) --

      The Amazon Resource Name (ARN) of the flow definition you create.

Exceptions

  • SageMaker.Client.exceptions.ResourceLimitExceeded
  • SageMaker.Client.exceptions.ResourceInUse