I have intermittent credential issues in my durable function app.
ManagedIdentityCredential will use App Service managed identity
EnvironmentCredential.get_token failed: EnvironmentCredential authentication unavailable. Environment variables are not fully configured.
DefaultAzureCredential - EnvironmentCredential is unavailable
In each activity I call DefaultAzureCredential
# some activity function
from azure.identity import DefaultAzureCredential
credential = DefaultAzureCredential()
def my_func()...
Would it be better to create a credential in my orchestrator, once, and pass it around to my activities? I am also using system assigned identity, so should I use ManagedIdentityCredential
instead to avoid the constant checks DefaultAzureCredential
does?
from azure.identity import ManagedIdentityCredential
import azure.durable_functions as df
def orchestrator_function(context: df.DurableOrchestrationContext):
# Create the credentials
credentials = ManagedIdentityCredential()
# Pass it to my activity instead of my activity creating its own
activity = yield context.call_activity("my_activity", credentials)