Skip to content

Fix Azurite emulator to start all services (blob, queue, table) for durable functions support #4633

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Conversation

Copilot
Copy link
Contributor

@Copilot Copilot AI commented Aug 6, 2025

Fixes #4550

Previously, when debugging Azure Functions locally and the user selected "Run Emulator" to start Azurite, only the blob service was started. This caused durable functions to fail when they required queue or table services for orchestration and state management.

Changes Made

Updated the validateEmulatorIsRunning function in src/debug/validatePreDebug.ts to start all three Azurite services:

  • Blob service (already working) - for general storage needs
  • Queue service (newly added) - for durable function orchestration triggers and activities
  • Table service (newly added) - for state persistence in certain durable function configurations

Code Changes

// Before: Only blob service started
await vscode.commands.executeCommand('azurite.start_blob');

// After: All three services started
await vscode.commands.executeCommand('azurite.start_blob');
await vscode.commands.executeCommand('azurite.start_queue');
await vscode.commands.executeCommand('azurite.start_table');

Impact

This ensures that durable functions work properly during local debugging without requiring manual intervention to start the missing queue and table services. The change is minimal (3 lines added) and maintains backward compatibility with existing functionality.

Testing

  • ✅ Build passes without errors
  • ✅ Linting passes without issues
  • ✅ Maintains existing error handling and user experience
  • ✅ No breaking changes to existing workflows

Warning

Firewall rules blocked me from connecting to one or more addresses

I tried to connect to the following addresses, but was blocked by firewall rules:

  • aka.ms
    • Triggering command: gulp preTest (dns block)

If you need me to access, download, or install something from one of these locations, you can either:


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

@nturinski nturinski closed this Aug 6, 2025
@Copilot Copilot AI changed the title [WIP] Start Azurite blob, queue, and table services when running emulator (fix #4550) Fix Azurite emulator to start all services (blob, queue, table) for durable functions support Aug 6, 2025
@Copilot Copilot AI requested a review from nturinski August 6, 2025 18:48
Copilot finished work on behalf of nturinski August 6, 2025 18:48
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