Token导航 LogoToken导航TokenDH.com
云服务external-servicegithub未标认证来源可访问许可证需确认审计异常

azure-service-busAzure service BUS 部署

Agent Skill

用于辅助云资源、部署、容器、基础设施和运维自动化任务。它适合让 Agent 检查配置、整理部署步骤、分析资源状态、生成排障思路或辅助云服务接入。使用时需要明确目标环境、账号权限、区域和资源组,区分本地测试与生产操作;涉及删除资源、重启服务、修改网络或权限配置时,应先确认影响范围。

总安装

636

周安装

26

GitHub Stars

12

下载量

206
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:azure-service-bus(Azure service BUS 部署)
来源仓库:https://github.com/claude-dev-suite/claude-dev-suite
仓库路径:skills/azure-service-bus
安装命令:
npx skills add https://github.com/claude-dev-suite/claude-dev-suite --skill azure-service-bus
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/claude-dev-suite/claude-dev-suite --skill azure-service-bus

简介

用于辅助云资源、部署和运维自动化任务,适合检查配置、整理部署步骤或分析资源状态。

  • 可帮助生成排障思路或辅助云服务接入,适用于容器、网络和基础设施管理。
  • 使用时需明确目标环境、账号权限和资源组,区分本地测试与生产操作。
  • 涉及删除资源或修改网络配置时,应先确认影响范围,避免误操作导致服务中断。
  • azure-service-bus 属于云服务类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

Azure Service Bus Core Knowledge

Full Reference: See advanced.md for Java/Python/C# producer patterns, Java processor consumer, session consumer, and Terraform security/monitoring configurations.
Deep Knowledge: Use mcp__documentation__fetch_docs with technology: azure-service-bus for comprehensive documentation.

Quick Start (Local Emulator)

# docker-compose.yml (Azure Service Bus Emulator - preview)
services:
  servicebus:
    image: mcr.microsoft.com/azure-messaging/servicebus-emulator:latest
    ports:
      - "5672:5672"
    environment:
      - ACCEPT_EULA=Y
      - SQL_SERVER=sqlserver
    depends_on:
      - sqlserver

  sqlserver:
    image: mcr.microsoft.com/mssql/server:2022-latest
    environment:
      - ACCEPT_EULA=Y
      - SA_PASSWORD=YourStrong!Passw0rd
# Azure CLI
az servicebus namespace create --name myservicebus --resource-group mygroup
az servicebus queue create --namespace-name myservicebus --name orders
az servicebus topic create --namespace-name myservicebus --name events
az servicebus topic subscription create --namespace-name myservicebus \
  --topic-name events --name order-processor

Core Concepts

ConceptDescription
NamespaceContainer for messaging entities
QueuePoint-to-point messaging
TopicPublish-subscribe messaging
SubscriptionTopic consumer with filters
SessionOrdered message processing
Dead-letterFailed message destination

Tiers Comparison

FeatureBasicStandardPremium
QueuesYesYesYes
TopicsNoYesYes
SessionsNoYesYes
TransactionsNoYesYes
Max message size256KB256KB100MB
ThroughputSharedSharedDedicated

Producer Pattern (Node.js)

import { ServiceBusClient } from '@azure/service-bus';

const client = new ServiceBusClient(connectionString);
const sender = client.createSender('orders');

// Send single message
await sender.sendMessages({
  body: order,
  contentType: 'application/json',
  correlationId: correlationId,
  messageId: order.id,
  applicationProperties: {
    orderType: order.type,
    priority: order.priority,
  },
});

// Send batch
const batch = await sender.createMessageBatch();
for (const order of orders) {
  if (!batch.tryAddMessage({ body: order, messageId: order.id })) {
    await sender.sendMessages(batch);
    batch = await sender.createMessageBatch();
    batch.tryAddMessage({ body: order, messageId: order.id });
  }
}
await sender.sendMessages(batch);

// Schedule message
await sender.scheduleMessages(
  { body: order },
  new Date(Date.now() + 60000) // 1 minute delay
);

// Send to topic
const topicSender = client.createSender('events');
await topicSender.sendMessages({
  body: { type: 'OrderCreated', data: order },
  subject: 'orders',  // For subscription filtering
  correlationId: correlationId,
});

await sender.close();
await client.close();

Consumer Pattern (Node.js)

const receiver = client.createReceiver('orders', {
  receiveMode: 'peekLock',
  maxAutoLockRenewalDurationInMs: 300000,
});

// Process messages
const messageHandler = async (message) => {
  try {
    const order = message.body;
    await processOrder(order);
    await receiver.completeMessage(message);
  } catch (error) {
    if (message.deliveryCount >= 3) {
      await receiver.deadLetterMessage(message, {
        deadLetterReason: 'MaxRetriesExceeded',
        deadLetterErrorDescription: error.message,
      });
    } else {
      await receiver.abandonMessage(message);
    }
  }
};

const errorHandler = async (error) => {
  console.error('Error:', error);
};

receiver.subscribe({
  processMessage: messageHandler,
  processError: errorHandler,
});

