Aaron T
03/31/2023, 5:19 PMdagster._check.CheckError: Failure condition: Tried to access partition key for asset 'AssetKey(['alarm_watchdog_report_graph'])', but the number of input partitions != 1: 'TimeWindowPartitionsSubset([PartitionKeyRange(start='2023-03-27', end='2023-03-28')])'
Aaron T
03/31/2023, 5:30 PMdagster_aws/s3/io_manager.py
So, now I am thinking the dagster_aws IO manager does not currently support getting TimeWindowPartionsSubsetTimo Vink
03/31/2023, 5:31 PMpartitions_def = DynamicPartitionsDefinition(name='top_stories')
@asset(partitions_def=partitions_def)
def top_stories(context):
# omitted
@asset
def unique_top_stories(top_stories):
# omitted
If I have exactly 1 partition I get that partition's value in unique_top_stories
(was expecting some collection). If I have multiple partitions I get the same error as Aaron.
I tried explicitly specifying an AssetIn
and AllPartitionMapping
but no change.Timo Vink
03/31/2023, 5:41 PMs3_pickle_io_manager.configured({ 's3_bucket': 'my_bucket_here', 's3_prefix': 'my_prefix_here' })
Timo Vink
03/31/2023, 5:54 PMdagster
and its code base but looking at the source code comparing the FS IO manager and S3 IO manager I see these inheritance chains:
PickledObjectFilesystemIOManager
-> UPathIOManager
-> MemoizableIOManager
-> ...
and
PickledObjectS3IOManager
-> MemoizableIOManager
-> ...
UPathIOManager
specifically says "handles partitioned assets", and comparing the following two methods seems to support the idea that the S3 IO manager just doesn't handle partitions.
https://github.com/dagster-io/dagster/blob/8a83cd5d52e5be18dd0ab7a991cf48f594feedbd/python_modules/dagster/dagster/_core/storage/upath_io_manager.py#L187
https://github.com/dagster-io/dagster/blob/8a83cd5d52e5be18dd0ab7a991cf48f594feedb[…]thon_modules/libraries/dagster-aws/dagster_aws/s3/io_manager.pyTimo Vink
03/31/2023, 5:55 PMTimo Vink
03/31/2023, 7:32 PMAaron T
03/31/2023, 7:33 PM