Skip to content

docs: migration guide from Azure Connectors private preview#148

Open
daviburg wants to merge 7 commits into
mainfrom
docs/migration-from-private-preview
Open

docs: migration guide from Azure Connectors private preview#148
daviburg wants to merge 7 commits into
mainfrom
docs/migration-from-private-preview

Conversation

@daviburg
Copy link
Copy Markdown
Member

@daviburg daviburg commented May 14, 2026

Adds a migration guide for developers who used the \Azure/Connectors\ private preview (circa 2021-2022), explaining how the current SDK differs.

What this adds

A new \docs/migration-from-private-preview.md\ covering:

  • Two independent projects (not a continuation)
  • Connection backend: Azure API Connections vs Connector Namespace (\Microsoft.Web/connectorGateways)
  • Connection setup workflow (VS Code extension vs REST API / az rest)
  • Client instantiation patterns (static Create() vs constructor + TokenCredential)
  • Auth model (opaque key vs Azure.Core TokenCredential)
  • Azure SDK design guidelines compliance (AsyncPageable, ClientOptions, RequestFailedException)
  • Code generation (AutoRest V2 vs internal CodefulSdkGenerator)
  • Package distribution (private per-connector packages vs single public package)
  • TypeScript/Node.js support update
  • VS Code tooling (old connection extension vs LSP + upcoming management extension)
  • Trigger support (none vs Connector Namespace polling triggers with ConnectorTrigger binding)

Comment thread docs/migration-from-private-preview.md Outdated
Comment thread docs/migration-from-private-preview.md Outdated
@daviburg daviburg self-assigned this May 14, 2026
Comment thread docs/migration-from-private-preview.md Outdated
@@ -0,0 +1,411 @@
# Migrating from Azure Connectors Private Preview

> This guide is for developers who used the original `Azure/Connectors` private preview
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Drop 'original' - still suggests a lineage.

Comment thread docs/migration-from-private-preview.md Outdated
| Dimension | Private Preview | Current SDK |
|-----------|-----------------|-------------|
| Connection backend | Azure API Connections (`Microsoft.Web/connections`) | Connector Gateway (`Microsoft.Web/connectorGateways`) |
| Connection setup | VS Code extension (`vscode-azureAPIConnections`) | `az rest` commands + OAuth consent |
Copy link
Copy Markdown
Member Author

@daviburg daviburg May 14, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

VS Code extension (distinct from the SDK LSP) and portal support are both in the works for the Connector Namespace and contained connections management experience. These, az rest commands and the agent SKILL.md in this repo are all based on the same underlying REST API.

Comment thread docs/migration-from-private-preview.md Outdated

| Dimension | Private Preview | Current SDK |
|-----------|-----------------|-------------|
| Connection backend | Azure API Connections (`Microsoft.Web/connections`) | Connector Gateway (`Microsoft.Web/connectorGateways`) |
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Although the namespace is Microsoft.Web/connectorGateways, the new service brand name is Connector Namespace, not Connector Gateway.

daviburg added 2 commits May 14, 2026 15:31
…s, trigger comparison

- Drop 'original' from intro (avoids implying lineage)
- Rebrand 'Connector Gateway' to 'Connector Namespace' (service brand name)
- VS Code extension and portal for connection management both in progress
- Add Trigger Support section (private preview had none; current SDK has
  Connector Namespace polling triggers with [ConnectorTrigger] binding)
- Add trigger row to comparison table
Private preview did not follow Azure SDK guidelines (static factories,
simple list pagination, legacy ms-rest-js). Current SDK is built on
Azure.Core: AsyncPageable<T>, ClientOptions, RequestFailedException,
model factories, extensible enums.
@daviburg daviburg marked this pull request as ready for review May 14, 2026 22:44
@daviburg daviburg requested a review from a team as a code owner May 14, 2026 22:44
Copilot AI review requested due to automatic review settings May 14, 2026 22:44
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Note

Copilot was unable to run its full agentic suite in this review.

Adds a migration guide to help developers move from the 2021–2022 Azure/Connectors private preview to the current Connectors SDK, highlighting infrastructure, auth, setup, and API/namespace differences.

Changes:

  • Adds a new end-to-end migration document covering connection backend differences and provisioning steps.
  • Documents updated client instantiation patterns for .NET and TypeScript/Node.js (TokenCredential/TokenProvider-based).
  • Summarizes tooling changes (VS Code extension → REST/LSP/skills) and includes a renames table.

Comment on lines +24 to +37
| Dimension | Private Preview | Current SDK |
|-----------|-----------------|-------------|
| Connection backend | Azure API Connections (`Microsoft.Web/connections`) | Connector Namespace (`Microsoft.Web/connectorGateways`) |
| Connection setup | VS Code extension (`vscode-azureAPIConnections`) | REST API (`az rest`, VS Code extension, portal — all planned) |
| Connection identity passed to client | Opaque connection string | Connection runtime URL |
| C# client creation | `MicrosoftTeamsConnector.Create("<key>")` | `new TeamsClient(new Uri(runtimeUrl))` |
| TypeScript client creation | `createMicrosoftTeamsConnector("<key>")` | `new TeamsClient(runtimeUrl, tokenProvider)` |
| Auth in app code | None — key embedded auth | `Azure.Core.TokenCredential` |
| C# packages | Per-connector on GitHub Package Registry (private) | Single `Azure.Connectors.Sdk` on NuGet.org |
| TypeScript packages | Per-connector on GitHub Package Registry (private) | Single `@azure/connectors` on npm |
| Code generation | AutoRest V2, user-runnable | Internal `CodefulSdkGenerator`, not user-facing |
| Azure SDK guidelines | Not followed | Follows [Azure SDK design guidelines](https://azure.github.io/azure-sdk/dotnet_introduction.html) |
| VS Code tooling | Connection management extension | LSP server for IntelliSense; connection management extension and portal in progress |
| Trigger support | None | Connector Namespace polling triggers with `[ConnectorTrigger]` Azure Functions binding |
Comment thread docs/migration-from-private-preview.md Outdated

For the step-by-step procedure including access policies and trigger setup, see
[docs/connection-setup.md](connection-setup.md) and the
[Connection Setup Skill](.github/skills/connection-setup/SKILL.md).
Comment thread docs/migration-from-private-preview.md Outdated
Comment on lines +171 to +177
// Defaults to ManagedIdentityCredential (system-assigned) — correct for Azure-hosted apps
using var teamsClient = new TeamsClient(new Uri(connectionRuntimeUrl));

// For local development, pass AzureCliCredential explicitly
using var teamsClient = new TeamsClient(
new Uri(connectionRuntimeUrl),
new AzureCliCredential());
Comment on lines +48 to +49
The current SDK introduces a **completely separate** resource type: the **Connector Namespace**
(`Microsoft.Web/connectorGateways`). These are not a renaming or evolution of API Connections.
- Drop remaining 'original' from Two Independent Projects section
- Fix 'all planned' wording: az rest is available, extension/portal in progress
- Fix Connection Setup Skill relative link (was resolving to docs/.github/)
- Split duplicate teamsClient declaration into two compilable code blocks
- Add missing 'using Microsoft.Extensions.Logging' in trigger example
- Update PR description to use Connector Namespace terminology
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants