@microsoft/durabletask-js-azuremanaged
v0.3.0
Published
Azure-managed Durable Task Scheduler support for the Durable Task JavaScript SDK
Readme
@microsoft/durabletask-js-azuremanaged
Azure-managed Durable Task support for the Durable Task JavaScript SDK.
This package provides support for connecting to Azure-managed Durable Task services, including authentication via Azure Identity.
Installation
npm install @microsoft/durabletask-js-azuremanaged @microsoft/durabletask-jsUsage
Via Connection String
import { createAzureManagedClient, createAzureManagedWorkerBuilder } from "@microsoft/durabletask-js-azuremanaged";
// Create a client
const client = createAzureManagedClient(
"Endpoint=https://myservice.durabletask.io;Authentication=DefaultAzure;TaskHub=myTaskHub",
);
// Create a worker
const worker = createAzureManagedWorkerBuilder(
"Endpoint=https://myservice.durabletask.io;Authentication=DefaultAzure;TaskHub=myTaskHub",
)
.addOrchestrator(myOrchestrator)
.addActivity(myActivity)
.build();
await worker.start();Via Explicit Parameters
import { DefaultAzureCredential } from "@azure/identity";
import { createAzureManagedClient, createAzureManagedWorkerBuilder } from "@microsoft/durabletask-js-azuremanaged";
const credential = new DefaultAzureCredential();
// Create a client
const client = createAzureManagedClient("https://myservice.durabletask.io", "myTaskHub", credential);
// Create a worker
const worker = createAzureManagedWorkerBuilder("https://myservice.durabletask.io", "myTaskHub", credential)
.addOrchestrator(myOrchestrator)
.addActivity(myActivity)
.build();
await worker.start();Supported Authentication Types
The connection string Authentication parameter supports the following values:
DefaultAzure- UsesDefaultAzureCredentialManagedIdentity- UsesManagedIdentityCredentialWorkloadIdentity- UsesWorkloadIdentityCredentialEnvironment- UsesEnvironmentCredentialAzureCli- UsesAzureCliCredentialAzurePowerShell- UsesAzurePowerShellCredentialVisualStudioCode- UsesVisualStudioCodeCredentialInteractiveBrowser- UsesInteractiveBrowserCredentialNone- No authentication (for local development/testing)
Connection String Format
Endpoint=<endpoint>;Authentication=<auth-type>;TaskHub=<task-hub-name>[;ClientID=<client-id>][;TenantId=<tenant-id>]API Reference
Classes
DurableTaskAzureManagedConnectionString- Parses connection stringsDurableTaskAzureManagedClientOptions- Client configurationDurableTaskAzureManagedWorkerOptions- Worker configurationDurableTaskAzureManagedClientBuilder- Builder for creating clientsDurableTaskAzureManagedWorkerBuilder- Builder for creating workersAzureManagedTaskHubGrpcClient- Client implementationAzureManagedTaskHubGrpcWorker- Worker implementationAccessTokenCache- Token caching for Azure authentication
Functions
createAzureManagedClient(connectionString)- Create a client from connection stringcreateAzureManagedClient(endpoint, taskHubName, credential)- Create a client with explicit parameterscreateAzureManagedWorkerBuilder(connectionString)- Create a worker builder from connection stringcreateAzureManagedWorkerBuilder(endpoint, taskHubName, credential)- Create a worker builder with explicit parametersgetCredentialFromAuthenticationType(connectionString)- Get credential from connection string auth type
License
MIT
