microsoft / microsoft/GitHub-Copilot-for-Azure

[Documentation] Align MS Learn Azure Functions docs with Copilot skill recipes

Open
#973 9 comments 0 reactions 1 assignee Claimed by @paulyuk View on GitHub
skills
Dominant language
Python
Stars
250
Forks
204
Avg merge
1d 12h
Merged PRs (30d)
67

Description

# Overview

This issue tracks documentation gaps between our Azure Functions trigger/binding skill recipes and the corresponding Microsoft Learn documentation. Our recipes include production-ready patterns (UAMI authentication, health checks, error handling) that would benefit the broader developer community if added to the official docs.

## Background

During PR #934, we identified that our skill recipes contain patterns not present in MS Learn:
- **User-Assigned Managed Identity (UAMI) app settings** - passwordless authentication configuration
- **Health check endpoints** - production monitoring patterns
- **Batch processing patterns** - dual trigger+output binding examples
- **Error handling** - multi-level try/catch patterns

## Action Items

Since MicrosoftDocs/azure-docs has GitHub Issues disabled, we need to submit PRs directly. Here's the checklist:

### Critical (UAMI Patterns)

- [ ] **Event Hubs Trigger** - [functions-bindings-event-hubs-trigger.md](https://github.com/MicrosoftDocs/azure-docs/blob/main/articles/azure-functions/functions-bindings-event-hubs-trigger.md)
- Add: `EventHubConnection__fullyQualifiedNamespace`, `__credential`, `__clientId`
- Add: Batch processing with `cardinality=MANY`

- [ ] **Service Bus Trigger** - [functions-bindings-service-bus-trigger.md](https://github.com/MicrosoftDocs/azure-docs/blob/main/articles/azure-functions/functions-bindings-service-bus-trigger.md)
- Add: `ServiceBusConnection__fullyQualifiedNamespace`, `__credential`, `__clientId`
- Add: Message metadata access example

- [ ] **Cosmos DB Trigger** - [functions-bindings-cosmosdb-v2-trigger.md](https://github.com/MicrosoftDocs/azure-docs/blob/main/articles/azure-functions/functions-bindings-cosmosdb-v2-trigger.md)
- Add: `COSMOS_CONNECTION__accountEndpoint`, `__credential`, `__clientId`
- Add: `create_lease_container_if_not_exists` example

- [ ] **Blob Trigger (EventGrid)** - [functions-event-grid-blob-trigger.md](https://github.com/MicrosoftDocs/azure-docs/blob/main/articles/azure-functions/functions-event-grid-blob-trigger.md)
- Add: `STORAGE__blobServiceUri`, `__credential`, `__clientId`
- Add: Idempotency check pattern

- [ ] **SQL Trigger** - [functions-bindings-azure-sql-trigger.md](https://github.com/MicrosoftDocs/azure-docs/blob/main/articles/azure-functions/functions-bindings-azure-sql-trigger.md)
- Add: Model class deserialization example
- Add: Error handling pattern

### Nice-to-Have

- [ ] **Timer Trigger** - [functions-bindings-timer.md](https://github.com/MicrosoftDocs/azure-docs/blob/main/articles/azure-functions/functions-bindings-timer.md)
- Add: Health endpoint showing schedule
- Add: `timer.past_due` check example

- [ ] **Durable Functions** - [durable-functions-orchestrations.md](https://github.com/MicrosoftDocs/azure-docs/blob/main/articles/azure-functions/durable/durable-functions-orchestrations.md)
- Enhanced fan-out/fan-in patterns

### Not Applicable

- **MCP Recipe** - No Learn equivalent exists (MCP is an emerging AI standard)

## Example UAMI Configuration

The following pattern should be documented across all trigger bindings:

```json
{
"__fullyQualifiedNamespace": ".servicebus.windows.net",
"__credential": "managedidentity",
"__clientId": ""
}
```

Or for Cosmos DB:
```json
{
"__accountEndpoint": "https://.documents.azure.com:443/",
"__credential": "managedidentity",
"__clientId": ""
}
```

## Related PRs

- #934 - Introduced the composable recipe architecture with these patterns
- PRs to be filed against MicrosoftDocs/azure-docs (see checklist above)

## Labels

/label documentation
/label azure-functions

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.