Skip to content

Packages and workflows introduction

In Atlan, packages define the workflows you can run to retrieve metadata from various sources.

Workflows run asynchronously

This means the helper method to run a workflow will return immediately, before the workflow itself has finished running. If you want to wait until the workflow is finished you'll need to use other helper methods to check the status and wait accordingly.

Supported packages

Explore the list of individual packages currently supported through our SDKs. Each package section includes examples demonstrating how to build a workflow from scratch and execute it on Atlan.

Block until workflow completion

1.8.4 1.0.0

To block until the workflow has completed running:

Block until workflow has completed
1
2
3
...
WorkflowResponse response = workflow.run(); // (1)
AtlanWorkflowPhase state = response.monitorStatus(log); // (2)
  1. Every package returns a Workflow object, from which you can run() the workflow. This call will return almost immediately with some metadata about the workflow run — it will not wait until the workflow has completed running.
  2. There is a monitorStatus() method on the response of a workflow run that you can use to wait until the workflow has completed. When this method finally returns, it will give the state of the workflow when it completed (for example, success or failure).

    The method comes in two variations:

    • one that takes an slf4j logger (in this example) and will log its status periodically
    • and another that takes no arguments and does not do any logging
Block until workflow has completed
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
import logging
from pyatlan.client.atlan import AtlanClient

client = AtlanClient()
LOGGER = logging.getLogger(__name__)
LOGGER.setLevel(logging.DEBUG)

...
response = client.workflow.run(workflow) # (1)
state = client.workflow.monitor( # (2)
  workflow_response=response, logger=LOGGER
)
  1. Each package returns a Workflow object, which you can subsequently pass to the run() method of the workflow client. This call will return almost immediately with some metadata about the workflow run — it will not wait until the workflow has completed running.
  2. Use the monitor() method on the workflow client to wait until the workflow has completed. When this method returns, it provides the final state of the workflow, indicating whether it was successful or failed.

    The method comes in two variations:

    • one that takes a logger (in this example) and will log its status periodically.
    • and another that takes no arguments and does not do any logging.
Block until workflow has completed
1
2
3
...
val response = workflow.run() // (1)
val state = response.monitorStatus(log) // (2)
  1. Every package returns a Workflow object, from which you can run() the workflow. This call will return almost immediately with some metadata about the workflow run — it will not wait until the workflow has completed running.
  2. There is a monitorStatus() method on the response of a workflow run that you can use to wait until the workflow has completed. When this method finally returns, it will give the state of the workflow when it completed (for example, success or failure).

    The method comes in two variations:

    • one that takes an slf4j logger (in this example) and will log its status periodically
    • and another that takes no arguments and does not do any logging