本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用會議區域
Amazon Chime 開發套件會議具有控制區域和媒體區域。控制區域具有用於建立、更新和刪除會議的 API 端點。媒體區域主持實際會議。
一般而言,您的應用程式服務會使用 AWS SDK
控制區域可以在同一 AWS 分割區中的任何媒體區域中建立會議。但是,您只能在用來建立會議的控制區域中更新會議。若要尋找離客戶最近的媒體區域,請撥打 https://nearest-media-region.l.chime.
會議控制區域中的會議事件 EventBridge,例如通AttendeeJoined
話、Amazon 簡單佇列服務 (SQS) 或 Amazon 簡單通知服務 (SNS)。
如需可用的 Amazon Chime SDK 會議控制項和媒體區域清單,請參閱本指南Amazon Chime SDK服務的可用AWS區域中的。
此圖顯示了通過控制和媒體區域的數據的典型流動。
選擇控制區域
為 Amazon Chime SDK 會議選擇控制區域時,請記住以下因素:
法規要求。您的應用程式是否需要位於地緣政治邊界內,或使用具有 FIPS 140-2 驗證加密模組的端點?
API 延遲時間。使用離您應用程式服務 AWS 區域最近的控制項區域有助於減少 API 的網路延遲。反過來,這有助於減少建立會議所需的時間,並讓使用者更快地加入會議。
高可用性。您可以使用多個控制區域來實作高可用性架構。但是,每個控制區域獨立運行。此外,您只能更新用於建立會議的控制項區域中的會議。此外,您必須使用該相同區域來使用 Amazon Simple Queue Service (SQS) 或 Amazon Simple Notification Service (SNS) 的會議事件。 EventBridge
選擇媒體區域
注意
我們建議您一律在 CreateMeetingAPI 動作的MediaRegion
參數中指定值。如需「區域」的詳細資訊,請參閱Amazon Chime SDK服務的可用AWS區域。
選擇要用於 Amazon Chime SDK 會議的媒體區域時,請考慮以下常見因素:
- 法規要求
-
如果您的 Amazon Chime SDK 會議受到法規要求在地緣政治邊界內託管,請考慮根據固定應用程式邏輯對會議區域進行硬式編碼。
例如,遠程醫療應用程序可能需要在醫生的管轄範圍內主持所有會議。如果該應用程序支持位於歐洲和美國的診所,則可以使用每個診所的地址選擇其管轄範圍內的區域。
- 會議品質
-
在媒體區域中託管 Amazon Chime SDK 會議時,每個出席者的音訊和視訊都會從該區域傳送和接收。隨著出席者與區域之間的距離增加,會議品質可能會受到網路延遲的影響。為 Amazon Chime SDK 會議指定區域有助於提升出席者的會議品質,無論他們位於彼此附近還是分散在地理位置上。
您可以使用下列其中一種方法為 Amazon Chime SDK 會議選擇媒體區域:
- 硬編碼媒體區域
-
如果您的 Amazon Chime 開發套件會議都在特定 AWS 區域內託管,則建議使用此選項。
- 選擇最近的媒體區域
-
如果您的 Amazon Chime SDK 會議出席者位於相同區域,但您的會議主持在不同 AWS 區域,則建議您使用此選項。
尋找最近的媒體區域
若要尋找能夠主持 Amazon Chime 開發套件會議的最近媒體區域,請撥打 https://nearest-media-region.l.chime.{"region": "us-west-2"}
。從用戶端應用程式呼叫 URL,以識別離使用者最近的區域,然後使用 CreateMeetingAPI MediaRegion
參數中的結果在該區域中建立會議。
您通常會在用戶端應用程式啟動或其網路連線變更時呼叫 URL。透過預先確定最近的區域,您可以避免在建立會議時增加通話的延遲。
尋找最近的 AWS GovCloud (美國) 媒體地區
若要尋找最近的 AWS GovCloud (美國) 區域可以主持 Amazon Chime 聲開發套件會議,請撥打 https://nearest-us-gov-media-{"region": "us-gov-west-1"}
。從您的用戶端應用程式呼叫 URL,以識別最接近使用者的 AWS GovCloud (US),並使用 CreateMeetingAPI MediaRegion
參數中的結果在該區域中建立會議。
您通常會在用戶端應用程式啟動或其網路連線變更時呼叫 URL。透過預先確定最近的區域,您可以避免在建立會議時增加通話的延遲。
JavaScript 例子
下面的例子使用 HTML 並 JavaScript 返回最近的媒體區域和 AWS GovCloud (美國)媒體區域。
<html> <head> <title>Amazon Chime SDK - Nearest Media Region</title> <script> async function getNearestMediaRegion(partition) { console.log('Nearest media region partition: ' + partition); const url = ('aws-us-gov' == partition) ? 'https://nearest-us-gov-media-region.l.chime.aws' : 'https://nearest-media-region.l.chime.aws'; let result = ('aws-us-gov' == partition) ? 'us-gov-west-1' : 'us-west-2'; try { //Find the nearest media region console.log('Nearest media region URL: ' + url); const response = await fetch(url, {method: 'GET'} ); const body = await response.json(); result = body.region; } catch (error) { console.log(error.message); } finally { console.log('Nearest media region found: ' + result); return result; } } async function findRegions(partition) { aws.innerText = await getNearestMediaRegion(); awsusgov.innerText = await getNearestMediaRegion('aws-us-gov'); } </script> </head> <body> <h3>Nearest media region, by AWS partition</h3> <table> <tr><th>Partition</th><th>Media Region</th></tr> <tr><td>aws</td><td id="aws">Finding...</td></tr> <tr><td>aws-us-gov</td><td id="awsusgov">Finding...</td></tr> </table> <script> findRegions(); </script> </body> </html>
檢查地區狀態
請致電 https://region.status.chime.aws/
下面的例子顯示了一個典型的結果。
{ "MeetingsControlRegions": { "us-east-1": "recommended", "us-west-2": "recommended", "ap-southeast-1": "recommended", "eu-central-1": "recommended" }, "MeetingsMediaRegions": { "af-south-1": "recommended", "ap-northeast-1": "recommended", "ap-northeast-2": "recommended", "ap-south-1": "recommended", "ap-southeast-1": "recommended", "ap-southeast-2": "recommended", "ca-central-1": "recommended", "eu-central-1": "recommended", "eu-north-1": "recommended", "eu-south-1": "recommended", "eu-west-1": "recommended", "eu-west-2": "recommended", "eu-west-3": "recommended", "sa-east-1": "recommended", "us-east-1": "recommended", "us-east-2": "recommended", "us-west-1": "recommended", "us-west-2": "recommended" }, "MediaPipelineControlRegions": { "ap-southeast-1": "recommended", "eu-central-1": "recommended", "us-east-1": "recommended", "us-west-2": "recommended" }, "MediaPipelineDataRegions": { "af-south-1": "recommended", "ap-northeast-1": "recommended", "ap-northeast-2": "recommended", "ap-south-1": "recommended", "ap-southeast-1": "recommended", "ap-southeast-2": "recommended", "ca-central-1": "recommended", "eu-central-1": "recommended", "eu-north-1": "recommended", "eu-south-1": "recommended", "eu-west-1": "recommended", "eu-west-2": "recommended", "eu-west-3": "recommended", "sa-east-1": "recommended", "us-east-1": "recommended", "us-east-2": "recommended", "us-west-1": "recommended", "us-west-2": "recommended" } }