Keboola Input Mapping

  • drobnikj/keboola-input-mapping
  • Modified
  • Users 4
  • Runs 683
  • Created by Author's avatarJakub Drobník

It parses the input table from Apify <> Keboola extractor and maps the data into another task or actor input.

To run the code examples, you need to have an Apify account. Replace <YOUR_API_TOKEN> in the code with your API token. For a more detailed explanation, please read about running Actors via the API in Apify Docs.

import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with API token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "inputMapping": async function inputMappingFunction({ currentInput, parsedInputTableCsv }) {
        console.log(parsedInputTableCsv);
        const targetInput = {
            startUrls: parsedInputTableCsv.map((line) => line['URL']),
        }
        return targetInput;
    }
};

(async () => {
    // Run the Actor and wait for it to finish
    const run = await client.actor("drobnikj/keboola-input-mapping").call(input);

    // Fetch and print Actor results from the run's dataset (if any)
    console.log('Results from dataset');
    const { items } = await client.dataset(run.defaultDatasetId).listItems();
    items.forEach((item) => {
        console.dir(item);
    });
})();