Hey Son, each asset contains an Op attached that defines steps to produce the asset from any upstream asset (see
https://docs.dagster.io/concepts/assets/software-defined-assets). I think you can either:
1. Create an asset that contains Op 1 - with the query inside and an io_manager that can handle the writing of the temporary file.
2. Same asset as above, but your io_manager directly writes to the cloud storage.
So really, you just have 1 asset in this case.