Amazon Elastic Transcoder · Arazzo Workflow

Amazon Elastic Transcoder Create Preset and Submit a Job Using It

Version 1.0.0

Define a reusable output preset, then submit a transcoding job into an existing pipeline that uses the new preset.

1 workflow 1 source API 1 provider
View Spec View on GitHub Amazon Web ServicesMediaTranscodingVideoArazzoWorkflows

Provider

amazon-elastic-transcoder

Workflows

create-preset-submit-job
Create a preset and submit a job that transcodes a file using it.
Creates an output preset with the supplied name and container, then submits a job into an existing pipeline whose output uses the new preset Id.
2 steps inputs: container, description, inputKey, outputKey, pipelineId, presetName outputs: jobId, jobStatus, presetId
1
createPreset
CreatePreset
Create the output preset that defines the container and encoding settings the job output will use.
2
submitJob
CreateJob
Submit a transcoding job into the existing pipeline whose single output references the newly created preset.

Source API Descriptions

Arazzo Workflow Specification

amazon-elastic-transcoder-preset-job-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Amazon Elastic Transcoder Create Preset and Submit a Job Using It
  summary: Define a reusable output preset, then submit a transcoding job into an existing pipeline that uses the new preset.
  description: >-
    Presets capture the audio, video, and container settings Elastic Transcoder
    applies to an output. This workflow creates a preset with the supplied
    container type, then submits a transcoding job into an existing pipeline
    whose single output references the freshly created preset. Every step spells
    out its request inline so the flow can be read and executed without opening
    the underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: elasticTranscoderApi
  url: ../openapi/amazon-elastic-transcoder-openapi.yml
  type: openapi
workflows:
- workflowId: create-preset-submit-job
  summary: Create a preset and submit a job that transcodes a file using it.
  description: >-
    Creates an output preset with the supplied name and container, then submits
    a job into an existing pipeline whose output uses the new preset Id.
  inputs:
    type: object
    required:
    - presetName
    - container
    - pipelineId
    - inputKey
    - outputKey
    properties:
      presetName:
        type: string
        description: The name to assign to the new preset (maximum 40 characters).
      container:
        type: string
        description: The output container type for the preset (e.g. mp4, ts, webm).
      description:
        type: string
        description: An optional human-readable description of the preset.
      pipelineId:
        type: string
        description: The Id of an existing pipeline to submit the job into.
      inputKey:
        type: string
        description: The S3 key of the input file to transcode.
      outputKey:
        type: string
        description: The S3 key to assign to the transcoded output file.
  steps:
  - stepId: createPreset
    description: >-
      Create the output preset that defines the container and encoding settings
      the job output will use.
    operationId: CreatePreset
    requestBody:
      contentType: application/json
      payload:
        Name: $inputs.presetName
        Container: $inputs.container
        Description: $inputs.description
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      presetId: $response.body#/Preset/Id
      presetName: $response.body#/Preset/Name
  - stepId: submitJob
    description: >-
      Submit a transcoding job into the existing pipeline whose single output
      references the newly created preset.
    operationId: CreateJob
    requestBody:
      contentType: application/json
      payload:
        PipelineId: $inputs.pipelineId
        Input:
          Key: $inputs.inputKey
        Output:
          Key: $inputs.outputKey
          PresetId: $steps.createPreset.outputs.presetId
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      jobId: $response.body#/Job/Id
      jobStatus: $response.body#/Job/Status
  outputs:
    presetId: $steps.createPreset.outputs.presetId
    jobId: $steps.submitJob.outputs.jobId
    jobStatus: $steps.submitJob.outputs.jobStatus