在中斷聯機的環境中使用 Docker 容器
容器可讓您在自己的環境中執行 Azure AI 服務 API,而且非常適合您的特定安全性和資料控管需求。 已中斷連線的容器可讓您使用與因特網中斷連線的其中數個 API。 目前,可以透過下列方式執行下列容器:
嘗試在離線環境中執行 Docker 容器之前,請確定您知道成功下載和使用容器的步驟。 例如:
- 主電腦需求和建議。
- 您將用來下載容器的 Docker
pull
命令。 - 如何驗證容器是否正在執行。
- 如何在容器的端點執行之後,將查詢傳送至該端點。
要求在中斷連線的環境中使用容器的存取權
填寫並提交 要求表單 ,以要求存取與因特網中斷聯機的容器。
該表格需要有關您本身、您的公司,以及您將會使用該容器之使用者情節的資訊。 提交表單之後,Azure AI 服務小組會在 10 個工作天內進行審核,並以電子郵件將做出的決定傳送給您。
重要
- 在表單上,您必須使用與 Azure 訂用帳戶識別碼相關聯的電子郵件地址。
- 您用來執行容器的 Azure 資源,必須使用已核准的 Azure 訂用帳戶識別碼來建立。
- 檢查電子郵件 (收件匣和垃圾郵件資料夾),以取得 Microsoft 應用程式狀態的更新。
經過核准之後,您將能在從 Microsoft Container Registry (MCR) 下載容器之後執行容器,稍後將在本文中加以說明。
如果您的 Azure 訂用帳戶尚未核准,您將無法執行容器。
存取權限於符合下列需求的客戶:
- 您的組織應識別為具有Microsoft的策略性客戶或合作夥伴。
- 中斷連線的容器預期會完全離線執行,因此您的使用案例必須符合下列其中一個或類似需求:
- 與網際網路零連線的環境或裝置。
- 偶爾可存取網際網路的遠端位置。
- 嚴格規定不得將任何類型的資料傳回到雲端的組織。
- 應用程式已依照指示完成 - 請密切注意整個應用程式中提供的指引,以確保您提供核准所需的所有必要資訊。
購買已中斷連線容器的承諾用量層定價方案
建立新資源
登入 Azure 入口網站,然後選取 [為上面所列的其中一個適用的 Azure AI 服務建立新的資源]。
輸入適用的資訊以建立您的資源。 請務必選取 [承諾用量層已中斷連線的容器] 作為定價層。
注意
- 如果您已獲得Microsoft核准,您只會看到購買承諾用量層的選項。
- 定價詳細數據僅供範例使用。
選取頁面底部的 [檢閱 + 建立]。 檢閱資訊,然後選取 [建立]。
設定中斷連線使用的容器
如需下載和設定容器以中斷連線使用的步驟,請參閱下列文件:
語音服務
語言服務
Kubernetes 部署中的環境變數名稱
一些 Azure AI 容器,例如翻譯工具,要求使用者在執行容器時傳遞包含冒號 (:
) 的環境變數名稱。 使用 Docker 時這可運作,但 Kubernetes 不接受環境變數名稱中的冒號。
若要解決此問題,可以在部署至 Kubernetes 時將冒號取代為雙底線字元 (__
)。 請參閱以下環境變數名稱的可接受格式範例:
env:
- name: Mounts__License
value: "/license"
- name: Mounts__Output
value: "/output"
此範例取代 docker run 命令中 Mounts:License
和 Mounts:Output
環境變數名稱的預設格式。
容器映像和授權更新
容器授權檔案是用於解密每個容器映像內特定檔案的金鑰。 如果這些加密檔案的更新發生在新的容器映像內,則您擁有的授權檔案可能無法啟動容器,即使它適用於以前版本的容器映像。 若要避免此問題,建議您從 mcr.microsoft.com 提取新映像版本之後,再從 Azure 入口網站中所提供的容器資源端點下載新的授權檔案。
若要下載新的授權檔案,您可以將 DownloadLicense=True
以及授權掛接、API 金鑰和計費端點一起新增至 Docker 執行命令。 如需詳細指示,請參閱容器的文件。
使用量記錄
當您在已中斷連線的環境中操作 Docker 容器時,容器會將使用量記錄寫入至已在其中收集它們一段時間的磁碟區。 您也可以呼叫 REST 端點,以產生服務使用量的相關報告。
用於儲存記錄的引數
在已中斷連線的環境中執行時,輸出掛接必須可供容器使用,才能儲存使用量記錄。 例如,您會在 -v /host/output:{OUTPUT_PATH}
下列範例中包含 和 Mounts:Output={OUTPUT_PATH}
,並將 {OUTPUT_PATH}
取代為將儲存記錄的路徑:
docker run -v /host/output:{OUTPUT_PATH} ... <image> ... Mounts:Output={OUTPUT_PATH}
使用容器端點取得記錄
容器提供兩個端點來傳回其使用量的相關記錄。
取得所有記錄
下列端點會提供報告,摘要摘要所掛接計費記錄目錄中收集的所有使用量。
https://<service>/records/usage-logs/
它會傳回類似下列範例的 JSON。
{
"apiType": "noop",
"serviceName": "noop",
"meters": [
{
"name": "Sample.Meter",
"quantity": 253
}
]
}
取得特定月份的記錄
下列端點會提供報告,摘要特定月份和年份的使用量。
https://<service>/records/usage-logs/{MONTH}/{YEAR}
它會傳回類似下列範例的 JSON 回應:
{
"apiType": "string",
"serviceName": "string",
"meters": [
{
"name": "string",
"quantity": 253
}
]
}
購買承諾方案以在中斷連線的環境中使用容器
已中斷連線容器的承諾用量方案具有行事歷年度承諾用量期間。 當您購買方案時,系統會立即向您收取全價。 在承諾用量期間,您無法變更您的承諾用量方案,不過,您可以依一年剩餘日子的比例價格購買額外的單位。 您可以直到承諾用量最後一天的午夜 (UTC),結束承諾用量方案。
您可以在資源的 [承諾用量層定價] 設定中選擇不同的承諾用量方案。
結束承諾用量方案
如果決定不想要繼續購買承諾用量方案,您可以將資源的自動續約設定為 [不要自動續約]。 您的承諾用量方案將會在顯示的承諾用量結束日期到期。 在此日期之後,不會向您收取承諾用量方案的費用。 您可以繼續使用 Azure 資源來進行 API 呼叫,並依隨用隨付定價計費。 您一直持續到今年最後一天午夜(UTC),以結束中斷連線容器的承諾計劃,且不會收取次年的費用。
疑難排解
如果您在啟用輸出掛接和記錄的情況下執行容器,容器將會產生記錄檔,有助於排解在啟動或執行容器時所發生的問題。
提示
如需更多疑難排解資訊和指引,請參閱已中斷連線的容器常見問題集。