// Subscription consumer with filter
const subscriptionReceiver = client.createReceiver('events', 'order-processor');

// Session consumer (ordered processing)
const sessionReceiver = await client.acceptSession('orders', 'session-1');
const messages = await sessionReceiver.receiveMessages(10);
for (const msg of messages) {
  await processMessage(msg);
  await sessionReceiver.completeMessage(msg);
}

// Dead letter consumer
const dlqReceiver = client.createReceiver('orders', {
  subQueueType: 'deadLetter',
});

Subscription Filters

# SQL filter
az servicebus topic subscription rule create \
  --namespace-name myservicebus \
  --topic-name events \
  --subscription-name high-priority \
  --name priority-filter \
  --filter-sql-expression "priority > 5"

# Correlation filter
az servicebus topic subscription rule create \
  --namespace-name myservicebus \
  --topic-name events \
  --subscription-name orders-only \
  --name order-filter \
  --correlation-filter subject=orders
// Create subscription with filter (SDK)
const adminClient = new ServiceBusAdministrationClient(connectionString);

await adminClient.createSubscription('events', 'high-priority');
await adminClient.createRule('events', 'high-priority', 'priority-filter', {
  filter: {
    sqlExpression: "priority > 5",
  },
});

Production Readiness

Security Configuration

// Managed Identity
import { DefaultAzureCredential } from '@azure/identity';

const client = new ServiceBusClient(
  'myservicebus.servicebus.windows.net',
  new DefaultAzureCredential()
);

// SAS Token
const client = new ServiceBusClient(connectionString);

Monitoring Metrics

MetricAlert Threshold
ActiveMessages> 10000
DeadletteredMessages> 0
Size> 80% of quota
ThrottledRequests> 0
ServerErrors> 0

Checklist

  • Managed Identity authentication
  • Private endpoints configured
  • Network rules (firewall)
  • Dead-letter queue handling
  • Auto-forwarding for routing
  • Duplicate detection enabled
  • Message TTL configured
  • Sessions for ordering (if needed)
  • Azure Monitor alerts
  • Diagnostic logs enabled

When NOT to Use This Skill

Use alternative messaging solutions when:

  • AWS-native architecture - SQS integrates better
  • GCP-native architecture - Use Google Pub/Sub
  • Event streaming with replay - Use Azure Event Hubs or Kafka
  • On-premise deployment - Use RabbitMQ or ActiveMQ
  • Multi-cloud strategy - Use Kafka or RabbitMQ
  • Simple pub/sub - Use Redis or NATS
  • Ultra-high throughput - Event Hubs or Kafka scale better

Anti-Patterns

Anti-PatternWhy It's BadSolution
Basic tier in productionNo topics, limited featuresUse Standard or Premium tier
No dead letter queueFailed messages lostEnable DLQ on all queues/subscriptions
Short lock durationDuplicate processingSet lock duration > processing time
No auto-delete on idleWasted resources and costSet auto-delete for temporary queues
Connection string everywhereSecurity riskUse Managed Identity
No batchingHigher latency and costBatch up to 10 messages
Peek-lock without completeMessages expire and reprocessAlways complete or abandon
Standard tier for orderingNo sessions availableUse Premium tier for sessions
Large message bodiesHigher costsUse claim check pattern with Blob Storage
No monitoringInvisible issuesEnable Azure Monitor metrics/alerts

Quick Troubleshooting

IssueLikely CauseFix
Messages not receivedWrong queue/topic name or permissionsVerify name and check RBAC/SAS
Duplicate messagesLock duration expiredIncrease lock duration or process faster
Messages in DLQMax delivery count exceededCheck processing logic, review DLQ
Access deniedMissing RBAC role or invalid SASAssign Sender/Receiver roles
Throttling errorsExceeded tier limitsUpgrade tier or reduce send rate
Lock lost exceptionProcessing time > lock durationRenew lock or increase duration
Session not availableNo sessions in queueEnable sessions on queue creation
Filter not workingWrong SQL filter syntaxTest filter, check message properties
Connection errorsNetwork issues or firewallCheck VNet, private endpoints, firewall
High costsToo many operationsUse batching, optimize polling

Reference Documentation

Deep Knowledge: Use mcp__documentation__fetch_docs with technology: azure-service-bus for comprehensive documentation.

Available topics: basics, producers, consumers, production

适合场景

01

Azure 资源规划

02

云服务升级

03

基础设施检查

04

企业云环境自动化

能力概览

能力 1

整理 Azure 服务操作流程

能力 2

提示 CLI/MCP 前置条件

能力 3

辅助云资源检查和规划

能力 4

保留官方服务来源线索

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

34.1%
按下载量换算70

Claude

30.25%
按下载量换算62

Cursor

21.4%
按下载量换算44

Gemini CLI

10.11%
按下载量换算21

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

未通过

权限和风险

external-service

该 Skill 可能调用第三方服务、云服务或外部模型 API,使用前需要确认账号、额度、数据发送范围和服务条款。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills