As per the official documentation of AsyncAPI Specification to define event-driven APIs, there would be the need to define the basic components like info, server, channel, message, schema section using the specifications.
This is good enough for most use cases where messages are sent to the broker and consumed by one subscriber.
In case of AWS SNS, the message sent to the SNS topic will be consumed by many consumers as per the filtering criteria given during the subscription of the SNS topic.
How to define all those filtering criteria using the AsyncAPI Specification? Do we need to specify all the different possible examples of message payload to map each consumers specific payloads? Or is there any other better way to define this routing by SNS topic?
There is a pull request for these bindings. I suggest that you add your requirements and questions there - https://github.com/asyncapi/bindings/pull/84
I am trying to do something similar. Map our current AWS ecosystem into AsyncAPI documents. I found that the schema definitions for AWS SQS and SNS are not defined yet. However, work is being done to define these schemas - which is in the pull request above.
For now, I think that you do have to define the items you are asking about yourself.