Trigger dataset refresh

Is there a way to trigger dataset refreshes in quicksight other than scheduling? For example, I have an S3 csv that is updated every 30 minutes from a lambda function. There is a dataset in quicksight that takes information from that csv and is currently on a hourly refresh schedule. Is there a way to cause that dataset to refresh everytime the S3 csv file is updated?

Hi @ineedqshelp - Thanks for posting this question. Yes you can do via lambda trigger. Please follow the below steps.

  1. Create a s3 event trigger which will call a lambda function.
  2. The lambda function will trigger the create ingestion API for the refreshing the data set. Please find the link for the same -
    To start a new ingestion, you can use create ingestion .
    create_ingestion - Boto3 1.26.125 documentation

To create a refresh schedule -
https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/quicksight/client/create_refresh_schedule.html

Hope this will help you.

Regards - Sanjeeb

1 Like

Hi @Sanjeeb2022 I am not able to follow step 2. Where do you put the code for create ingestion that is mentioned in the link?

Hi @abhishek_pawar - Welcome to AWS QuickSight community and thanks for posting the question. Step -2, you need to create a lambda function ( in AWS console if you want to create via UI) and the lambda will execute when there is a file land to S3 ( Via S3 event trigger ).

Regards - Sanjeeb