Temporal Client - Thread safety and Lambda

I have two questions:

We would like to used a shared temporal client in our Go app. The idea is that the client would be held by the service, and whatever process needs it can use it. Is this going to be thread-safe?

We have a lambda that we want to have send a signal to a running workflow. Can the client be created once in the init method of the lambda and used for all future lambda handler invocations? Or will there be issues with threading or timeouts?

Can the client be created once in the init method of the lambda

This should be fine to reuse. Did you run into any issues with it?

I have not tried it yet. Do you have any advice on the first question (using a shared Temporal client in a service)?

If all your services need to connect to same Temporal server+namespace as well as all use same client certs (auth), I think this should be ok to do.

Thanks - we will go ahead with that.

Someone noted that the Temporal client is basically a gRPC client - would that be correct?

Yes, most of the heavy objects are in the gRPC client.