技能 Azure Queue Storage SDK for Python
📦

Azure Queue Storage SDK for Python

安全

使用 Python 管理 Azure Queue Storage

使用 Azure Queue Storage SDK 實作可靠的訊息佇列和非同步處理。此技能提供生產環境就緒的模式,用於任務分配、背景作業處理和應用程式解耦通訊。

支援: Claude Codex Code(CC)
🥉 73 青銅
1

下載技能 ZIP

2

在 Claude 中上傳

前往 設定 → 功能 → 技能 → 上傳技能

3

開啟並開始使用

測試它

正在使用「Azure Queue Storage SDK for Python」。 如何傳送 JSON 訊息到佇列?

預期結果:

匯入 json 並使用 queue_client.send_message(json.dumps({'task': 'process', 'id': 123}))。佇列會將 JSON 儲存為字串。使用 json.loads(message.content) 擷取它。

正在使用「Azure Queue Storage SDK for Python」。 receive_messages 和 peek_messages 有什麼區別?

預期結果:

receive_messages 會使訊息對其他消費者不可見(鎖定它們進行處理),而 peek_messages 只會讀取它們而不影響可見性。用於監控使用 peek,用於實際處理使用 receive。

正在使用「Azure Queue Storage SDK for Python」。 如何處理重複失敗的有毒訊息?

預期結果:

檢查 message.dequeue_count - 如果超過您的閾值,請將訊息移動到死信佇列而不是重試。這可防止不良訊息的無限循環。

安全審計

安全
v1 • 2/25/2026

Prompt-only skill containing documentation and code examples for Azure Queue Storage SDK. No executable code or scripts present. Static analysis scanned 0 files with 0 suspicious patterns detected. All content is educational reference material for legitimate Azure SDK usage. No security concerns identified.

0
已掃描檔案
0
分析行數
0
發現項
1
審計總數
未發現安全問題
審計者: claude

品質評分

38
架構
100
可維護性
87
內容
50
社群
100
安全
83
規範符合性

你能建構什麼

背景任務處理

將長時間執行的任務排入佇列,由工作者程序進行非同步處理。非常適合需要卸載大量運算或批次作業的 Web 應用程式。

微服務通訊

啟用微服務之間可靠的訊息型通訊。使用佇列解耦服務,實現容錯的非同步訊息傳遞。

工作佇列管理

實作分散式任務排程和工作佇列系統。使用可見性逾時控制管理多個工作者之間的工作分配。

試試這些提示

建立佇列
請幫我使用 QueueServiceClient 建立名為 'tasks' 的 Azure Queue Storage 佇列。請展示使用 DefaultAzureCredential 的驗證設定。
使用選項傳送訊息
請展示如何傳送訊息到 'tasks' 佇列,並設定 5 分鐘的可見性逾時和 24 小時的存留時間。訊息內容應為 JSON。
可靠地處理訊息
撰寫一個函數,最多接收 10 個訊息,處理每個訊息,並在成功處理後才刪除它們。請正確處理錯誤。
非同步佇列操作
將此佇列處理程式碼轉換為使用 azure.storage.queue.aio 的非同步 QueueClient。請展示非同步上下文管理員模式。

最佳實務

  • 成功處理後務必刪除訊息,以防止重複處理和佇列混亂
  • 根據實際處理時間加上安全邊距設定可見性逾時
  • 監控 dequeue_count 以在消耗資源之前偵測和處理有毒訊息
  • 使用 peek_messages 進行監控和偵錯,而不影響訊息可見性

避免

  • 接收訊息後未在處理後刪除會導致重複工作和佇列膨脹
  • 設定的可見性逾時過短會導致訊息在處理完成前重新出現
  • 忽略 dequeue_count 會導致格式不良或無法處理的訊息無限重試
  • 在應該使用 peek_messages 時使用 receive_messages 進行監控

常見問題

Queue Storage 和 Service Bus 有什麼區別?
Queue Storage 更簡單且更具成本效益,適合基本的訊息佇列。Service Bus 提供進階功能,如主題、工作階段和交易。請使用 Queue Storage 進行簡單的任務佇列。
如何安全地處理驗證?
使用 azure-identity 的 DefaultAzureCredential。它支援多種驗證方法,並根據您的環境自動選擇正確的方法。
如果忘記刪除訊息會發生什麼事?
訊息在可見性逾時過期後會再次變得可見。它將被重新處理,可能導致重複工作。請務必在成功處理後刪除。
我可以傳送二進位資料作為訊息嗎?
可以。在建立 QueueClient 時使用 BinaryBase64EncodePolicy 和 BinaryBase64DecodePolicy 來自動處理二進位訊息。
一次可以擷取多少個訊息?
使用 receive_messages 中的 messages_per_page 參數。每批最多 32 個訊息。若要處理更大的數量,請進行多次呼叫。
此技能是否與非同步 Python 相容?
可以。從 azure.storage.queue.aio 匯入非同步用戶端。所有操作都有非同步版本(await client.send_message、async for in receive_messages)。

開發者詳情

檔案結構

📄 SKILL.md