Are etags always unique?

etags of resources seem to be the hash of the resource object being returned.

Are they unique?

You should not use the etag as a key.
The plan is for the etag to be used as a way of returning data only if its changed since the last time the resource was requested, but we have yet to implement the functionality.
Please see Etags in documentation, but not in resources - #2 by h_brackmann