Using Astera Data Stack, users can design a complete set of API (Application Programming Interface) endpoint flows in a drag-and-drop interface. These APIs can then be deployed to the Astera Server before they can be consumed.
In this document, we will learn how to deploy API flows on the Astera Server. API flows can be deployed individually or as a group set in folder hierarchies.
Here, we have a pre-designed API flow,
Let’s see how we can deploy this.
Click the Deploy API Flow icon on the API flow toolbar.
Similarly, the Deploy API Flow option from the Project Explorer context menu can also be used. This option is only available for API flows.
The Deployment window will appear like this,
Method: It’s the HTTPS method selected in the Request object in the API flow.
Resource: The endpoint defined in the Request object.
Deployment Name: The name used to refer to this deployment in the Server Browser.
Example URL: The complete URL that will be used to make the request. It includes the Base URL, Resource, URI, and Query parameters.
Config File Path: The path of an optional deployment config file to define runtime variables used in the API flows.
Generate Test Flow for API: Its functionality detail is given here.
Define the Deployment Name and the Config File Path (optional). Click OK.
The API Flow is verified in pushdown mode before the creation of the deployment. In case of any verification errors, the deployment will not be created, and the success or failure of deployment status will appear in the Job Progress window. In this case, as you can see, the deployment is completed successfully.
Once the deployment is successfully created, it becomes available in the Server Browser.
This is how you can deploy an API flow. Now, let’s see how we can group and deploy API flows at the folder level.
We can group and deploy API flow(s) contained under a folder. All the folder nodes present under the project have the Group and Deploy All API Flows under this Folder option, including the parent .cprj project node. Only the API flows shall be verified and deployed whereas all the other artifacts will not be considered in the deployment process.
Right-click on the desired folder and select Group and Deploy All API Flows under this Folder option.
Note: It is recommended to first verify all flows in pushdown and resolve any errors before proceeding to deployment.
In this example, we have grouped and deployed all API flows under the folder called “Data”. It’s noticeable that the folder, “Data”, has a nested folder, “v1”, under it. In the case of deploying from a folder that contains nested/child folder(s), the name of the nested folder(s) will be appended to the API’s URL as a part of its Resource. For example, ‘’{base URL}/Nested Folder Name/Flow Resource/Parameters’’ such as ‘’https://localhost:9621/v1/{Resource}/{Parameters}.’’
Similarly, we can see a “Dataflow1.Df” artifact under the folder as well. As explained before, this dataflow will not be considered during the deployment process.
Note: Please note that during group and deploy, the parent folder’s name is not considered as part of the resource.
After selecting the option, the Deployment window will appear like this,
Write the Deployment Name and set the path of the Config File (optional). Click OK.
All API Flows are verified in Pushdown mode before the deployment is created.
Success or Failure of the deployment will appear in the Job Progress window. In case of any errors, the verification window can be used to identify and fix errors. As the verification was successful, the API endpoints are visible in the trace.
The successfully created deployment is visible in the Server Browser.
Note: Notice endpoint annotated in yellow. We can see here the nested folder name has been appended as a resource.
This is how you can group deploy the APIs at the folder level.
The Generate Test Flow option auto creates post-deployment test flows. These dataflows can be used to make live requests to the deployed API endpoints using the API Client and API Connection objects.
The API Connection object contains the base URL of the server where the APIs are deployed and is configured with an Access Token for Authentication.
The API Client object encapsulates the entire API flow’s logic, starting from the Request object to the Response Publish object, including request parameters, request and response content bodies, and pagination configurations.
Other objects that are mapped either to the Request object or from the Response object will not be encapsulated in the API deployment and shall remain as it is in the test flow generated.
However, any Workflow Tasks shall not be made part of the test flow.
Generate Test Flow Icon
At the flow level, use the Generate Test Flow icon in the API flow toolbar to create the test flow for a deployed API.
Check the Job Progress to see if the test case generation resulted in a failure or success. Here, it is successful. This is the generated test flow for the API.
You can run this test dataflow to check the behavior and assess the performance and functionality of the designed API.
Generate Test Flow for API checkbox
At the flow level, we can also check the Generate Test Flow for API checkbox on the deployment window.
This creates the test flow after the creation of the deployment. However, only when the API flow’s verification is successful, the test flow is created. Otherwise, the entire process results in an error.
Generate Test Flows for grouped APIs checkbox
For the Folder level test flow generation, check the Generate Test Flows for Grouped APIs check box while deploying the APIs.
Check the Job Progress to see if the verification of the API flows and the test case generation resulted in a failure or success along with the deployment creation job traces. Here, the test flow creation was successful.
The initial process before the creation of deployment is the verification of the API Flow(s). By default, the deployment is verified in pushdown mode. If the flows are not pushdown-able, they are verified in the non-pushdown mode. To learn about pushdown mode, click here.
If the API deployment contains any errors or warnings, the deployment process is terminated with a link provided in the Job Progress window.
Clicking on this View Verification Logs link opens the Verify window. Here, we can see the verification logs. Its shows the Severity i.e., Error or Warning, the Name of the object which contains the issue, and the Message which is the description of the error/warning.
Note: The verification process for both the Flow level and Group Level deployment is the same.
Astera Data Stack also lets the user generate a test flow from the Server browser.
For our use case, we have an API flow that reads data from a sample Northwind database and sends it in the API response.
Deploy the API flow.
Click OK and you will be able to see the deployment in the Server Browser.
To generate test flows for all endpoints present within a deployment, right-click on the deployment file and select Generate Test Flows for All Endpoints.
To generate a test flow for a specific endpoint, open the deployment to view endpoints, then right-click on the desired endpoint and select Generate Test Flow.
Selecting it will generate the respective test flow in the project opened. The flows will be added to the API Test Flows folder followed by the deployment folder in the project.
These test flows allow automated testing of the deployed API endpoints as they are fully configured with the relevant test values. Execute the test flows to see if the API calls are running successfully.
This concludes the working of the Test flow generation feature in Astera.