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