Amazon Data Exchange · Arazzo Workflow

Amazon Data Exchange Import Asset From Signed URL

Version 1.0.0

Open a revision, import a single asset from a signed URL, wait, and list the result.

1 workflow 3 source APIs 1 provider
View Spec View on GitHub Data ExchangeData MarketplaceThird-Party DataAnalyticsSubscriptionArazzoWorkflows

Provider

amazon-data-exchange

Workflows

import-asset-from-signed-url
Import one asset from a signed URL into a new revision.
Creates a revision, runs an IMPORT_ASSET_FROM_SIGNED_URL job to completion, and lists the revision assets.
5 steps inputs: assetName, comment, dataSetId outputs: importedAssetId, jobId, revisionId
1
createRevision
Create a new revision to receive the imported asset.
2
createImportJob
Create an IMPORT_ASSET_FROM_SIGNED_URL job for the named asset.
3
startImportJob
Start the signed URL import job.
4
pollImportJob
Poll the import job until terminal. Loops while WAITING or IN_PROGRESS and proceeds to list assets on COMPLETED.
5
listAssets
List the revision's assets to confirm the imported asset is present.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Amazon Data Exchange Import Asset From Signed URL
  summary: Open a revision, import a single asset from a signed URL, wait, and list the result.
  description: >-
    Loads a single file into a revision via a presigned upload in AWS Data
    Exchange. The workflow creates a revision on an existing data set, creates an
    IMPORT_ASSET_FROM_SIGNED_URL job, starts it, polls the job to completion,
    and lists the revision's assets to confirm the import. 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: assetsApi
  url: ../openapi/amazon-data-exchange-assets-api-openapi.yml
  type: openapi
- name: jobsApi
  url: ../openapi/amazon-data-exchange-jobs-api-openapi.yml
  type: openapi
- name: revisionsApi
  url: ../openapi/amazon-data-exchange-revisions-api-openapi.yml
  type: openapi
workflows:
- workflowId: import-asset-from-signed-url
  summary: Import one asset from a signed URL into a new revision.
  description: >-
    Creates a revision, runs an IMPORT_ASSET_FROM_SIGNED_URL job to completion,
    and lists the revision assets.
  inputs:
    type: object
    required:
    - dataSetId
    - assetName
    properties:
      dataSetId:
        type: string
        description: The ID of the data set to create the revision under.
      assetName:
        type: string
        description: The asset name to assign to the imported file.
      comment:
        type: string
        description: A comment describing the revision.
        default: Signed URL import
  steps:
  - stepId: createRevision
    description: >-
      Create a new revision to receive the imported asset.
    operationId: createRevision
    parameters:
    - name: DataSetId
      in: path
      value: $inputs.dataSetId
    requestBody:
      contentType: application/json
      payload:
        Comment: $inputs.comment
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      revisionId: $response.body#/Id
  - stepId: createImportJob
    description: >-
      Create an IMPORT_ASSET_FROM_SIGNED_URL job for the named asset.
    operationId: createJob
    requestBody:
      contentType: application/json
      payload:
        Type: IMPORT_ASSET_FROM_SIGNED_URL
        Details:
          ImportAssetFromSignedUrl:
            DataSetId: $inputs.dataSetId
            RevisionId: $steps.createRevision.outputs.revisionId
            AssetName: $inputs.assetName
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      jobId: $response.body#/Id
  - stepId: startImportJob
    description: >-
      Start the signed URL import job.
    operationId: startJob
    parameters:
    - name: JobId
      in: path
      value: $steps.createImportJob.outputs.jobId
    successCriteria:
    - condition: $statusCode == 202
    outputs:
      startedState: $response.body#/State
  - stepId: pollImportJob
    description: >-
      Poll the import job until terminal. Loops while WAITING or IN_PROGRESS and
      proceeds to list assets on COMPLETED.
    operationId: getJob
    parameters:
    - name: JobId
      in: path
      value: $steps.createImportJob.outputs.jobId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      state: $response.body#/State
    onSuccess:
    - name: importDone
      type: goto
      stepId: listAssets
      criteria:
      - context: $response.body
        condition: $.State == "COMPLETED"
        type: jsonpath
    - name: importPending
      type: goto
      stepId: pollImportJob
      criteria:
      - context: $response.body
        condition: $.State == "WAITING" || $.State == "IN_PROGRESS"
        type: jsonpath
  - stepId: listAssets
    description: >-
      List the revision's assets to confirm the imported asset is present.
    operationId: listRevisionAssets
    parameters:
    - name: DataSetId
      in: path
      value: $inputs.dataSetId
    - name: RevisionId
      in: path
      value: $steps.createRevision.outputs.revisionId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      importedAssetId: $response.body#/Assets/0/Id
      importedAssetName: $response.body#/Assets/0/Name
  outputs:
    revisionId: $steps.createRevision.outputs.revisionId
    jobId: $steps.createImportJob.outputs.jobId
    importedAssetId: $steps.listAssets.outputs.importedAssetId

Work with this as data

Every workflow here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This workflow
curl "https://apis.io/api/v1/arazzo/amazon-data-exchange-import-asset-from-signed-url-workflow"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.