Amazon DataZone · Arazzo Workflow

Amazon DataZone Catalog a Data Asset

Version 1.0.0

Create a data asset in a project and read it back to confirm cataloging.

1 workflow 1 source API 1 provider
View Spec View on GitHub Data CatalogData GovernanceData ManagementData SharingAnalyticsArazzoWorkflows

Provider

amazon-datazone

Workflows

catalog-asset
Create a data asset under a project and confirm it via a read-back.
Creates a data asset owned by the given project and type, then fetches the asset detail to confirm the catalog entry exists.
2 steps inputs: description, domainIdentifier, name, owningProjectIdentifier, typeIdentifier outputs: assetId, assetName
1
createAsset
createAsset
Register the data asset in the catalog under the owning project.
2
confirmAsset
getAsset
Read the asset back to confirm it was cataloged successfully.

Source API Descriptions

Arazzo Workflow Specification

amazon-datazone-catalog-asset-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Amazon DataZone Catalog a Data Asset
  summary: Create a data asset in a project and read it back to confirm cataloging.
  description: >-
    Registers a new data asset in the Amazon DataZone catalog under an owning
    project and then reads the asset back to verify it was stored with the
    expected name and type. This is the core catalog-a-dataset pattern used when
    onboarding a relational table or other data product into a governed domain.
    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: dataZoneApi
  url: ../openapi/amazon-datazone-openapi.yml
  type: openapi
workflows:
- workflowId: catalog-asset
  summary: Create a data asset under a project and confirm it via a read-back.
  description: >-
    Creates a data asset owned by the given project and type, then fetches the
    asset detail to confirm the catalog entry exists.
  inputs:
    type: object
    required:
    - domainIdentifier
    - owningProjectIdentifier
    - name
    - typeIdentifier
    properties:
      domainIdentifier:
        type: string
        description: The identifier of the domain that owns the catalog.
      owningProjectIdentifier:
        type: string
        description: The identifier of the project that owns the asset.
      name:
        type: string
        description: The name of the data asset to catalog.
      description:
        type: string
        description: An optional description of the data asset.
      typeIdentifier:
        type: string
        description: The asset type identifier (e.g. amazon.datazone.RelationalTable).
  steps:
  - stepId: createAsset
    description: Register the data asset in the catalog under the owning project.
    operationId: createAsset
    parameters:
    - name: domainIdentifier
      in: path
      value: $inputs.domainIdentifier
    requestBody:
      contentType: application/json
      payload:
        name: $inputs.name
        description: $inputs.description
        domainIdentifier: $inputs.domainIdentifier
        owningProjectIdentifier: $inputs.owningProjectIdentifier
        typeIdentifier: $inputs.typeIdentifier
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      assetId: $response.body#/id
  - stepId: confirmAsset
    description: Read the asset back to confirm it was cataloged successfully.
    operationId: getAsset
    parameters:
    - name: domainIdentifier
      in: path
      value: $inputs.domainIdentifier
    - name: identifier
      in: path
      value: $steps.createAsset.outputs.assetId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      assetName: $response.body#/name
      owningProjectId: $response.body#/owningProjectId
      createdAt: $response.body#/createdAt
  outputs:
    assetId: $steps.createAsset.outputs.assetId
    assetName: $steps.confirmAsset.outputs.assetName