For the leg AMD >> BKK
you may need a Visa On Arrival (VoA) for Thailand if you:
a) have any checked bags and you are changing planes such that you are on separate itineraries.
b) are switching airports (Bangkok has two airports Suvarnabhumi (BKK) and Don Mueang (DMK) ).
If AMD >> BKK >> CAN >> YYZ
are on a single itinerary, then you can wait in the int'l terminal area without the need to get a flight. Checked luggage will automatically be routed to the correct airplane.
If AMD >> BKK
and BKK >> CAN >> YYZ
have 2 separate tickets (and are not on the same itinerary), then you would need to check the luggage back in again at BKK. This requires that you "enter" Thailand (clear immigration) and you'd need a VoA. Good news about VOA which is explained below...
The problem is that I am travelling tomorrow and don't have enough time. If I can get e-visa, can you provide any link where I can get e-visa?
I laid out some of this in a previous answer, but I will copy it here:
You will need:
- Passport
- arrival/departure card (TM-6 will be attached to passport page when you enter)
- 1 passport photo 4cm x 6cm, although larger size may be accepted
- application (TM-8, [backup])
Fee: 1000 baht for single re-entry and 3800 for multiple re-entry permit. VoA is free until October 2019.
VoA application can now be started online (Direct URL) to reduce wait times.

There is also a place onsite to take passport photos, but I recommend having your own photos ready to save money/time.
In the future, try to ask visa/airport-related questions before booking the tickets and/or a few weeks out. Asking at the last minute usually does not give the traveller any advantages.
FYI, the King Rama X's Coronation ceremony is between 04-06 May 2019. At worst, it would add to the check-in time (should you need VoA).
In regards to BKK >> CAN >> YYZ
@Mophotla answered this one thoroughly. If you are not exiting the terminal areas and having to actually clear immigration/customs in order to catch the onwards flight, you have nothing to worry about in CAN
AMD > BKK > CAN > YYZ
on one ticket (you didn't separately bookAMD > BKK
andBKK > CAN > YYZ
)??