What intermediate storage options work with Pickup Service?
Pickup Service supports multiple intermediate storage types—choose based on your infrastructure (cloud vs on-premises), reliability requirements, and existing technology stack.
Supported Storage Options
☁️ Azure Service Bus Queues (Recommended for Cloud)
Best for: Azure-hosted integrations, high-volume scenarios, cloud-native architectures
- ✅ Highly available - 99.9% SLA, automatic failover
- ✅ Scalable - handles millions of messages/day
- ✅ Secure - built-in authentication, encryption at rest/in-transit
- ✅ Dead-letter queue - automatically handles poison messages
- ✅ No infrastructure management - fully managed PaaS
Configuration: Pickup Service connects via connection string, fetches JSON Log Events from queue.
📁 File Shares (Recommended for On-Premises)
Best for: On-premises deployments, simple setups, low-medium volume
- ✅ Simple - no additional infrastructure (SMB/CIFS shares)
- ✅ Local or network - local folders, Windows file shares, NAS devices
- ✅ Auditable - files persist until Pickup Service processes them
- ✅ Debuggable - manually inspect JSON files during troubleshooting
Configuration: Integrations write JSON files to shared folder, Pickup Service monitors folder, processes files.
Pattern: \\fileserver\nodinite-logs\integration-name\*.json
🗄️ Databases (SQL Server, PostgreSQL, MySQL)
Best for: Integrations already using databases, transactional consistency requirements
- ✅ Transactional - log events committed with business transactions
- ✅ Queryable - inspect pending logs via SQL during troubleshooting
- ✅ Existing infrastructure - reuse database servers
Configuration: Integrations INSERT JSON Log Events into table, Pickup Service polls table, processes rows, deletes/archives.
Table schema:
CREATE TABLE NodiniteLogEvents (
Id INT IDENTITY PRIMARY KEY,
JsonLogEvent NVARCHAR(MAX),
CreatedDate DATETIME DEFAULT GETDATE()
)
🐰 RabbitMQ
Best for: Organizations already using RabbitMQ, multi-platform environments
- ✅ Open-source - no licensing costs
- ✅ Cross-platform - works on Linux, Windows, containers
- ✅ Reliable - message persistence, acknowledgments
- ✅ Flexible routing - exchanges, queues, bindings
Configuration: Integrations publish JSON Log Events to RabbitMQ queue, Pickup Service subscribes.
📮 Azure Storage Queues
Best for: Cost-sensitive Azure deployments, simpler than Service Bus
- ✅ Low cost - cheaper than Azure Service Bus
- ✅ Simple - basic queue functionality
- ✅ Scalable - millions of messages
- ⚠️ No dead-letter queue - less sophisticated than Service Bus
Configuration: Integrations write to Azure Storage queue, Pickup Service polls queue.
💾 MSMQ (Microsoft Message Queuing)
Best for: Legacy Windows environments, on-premises with existing MSMQ
- ✅ Windows-native - built into Windows Server
- ✅ Transactional - MSDTC support
- ⚠️ Legacy technology - prefer Azure Service Bus or RabbitMQ for new deployments
Configuration: Integrations write to MSMQ queue, Pickup Service reads from queue.
🌐 Amazon SQS
Best for: AWS-hosted integrations, multi-cloud deployments
- ✅ AWS-native - integrates with Lambda, EC2, ECS
- ✅ Scalable - unlimited messages
- ✅ Reliable - 99.9% availability SLA
Configuration: Integrations publish to SQS queue, Pickup Service polls via AWS SDK.
Choosing the Right Storage
| Scenario | Recommended Storage | Why |
|---|---|---|
| Azure Functions, Azure Logic Apps | Azure Service Bus | Native integration, highly available |
| On-premises, low-medium volume | File Shares | Simple, no additional infrastructure |
| Transactional logging with database commits | SQL Server / PostgreSQL | Consistency with business transactions |
| Existing RabbitMQ infrastructure | RabbitMQ | Reuse existing message broker |
| AWS Lambda, ECS workloads | Amazon SQS | Native AWS integration |
| Cost-sensitive Azure | Azure Storage Queues | Lower cost than Service Bus |
| Legacy Windows environments | MSMQ | Already installed on Windows Server |
Multiple Storage Types Simultaneously
Advanced: Configure multiple Pickup Service instances monitoring different storage types:
- Pickup Service #1 - Monitors Azure Service Bus queue (cloud integrations)
- Pickup Service #2 - Monitors file share (on-premises integrations)
- Pickup Service #3 - Monitors SQL Server table (database-centric integrations)
All logs centralized in Nodinite regardless of storage type.
Configuration Steps
- Choose intermediate storage - Based on infrastructure and requirements
- Install Pickup Service - On Windows Server with access to storage
- Configure Pickup Service - Set connection strings, folder paths, database credentials
- Update integration logging code - Write JSON Log Events to chosen storage
- Monitor Pickup Service - Verify logs flowing into Nodinite
Related Topics:
Pickup Service Installation Guide
Pickup Service Configuration
Asynchronous Logging Architecture
See all FAQs: Troubleshooting Overview
Next Step
Back to Custom Logging Overview