I have an object in s3 that looks like this:
{'Key': '1111_redshift_us-east-1_dev-ue1-rs-analytics_useractivitylog_2021-05-01T20:18.gz', 'LastModified': datetime.datetime(2021, 5, 24, 19, 14, 40, tzinfo=tzutc()), 'ETag': '"60377db54e3bbcfe7d569b8ea029cfa3-1"', 'Size': 7, 'StorageClass': 'STANDARD'}
and the page from the page_iterator looks like this:
PAGE: {'ResponseMetadata': {'HTTPStatusCode': 200, 'HTTPHeaders': {}, 'RetryAttempts': 0}, 'IsTruncated': False, 'Contents': [{'Key': '1111_redshift_us-east-1_dev-ue1-rs-analytics_connectionlog_2021-05-01T20:18.gz', 'LastModified': datetime.datetime(2021, 5, 24, 19, 14, 40, tzinfo=tzutc()), 'ETag': '"60377db54e3bbcfe7d569b8ea029cfa3-1"', 'Size': 7, 'StorageClass': 'STANDARD'}, {'Key': '1111_redshift_us-east-1_dev-ue1-rs-analytics_notvalidname_2021-05-01T20:18.gz', 'LastModified': datetime.datetime(2021, 5, 24, 19, 14, 40, tzinfo=tzutc()), 'ETag': '"60377db54e3bbcfe7d569b8ea029cfa3-1"', 'Size': 7, 'StorageClass': 'STANDARD'}, {'Key': '1111_redshift_us-east-1_dev-ue1-rs-analytics_useractivitylog_2021-05-01T20:18.gz', 'LastModified': datetime.datetime(2021, 5, 24, 19, 14, 40, tzinfo=tzutc()), 'ETag': '"60377db54e3bbcfe7d569b8ea029cfa3-1"', 'Size': 7, 'StorageClass': 'STANDARD'}, {'Key': '1111_redshift_us-east-1_dev-ue1-rs-analytics_userlog_2021-05-01T20:18.gz', 'LastModified': datetime.datetime(2021, 5, 24, 19, 14, 40, tzinfo=tzutc()),
and I'm trying to do the filter like this:
page_iterator = paginator.paginate(**operation_parameters)
print(f"FILTER: {filter}")
# filtered_iterator = page_iterator.search(filter) if filter else page_iterator
for page in page_iterator:
print(f"PAGE: {page}")
for obj in page.get("Contents", []):
print(f"OBJECT: {obj}")
yield obj
but I'm not getting objects back. Am I doing the JMESPath filter in search
wrong? I'm going by these docs
and my filter is this:
"Contents[?Key[?contains(@, 'useractivitylog') == `true`]]"
What a I doing wrong?