Como @jpatokal escreveu, você precisará de um visto regular tipo C Schengen e não um visto de trânsito aeroportuário. Na prática, não faz muita diferença, embora a forma de aplicar e os custos sejam os mesmos. Basta verificar "trânsito / transito" em vez de "trânsito do aeroporto / transito aeroportuale".
Pode ser um pouco confuso, já que você não pretende deixar o aeroporto, mas o motivo de tudo isso é que o vôo de Roma para Amsterdã é um vôo entre dois países Schengen, para que ele saia de outra parte do aeroporto. que os voos para destinos não-Schengen. Não há verificação de passaporte na chegada a Amsterdã para este voo, portanto não há como garantir que você não fique na Holanda em vez de pegar seu voo para o Canadá.
A permissão de residência canadense pode isentar você da exigência de visto de trânsito aeroportuário se você tiver apenas uma escala no espaço Schengen, mas não o isenta da necessidade de obter visto neste caso . Consulte Preciso de um visto para transitar (ou escala) no espaço Schengen? para uma explicação completa das regras.