I'm currently taking a machine learning class, and one of the problem set questions is to construct a GLM that models the Poisson distribution, defined as
$$P(y;\lambda) = e^{-\lambda}\frac{\lambda^y}{y!}$$
According to the class lectures, a GLM takes the form of $$P(y;\eta) = b(y)\exp(\eta^TT(y) - a(\eta))$$
Here was my attempt to derive that form from the given Poisson distribution.
$$\begin{align} P(y; \lambda) & = \exp(-\lambda)\frac{\lambda^y}{y!} \\ & = \exp(-\lambda)\exp(\log(\frac{\lambda^y}{y!})) \\ & = \exp(-\lambda)\exp(\log(\lambda^y) - \log(y!)) \\ & = \exp(-\lambda)\exp(y\log(\lambda) - \log(y!)) \end{align}$$
From this, I got the following results:
$$\begin{align} b(y) & = \exp(-\lambda) \\ \eta & = \log(\lambda) \\ T(y) & = y \\ a(\eta) & = \log(y!) \end{align}$$
Do these results look correct for the Poisson GLM? I've seen some varying other answers online, such as one source saying that $b(y)$ in this case is actually $\frac{1}{y!}$.
Also, how would you find the canonical link function from this? I know from experience that the function is $\log(y)$, but I'm interested in how that's found.