本文說明 Azure 通訊服務 API 和可能解決方式的限制。
節流模式和架構
當您達到服務限制時,您會收到 HTTP 狀態代碼 429 (要求太多)。 一般而言,請遵循下列最佳節流做法:
- 減少每個要求的作業數目。
- 減少通話的頻率。
- 避免立即做出重試,因為所有的要求都會納入使用量限制的計算。
請在Azure 架構檔中的節流模式文件中,查找更多有關如何設置服務架構以應對節流和限制的一般指導。 若要增加節流限制,請向 Azure 支援提出要求。
- 開啟 Azure 入口網站 並登入。
- 選取 [說明 + 支援]。
- 選取 [建立新的支援要求]。
- 在 [ 描述問題] 文本框中,輸入 Technical,然後選取 [Go]。
- 從 [ 選取服務] 下拉功能表中,選取 [服務與訂用帳戶限制],然後選取 [ 下一步]。
- 在 [問題 描述] 中,選擇 [ 問題類型]、[ 訂用帳戶] 和 [ 配額類型 ] 值,然後選取 [ 下一步]。
- 如果有的話,請檢閱任何建議的解決方案,然後選取 [ 下一步]。
- 視需要新增其他詳細數據,然後選取 [ 下一步]。
- 在 [檢閱 + 建立] 中,檢查資訊、視需要進行變更,然後選取 [ 建立]。
請遵循步驟向 Azure 支援提出要求。
取得門號
取得電話號碼之前,請確定您的訂用帳戶符合 地理和訂用帳戶 需求。 否則,您無法購買一組門號 (電話號碼)。 下列限制適用於透過電話號碼 SDK 和 Azure 入口網站中來購買門號 (電話號碼)。
| 作業 | Scope | 時間範圍 | 限制 (要求數目) |
|---|---|---|---|
| 購買門號 (電話號碼) | Azure 租用戶 | - | 1 |
| 搜尋門號 (電話號碼) | Azure 租用戶 | 一週 | 5 |
要採取的動作
若要增加號碼購買限制,請向 Azure 支援提出要求。
- 開啟 Azure 入口網站 並登入。
- 選取 [說明 + 支援]。
- 選取 [建立新的支援要求]。
- 在 [ 描述問題] 文本框中,輸入 Technical,然後選取 [Go]。
- 從 [ 選取服務] 下拉功能表中,選取 [服務與訂用帳戶限制],然後選取 [ 下一步]。
- 在 [問題 描述] 中,選擇 [ 問題類型]、[ 訂用帳戶] 和 [ 配額類型 ] 值,然後選取 [ 下一步]。
- 如果可用,請檢閱任何建議的解決方案,然後選取 [ 下一步]。
- 視需要新增更多詳細數據,然後選取 [ 下一步]。
- 在 [檢閱 + 建立] 中檢查資訊、視需要進行變更,然後選取 [ 建立]。
身分識別
| 作業 | 時間範圍 (秒) | 限制 (要求數目) |
|---|---|---|
| 建立身分識別 | 30 | 1,000 |
| 刪除身分識別 | 30 | 500 |
| 核發存取權杖 | 30 | 1,000 |
| 撤銷存取權杖 | 30 | 500 |
createUserAndToken |
30 | 1,000 |
exchangeTokens |
30 | 500 |
要採取的動作
建議您在建立聊天對話或開始通話之前先取得身分識別與權杖。 例如,在網頁載入或應用程式啟動時執行此工作。
如需詳細資訊,請參閱 向 Azure 通訊服務驗證。
SMS
當您傳送或接收大量訊息時,可能會收到 429 錯誤。 此錯誤表示您即將達到服務限制。 您的訊息會排入佇列,並在要求數目低於閾值之後傳送。
SMS 的速率限制:
| 作業 | 數字類型 | Scope | 時間範圍 | 限制 (要求數目) | 每分鐘的訊息單位 |
|---|---|---|---|---|---|
| 傳送訊息 | 免付費電話 | 每個號碼 | 六十 | 200 | 200 |
| 傳送訊息 | 簡短代碼 | 每個號碼 | 六十 | 六千 | 六千 |
| 傳送訊息 | 英數字元傳送者識別碼 | 每個資源 | 六十 | 600 | 600 |
要採取的動作
如果您有超過速率限制的需求,請向 Azure 支援 提交要求,以啟用更高的輸送量。
如需 SMS SDK 和服務的詳細資訊,請參閱 SMS SDK 概觀 或 SMS 常見問題。
您可傳送有限數量的電子郵件訊息。 如果您超過訂用帳戶 的電子郵件速率限制 ,則會拒絕您的要求。 您可以在稍候再試時間經過後,再次嘗試這些要求。 視需要要求提高傳送數量限制,以在達到限制之前採取動作。
Azure 通訊服務電子郵件服務的設計目的是支援高輸送量。 不過,服務會在初期設定速率限制以協助客戶順利上線,並避免在切換至新電子郵件服務時可能發生的部分問題。
建議您在兩到四週的期間內,使用 Azure 通訊服務電子郵件逐步增加電子郵件數量,並密切監視電子郵件的傳遞狀態。 這種漸進式增加可讓協力廠商電子郵件服務提供者調整以因應您網域電子郵件流量的 IP 變更。 漸進式變更可讓您有時間保護寄件者信譽,並維護電子郵件傳遞的可靠性。
Azure 通訊服務電子郵件服務可支援每小時高達 100 萬到 200 萬封訊息的高數量。 可否啟用高輸送量取決於多項因素,包括:
- 客戶峰值流量
- 商務需求
- 管理失敗率的能力
- 網域信譽
失敗率需求
若要啟用高電子郵件配額,您的電子郵件失敗率必須低於百分之一 (1%)。 如果失敗率高,您必須先解決問題,再提出配額增加要求。 客戶預期要主動監視其失敗率。
如果失敗率在配額增加後上升,Azure 通訊服務會連絡客戶立即採取行動,並提供解決時間表。 在極端情況下,如果未在指定的時間表內控制失敗率,Azure 通訊服務可能會降低或暫止服務,直到問題解決為止。
相關文章
Azure 通訊服務提供豐富的記錄與分析,以協助監視與管理失敗率。 如需詳細資訊,請參閱下列文章:
- 改善 Azure 通訊服務電子郵件中的寄件人信譽。
- Email Insights。
- 透過 Azure 監視器中的診斷設定啟用記錄。
- 處理電子郵件事件。
- 使用管理用戶端程式庫管理 Azure 通訊服務中的網域阻擋清單。
附註
若要要求更高的限制,請遵循 電子郵件網域配額增加中的指示。 較高的配額僅適用於已驗證的自訂網域,不適用於 Azure 受控網域。
電子郵件的速率限制
| 作業 | Scope | 時間範圍 (分鐘) | 限制 (電子郵件數目) | 可用的限制較高 |
|---|---|---|---|---|
| 傳送電子郵件 | 每個訂用帳戶 | 1 | 30 | 是的 |
| 傳送電子郵件 | 每個訂用帳戶 | 六十 | 100 | 是的 |
| 取得電子郵件狀態 | 每個訂用帳戶 | 1 | 六十 | 是的 |
| 取得電子郵件狀態 | 每個訂用帳戶 | 六十 | 200 | 是的 |
下表列出 Azure 受控網域的限制。
| 作業 | Scope | 時間範圍 (分鐘) | 限制 (電子郵件數目) | 可用的限制較高 |
|---|---|---|---|---|
| 傳送電子郵件 | 每個訂用帳戶 | 1 | 5 | 否 |
| 傳送電子郵件 | 每個訂用帳戶 | 六十 | 10 | 否 |
| 取得電子郵件狀態 | 每個訂用帳戶 | 1 | 10 | 否 |
| 取得電子郵件狀態 | 每個訂用帳戶 | 六十 | 20 | 否 |
電子郵件的大小限制
| 名稱 | 限制 |
|---|---|
| 電子郵件中的收件者數目 | 50 |
| 電子郵件要求大小總計 (包括附件) | 10 MB |
| 每個訂用帳戶的驗證連線數上限 | 250 |
對於所有訊息大小限制,請考慮 base64 編碼會增加訊息的大小。 您需要增加大小值,以應對訊息附件和任何其他二進位資料進行 Base64 編碼後訊息大小增加的情況。 Base64 編碼會使訊息大小增加約 33%,因此訊息大小比編碼前的訊息大小約大 33%。 例如,如果您指定訊息大小上限值大約 10 MB,您可以預期訊息大小值上限大約為 7.5 MB。
資源限制
| 名稱 | 限制 |
|---|---|
| SenderUsername/Mailfrom 每個網域的資源 | 100 |
| 連結至通訊服務資源的網域 | 100 |
傳送大於 10 MB 的附件
若要傳送最多 30 MB 的電子郵件檔附件,請提出 支援要求。
如果您需要傳送大於 30 MB 的電子郵件檔案附件,請使用下列替代解決方案。 將檔案儲存在 Azure Blob 儲存體帳戶中,並在電子郵件中包含檔案的連結。 您可以使用共用存取簽章 (SAS) 保護檔案。 SAS 提供儲存體帳戶中資源的安全委派存取權。 使用 SAS 時,您可以細微控制用戶端如何存取您的資料。
使用 Blob 儲存體帳戶的優點:
- 可處理大規模的檔案。
- 可使用 SAS 或金鑰正確管理檔案存取。
如需詳細資訊,請參閱
傳送電子郵件給超過50位收件者
如果您想要傳送電子郵件給超過50位收件者,請提出 支援要求。 不過,不支援透過 SMTP 傳送電子郵件給超過 50 位收件者。
要採取的動作
若要增加電子郵件配額,請遵循 電子郵件網域配額增加中的指示。
附註
電子郵件配額增加要求的評估與核准可能需要最多 72 小時,尤其是週五下午提出的要求。 目前不支援在 SMTP 電子郵件中增加收件者數目的配額要求。
聊天
Azure 通訊服務支援聊天。
聊天的大小限制
| 名稱 | 限制 |
|---|---|
| 電子郵件討論串中的參與者數目 | 250 |
參與者批次: CreateThread |
200 |
參與者批次: AddParticipant |
200 |
頁面大小: ListMessages |
200 |
| 訊息大小 | 28 KB |
| 每個 Azure Bot Service 的 Azure 通訊服務資源數目 | 1,000 |
聊天的速率限制
| 作業 | Scope | 每 10 秒的限制量 | 每分鐘的限制量 |
|---|---|---|---|
| 建立聊天對話串 | 依使用者 | 10 | - |
| 建立聊天對話串 | 每個資源 | - | 3000 |
| 刪除聊天對話串 | 依使用者 | 10 | - |
| 更新聊天對話串 | 每個聊天對話串 | 5 | - |
| 新增參與者或移除參與者 | 每個聊天對話串 | 10 | 30 |
| 新增參與者 | 每個資源 | - | 3000 |
| 取得聊天對話串或列出聊天對話串 | 依使用者 | 50 | - |
| 取得聊天訊息 | 每個使用者,每個聊天對話串 | 50 | - |
| 取得聊天訊息 | 每個聊天對話串 | 250 | - |
| 列出聊天訊息 | 每個使用者,每個聊天對話串 | 50 | 200 |
| 列出聊天訊息 | 每個聊天對話串 | 250 | 400 |
| 取得讀取收據 (限制 20 名參與者) | 每個使用者,每個聊天對話串 | 5 | - |
| 取得讀取收據 (限制 20 名參與者) | 每個聊天對話串 | 100 | - |
| 列出聊天對話串參與者 | 每個使用者,每個聊天對話串 | 10 | - |
| 列出聊天對話串參與者 | 每個聊天對話串 | 250 | - |
| 傳送訊息、更新訊息或刪除訊息 | 每個聊天對話串 | 10 | 30 |
| 傳送讀取回條 | 每個使用者,每個聊天對話串 | 10 | 30 |
| 傳送輸入指標 | 每個使用者,每個聊天對話串 | 5 | 15 |
| 傳送輸入指標 | 每個聊天對話串 | 10 | 30 |
附註
超過 20 名參與者的聊天對話串不支援讀取收據和輸入指標。
聊天儲存體
Azure 通訊服務會根據您在建立聊天對話時所設定的保留原則來儲存聊天訊息。
您可以透過 建立聊天對話 API 上的保留原則,選擇無限期訊息保留或自動刪除 30 到 90 天。 或者,您可以選擇不要在聊天對話串上設定保留原則。
如果您有嚴格的合規性需求,建議您使用 刪除聊天對話 API 來刪除聊天線程。 除非您特別變更該對話串的原則,否則在新的保留原則之前建立的任何對話串都不受影響。
附註
如果您不小心刪除訊息,系統無法將其復原。 如果您在保留原則刪除聊天對話之後才提交針對該聊天對話的支援要求,則無法加以擷取。 該對話的相關資訊已無法提供。 如有需要,請在建立天對話後的 30 天期限視窗內儘快開立支援要求,以便我們協助您。
語音和視訊通話
Azure 通訊服務支援語音與視訊通話。
PSTN 通話限制
| 名稱 | Scope | 限制 |
|---|---|---|
| 撥出並行通話的預設數目 | 每個號碼 | 2 |
附註
輸入並行呼叫沒有限制。 您也可以將要求提交至 Azure 支援 ,以增加輸出並行呼叫的限制。 我們的審查小組會檢閱所有要求。
通話最大限制量
| 名稱 | 限制 |
|---|---|
| 參與者數 | 350 |
通話 SDK 串流支援
Azure 通訊服務的通話 SDK 支援下列串流設定:
| 限制 | 網路 | Windows/Android/iOS |
|---|---|---|
| 您可以同時傳送的最大傳出本機串流數目。 | 一支影片或一個螢幕畫面分享 | 一支影片 + 一個螢幕畫面分享 |
| 您可以同時轉譯呈現的最大傳入遠端串流數目。 | 九支影片 + 一個螢幕畫面分享 | 九支影片 + 一個螢幕畫面分享 |
通話 SDK 不會強制執行這些限制,但如果您超過這些限制,您的使用者可能會遇到效能降低的情況。
通話 SDK 逾時
下列逾時適用於 Azure 通訊服務通話 SDK:
| 動作 | 逾時 (秒) |
|---|---|
| 重新連線或移除參與者。 | 120 |
| 從呼叫新增或移除新形式。 (啟動或停止視訊或螢幕畫面分享。) | 40 |
| 來電轉接作業逾時。 | 六十 |
| 1:1 通話建立逾時。 | 85 |
| 群組通話建立逾時。 | 85 |
| PSTN 通話建立逾時。 | 115 |
| 將 1:1 通話升級為群組通話逾時。 | 115 |
Virtual Rooms
會議室服務的節流原則是依據資源識別碼分組要求來決定。
| API | 門檻 |
|---|---|
| 建議會議室 | 20 個要求/秒 |
| 更新會議室 | 20 個要求/秒 |
| 刪除會議室 | 20 個要求/秒 |
| 取得會議室 | 40 個要求/秒 |
| 列出會議室 | 10 個要求/秒 |
| 更新參與者 | 20 個要求/秒 |
| 列出參與者 | 40 個要求/秒 |
要採取的動作
如需語音和視訊通話 SDK 和服務的詳細資訊,請參閱 SDK 概 觀 或 SDK 和 API 中的已知問題。 您也可以將要求提交至 Azure 支援 ,以增加一些限制。 我們的審查小組會檢閱所有要求。
工作路由器
當您傳送或接收大量要求時,可能會收到 ThrottleLimitExceededException 錯誤。 此錯誤表示您即將達到服務限制。 要求失敗,直到用來處理要求的權杖貯體在一段特定時間後補足。
工作路由器的速率限制
| 作業 | Scope | 時間範圍 (秒) | 限制 (要求數目) | 逾時 (秒) |
|---|---|---|---|---|
| 一般要求 | 每個資源 | 10 | 3,000 | 5 |
| 取得作業 (路由層級節流) | 每個資源 | 10 | 332 | 5 |
| 取得佇列統計數據(路由級節流) | 每個資源 | 10 | 166 | 5 |
| 取得佇列位置 (路由層級節流) | 每個資源 | 10 | 166 | 5 |
| 取得背景工作角色 (路由層級節流) | 每個資源 | 10 | 332 | 5 |
要採取的動作
如果您需要傳送超過比率限制的訊息數量,請傳送電子郵件給我們:acs-ccap@microsoft.com。
Teams 互通性和 Microsoft Graph
藉由使用 Teams 互通性案例,您可能會使用一些 Microsoft Graph API 來建立會議。
透過 Microsoft Graph 提供的每項服務都有不同的限制。 此網頁上會更詳細地說明服務特定限制。
要採取的動作
實作錯誤處理時,請使用 HTTP 錯誤碼 429 來偵測用戶端節流。 失敗的回應包括 Retry-After 回應標頭。 使用 Retry-After 延遲來輪詢要求。 這是從節流中復原的最快方式,因為 Microsoft Graph 會在節流用戶端時持續記錄資源使用量。
您可以在 Microsoft Graph 檔中找到Microsoft Graph 節流限制的詳細資訊。