Azure Synapse Analytics · Arazzo Workflow

Azure Synapse Analytics Provision Linked Service and Dataset

Version 1.0.0

Create a linked service, confirm it, then create a dataset bound to it.

1 workflow 2 source APIs 1 provider
View Spec View on GitHub AnalyticsApache SparkBig DataData IntegrationData WarehouseETLSQLArazzoWorkflows

Provider

microsoft-azure-synapse-analytics

Workflows

provision-linked-service-and-dataset
Stand up a linked service and a dataset that references it.
Creates or updates a linked service, verifies it was stored, then creates a dataset that binds to that linked service via its linkedServiceName reference.
3 steps inputs: apiVersion, dataset, datasetName, linkedService, linkedServiceName outputs: datasetId, linkedServiceId
1
createLinkedService
LinkedService_CreateOrUpdateLinkedService
Create or update the linked service that defines the connection to the backing data store.
2
confirmLinkedService
LinkedService_GetLinkedService
Read the linked service back to confirm it was persisted before binding a dataset to it.
3
createDataset
Dataset_CreateOrUpdateDataset
Create or update a dataset whose linkedServiceName reference points at the linked service provisioned above.

Source API Descriptions

Arazzo Workflow Specification

microsoft-azure-synapse-analytics-provision-linked-service-and-dataset-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Azure Synapse Analytics Provision Linked Service and Dataset
  summary: Create a linked service, confirm it, then create a dataset bound to it.
  description: >-
    Datasets in Azure Synapse Analytics reference a linked service that defines
    the connection to the underlying data store. This workflow first publishes
    the linked service, reads it back to confirm it persisted, and then creates
    a dataset whose linkedServiceName reference points at the newly provisioned
    linked service. 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: linkedServiceApi
  url: ../openapi/azure-synapse-analytics-linked-service-openapi.yml
  type: openapi
- name: datasetApi
  url: ../openapi/azure-synapse-analytics-dataset-openapi.yml
  type: openapi
workflows:
- workflowId: provision-linked-service-and-dataset
  summary: Stand up a linked service and a dataset that references it.
  description: >-
    Creates or updates a linked service, verifies it was stored, then creates a
    dataset that binds to that linked service via its linkedServiceName
    reference.
  inputs:
    type: object
    required:
    - apiVersion
    - linkedServiceName
    - linkedService
    - datasetName
    - dataset
    properties:
      apiVersion:
        type: string
        description: The Synapse data plane API version (e.g. 2020-12-01).
      linkedServiceName:
        type: string
        description: The name of the linked service to create or update.
      linkedService:
        type: object
        description: The LinkedServiceResource definition to publish.
      datasetName:
        type: string
        description: The name of the dataset to create or update.
      dataset:
        type: object
        description: >-
          The DatasetResource definition. Its
          properties.linkedServiceName.referenceName should match the linked
          service created in this flow.
  steps:
  - stepId: createLinkedService
    description: >-
      Create or update the linked service that defines the connection to the
      backing data store.
    operationId: LinkedService_CreateOrUpdateLinkedService
    parameters:
    - name: api-version
      in: query
      value: $inputs.apiVersion
    - name: linkedServiceName
      in: path
      value: $inputs.linkedServiceName
    requestBody:
      contentType: application/json
      payload: $inputs.linkedService
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      linkedServiceId: $response.body#/id
  - stepId: confirmLinkedService
    description: >-
      Read the linked service back to confirm it was persisted before binding a
      dataset to it.
    operationId: LinkedService_GetLinkedService
    parameters:
    - name: api-version
      in: query
      value: $inputs.apiVersion
    - name: linkedServiceName
      in: path
      value: $inputs.linkedServiceName
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      confirmedName: $response.body#/name
  - stepId: createDataset
    description: >-
      Create or update a dataset whose linkedServiceName reference points at the
      linked service provisioned above.
    operationId: Dataset_CreateOrUpdateDataset
    parameters:
    - name: api-version
      in: query
      value: $inputs.apiVersion
    - name: datasetName
      in: path
      value: $inputs.datasetName
    requestBody:
      contentType: application/json
      payload: $inputs.dataset
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      datasetId: $response.body#/id
  outputs:
    linkedServiceId: $steps.createLinkedService.outputs.linkedServiceId
    datasetId: $steps.createDataset.outputs.datasetId