Omics / Client / start_run_batch

start_run_batch

Omics.Client.start_run_batch(**kwargs)

Starts a batch of workflow runs. You can group up to 100,000 runs into a single batch that share a common configuration defined in defaultRunSetting. Per-run overrides can be provided either inline via inlineSettings (up to 100 runs) or via a JSON file stored in Amazon S3 via s3UriSettings (up to 100,000 runs).

StartRunBatch validates common fields synchronously and returns immediately with a batch ID and status PENDING. Runs are submitted gradually and asynchronously at a rate governed by your StartRun throughput quota.

See also: AWS API Documentation

Request Syntax

response = client.start_run_batch(
    batchName='string',
    requestId='string',
    tags={
        'string': 'string'
    },
    defaultRunSetting={
        'workflowId': 'string',
        'workflowType': 'PRIVATE'|'READY2RUN',
        'roleArn': 'string',
        'name': 'string',
        'cacheId': 'string',
        'cacheBehavior': 'CACHE_ON_FAILURE'|'CACHE_ALWAYS',
        'runGroupId': 'string',
        'priority': 123,
        'parameters': {...}|[...]|123|123.4|'string'|True|None,
        'storageCapacity': 123,
        'outputUri': 'string',
        'logLevel': 'OFF'|'FATAL'|'ERROR'|'ALL',
        'runTags': {
            'string': 'string'
        },
        'retentionMode': 'RETAIN'|'REMOVE',
        'storageType': 'STATIC'|'DYNAMIC',
        'workflowOwnerId': 'string',
        'outputBucketOwnerId': 'string',
        'workflowVersionName': 'string'
    },
    batchRunSettings={
        'inlineSettings': [
            {
                'runSettingId': 'string',
                'name': 'string',
                'outputUri': 'string',
                'priority': 123,
                'parameters': {...}|[...]|123|123.4|'string'|True|None,
                'outputBucketOwnerId': 'string',
                'runTags': {
                    'string': 'string'
                }
            },
        ],
        's3UriSettings': 'string'
    }
)
Parameters:
  • batchName (string) – An optional user-friendly name for the run batch.

  • requestId (string) –

    [REQUIRED]

    A client token used to deduplicate retry requests and prevent duplicate batches from being created.

    This field is autopopulated if not provided.

  • tags (dict) –

    AWS tags to associate with the batch resource. These tags are not inherited by individual runs. To tag individual runs, use defaultRunSetting.runTags.

    • (string) –

      • (string) –

  • defaultRunSetting (dict) –

    [REQUIRED]

    Shared configuration applied to all runs in the batch. See DefaultRunSetting.

    • workflowId (string) – [REQUIRED]

      The identifier of the workflow to run.

    • workflowType (string) –

      The type of the originating workflow. Batch runs are not supported with READY2RUN workflows.

    • roleArn (string) – [REQUIRED]

      The IAM role ARN that grants HealthOmics permissions to access required AWS resources such as Amazon S3 and CloudWatch. The role must have the same permissions required for individual StartRun calls.

    • name (string) –

      An optional user-friendly name applied to each workflow run. Can be overridden per run.

    • cacheId (string) –

      The identifier of the run cache to associate with the runs.

    • cacheBehavior (string) –

      The cache behavior for the runs. Requires cacheId to be set.

    • runGroupId (string) –

      The ID of the run group to contain all workflow runs in the batch.

    • priority (integer) –

      An integer priority for the workflow runs. Higher values correspond to higher priority. A value of 0 corresponds to the lowest priority. Can be overridden per run.

    • parameters (document) –

      Workflow parameter names and values shared across all runs. Merged with per-run parameters; run-specific values take precedence when keys overlap. Can be overridden per run.

    • storageCapacity (integer) –

      The filesystem size in gibibytes (GiB) provisioned for each workflow run and shared by all tasks in that run. Defaults to 1200 GiB if not specified.

    • outputUri (string) –

      The destination S3 URI for workflow outputs. Must begin with s3://. The roleArn must grant write permissions to this bucket. Can be overridden per run.

    • logLevel (string) –

      The verbosity level for CloudWatch Logs emitted during each run.

    • runTags (dict) –

      AWS tags to associate with each workflow run. Merged with per-run runTags; run-specific values take precedence when keys overlap.

      • (string) –

        • (string) –

    • retentionMode (string) –

      The retention behavior for runs after completion.

    • storageType (string) –

      The storage type for the workflow runs.

    • workflowOwnerId (string) –

      The AWS account ID of the workflow owner, used for cross-account workflow sharing.

    • outputBucketOwnerId (string) –

      The expected AWS account ID of the owner of the output S3 bucket. Can be overridden per run.

    • workflowVersionName (string) –

      The version name of the specified workflow.

  • batchRunSettings (dict) –

    [REQUIRED]

    The individual run configurations. Specify exactly one of inlineSettings or s3UriSettings. See BatchRunSettings.

    Note

    This is a Tagged Union structure. Only one of the following top level keys can be set: inlineSettings, s3UriSettings.

    • inlineSettings (list) –

      A list of per-run configurations provided inline in the request. Each entry must include a unique runSettingId. Supports up to 100 entries. For batches with more than 100 runs, use s3UriSettings.

      • (dict) –

        A per-run configuration that overrides or merges with fields from DefaultRunSetting for a specific run.

        • runSettingId (string) – [REQUIRED]

          A customer-provided unique identifier for this run configuration within the batch. After submission, use ListRunsInBatch to map each runSettingId to the HealthOmics-generated runId.

        • name (string) –

          An optional user-friendly name for this run.

        • outputUri (string) –

          Override the destination S3 URI for this run’s outputs.

        • priority (integer) –

          Override the priority for this run.

        • parameters (document) –

          Per-run workflow parameters. Merged with defaultRunSetting.parameters; values in this object take precedence when keys overlap.

        • outputBucketOwnerId (string) –

          The expected AWS account ID of the owner of the output S3 bucket for this run.

        • runTags (dict) –

          Per-run AWS tags. Merged with defaultRunSetting.runTags; values in this object take precedence when keys overlap.

          • (string) –

            • (string) –

    • s3UriSettings (string) –

      An Amazon S3 URI pointing to a JSON file containing per-run configurations. The file must be a JSON array in the same format as inlineSettings. Supports up to 100,000 run configurations. The maximum file size is 6 GB.

      The IAM service role in roleArn must have read access to this S3 object. HealthOmics validates access to the file during the synchronous API call and records the file’s ETag. If the file is modified after submission, the batch fails.

Return type:

dict

Returns:

Response Syntax

{
    'id': 'string',
    'arn': 'string',
    'status': 'PENDING'|'SUBMITTING'|'INPROGRESS'|'STOPPING'|'CANCELLED'|'FAILED'|'PROCESSED'|'RUNS_DELETING'|'RUNS_DELETED',
    'uuid': 'string',
    'tags': {
        'string': 'string'
    }
}

Response Structure

  • (dict) –

    • id (string) –

      The identifier portion of the run batch ARN.

    • arn (string) –

      The unique ARN of the run batch.

    • status (string) –

      The initial status of the run batch.

    • uuid (string) –

      The universally unique identifier (UUID) for the run batch.

    • tags (dict) –

      AWS tags associated with the run batch.

      • (string) –

        • (string) –

Exceptions

  • Omics.Client.exceptions.InternalServerException

  • Omics.Client.exceptions.ServiceQuotaExceededException

  • Omics.Client.exceptions.ThrottlingException

  • Omics.Client.exceptions.ValidationException

  • Omics.Client.exceptions.ConflictException

  • Omics.Client.exceptions.ResourceNotFoundException

  • Omics.Client.exceptions.AccessDeniedException

  • Omics.Client.exceptions.RequestTimeoutException