Setup and Usage

The first thing that is needed to do to make use of an SQL API operator is to link one into a new or existing pipeline.

https://lh4.googleusercontent.com/iPE6AlBnytQOo5TEMAZbJb67-GuDl_VMhFDThCreNVazEoF85GD2eA1nZNBnU3nmsM4xdPwXr2Syg-4ckLV0AzqqDxvFErtQvhkNUZU2lIlI76MPRHFZfrak3FWYW3VZryXEwoSw

Once placed, and connected to the pipeline (after one or more integrations), it can be configured and executed. Configuring the SQL API operator can be done by clicking the "pencil" icon in the operator node, and it will look like this:

https://lh6.googleusercontent.com/yGCaxqfKrAHVkri06pzRc_Q6msXe5SU-eTYg55sTjJ2QP0pN1NnQR7bmpVHrauB5WLyKe4LvWqkFuT23ykwuI2rIDX3foIEzRSSDlCbpL6_fLi5C843Vn2sIhPrqbI3H3jFVT5kJ

In which an SQL query can be set and retrieved. That SQL query will be used to [re-]generate the API results. Saving the changes, or closing the interface, will take the user back to the pipeline edition, in which the operator must be run before being able to be queried by an API.

In order to be able to query the API operator via its own HTTP endpoint, the operator must be run by clicking the per-operator "play" button or the per-pipeline "Run" button (in the first image).

API Querying

In the "API" section in the project, the operator will be listed by providing two special endpoints as two of the list items (in this example, listed as "Sample SQL API", being the first two entries):

https://lh6.googleusercontent.com/nZy4zKj-dPJOGG_7E_9j6fDxHi3lst24Bpu9r-eVDMNVCMf_9uqPUIIPLayPbt31SdwWTC0_oD8nktCvjP0OnVsMqsv0w8-jkMokjnEyclokfsGiNVa7-ajBgeHrxGhhj9B-wN3S

These points, while belonging to the same operator, serve different purposes. The first one is a POST method entry point, and the second one is a GET method entry point.

By clicking the "SQL API" button in the "POST" entry, this section will appear (with a command, in the black frame, that can be copied and directly run in any system having curl, typically a Linux or Mac system):

https://lh5.googleusercontent.com/0UGWmuliYv_9aOLUWnPRYS9scy3O1j17RCrMDCIOxE6P2KCnf6kgWjG4Y9QUEOSWe6iuio58OUU4dv4K7ysiXndb491o0KBBba0frDHyf8h8-awPEUeDrnW1a-UUjbXDLX2Xqhnm

By running that command in a regular console, a detail will be obtained regarding the "background task" that will start updating the results to provide, according to the SQL query being set up in the operator configuration:

https://lh5.googleusercontent.com/PsWVEfzkX-1kdzWihtin9h55tYORMS7_T5uj63QlbVAJy1lbxX_UlJgq4Gbcsfxq5tyWEywJ4nl9Rn9ZOdw5FVZmS4nOpqtTK1mSNg2LvHHwFhPcF28mP2kDfF3Z4QIcp-BKKCjD

By extracting the "background task id" from the result, now the GET endpoint can be queried. By clicking the "SQL API" button in the "GET" entry, a similar section will appear (again, with a command in a black frame that can be copied and directly run in any system having curl, typically a Linux or Mac system):

https://lh6.googleusercontent.com/qPs-wgrlcsCMmINzhUYG-RpWWuWxP0R4RhbrLorFGIQgRYZZwHe2x_eWG9h3uP2FE2Lkxhglnn9yhYFMWWsgV6u4RF7iAIvNR30timD1eriq--QFtb9zOqFdBuZXSI9AQzzlCixg

The details for the different result scenarios are also available as an example. Now, the command can also be run to retrieve the results from the underlying SQL query:

https://lh3.googleusercontent.com/xzyORkcUmISdph7vTSD2C-0gbBMQpLmMDlpO9L0JJtVWIEgg1BtFrkyJEa7bHsQIwlbIH4Hc561Tr5j6Rrf4tOHy0K0Vc9EBCiB6QZHkCGsc94dK_WD_On8bF6PjHzOxQZHmU-7B

(notice how both the POST and then GET endpoints were invoked - the GET endpoint containing a parameter as coming from the POST endpoint's result)