Data Registry - Register Or Replace
使用 向 Azure 地圖服務帳戶註冊儲存在 Azure 記憶體帳戶中的數據。
Register
API 是 HTTP PUT
要求,用來向 Azure 地圖服務帳戶註冊 Azure 記憶體帳戶中的數據。 可以註冊的檔案大小上限為 1 GB。
這在註冊格式的 GeoJSON
Geofences 集合以用於 Azure 地圖服務地理柵欄服務,或將一組 DWG 設計檔案註冊為壓縮繪圖 套件 ,以用於 Azure 地圖服務建立者 轉換服務的案例中很有用。
數據登錄服務端點的範圍僅限於 Azure 地圖服務帳戶的區域,不適用於全域 Azure 地圖服務帳戶。
提交註冊或取代要求
Register
和 Replace
要求都是長時間執行的作業,其中包含定義數據登錄詳細數據之要求主體中的 AzureBlob JSON 物件。
PUT https://{geography}.atlas.microsoft.com/dataRegistries/{udid}?api-version=2023-06-01
URI 參數
名稱 | 位於 | 必要 | 類型 | Description |
---|---|---|---|---|
geography
|
path | True |
string |
此參數會指定 Azure 地圖服務帳戶所在的位置。 有效值為 (美國東部、美國中西部、美國西部 2) 和歐盟 (北歐、西歐) 。 |
udid
|
path | True |
string |
數據登錄的用戶數據識別碼。 Regex 模式: |
api-version
|
query | True |
string |
Azure 地圖服務 API 的版本號碼。 |
要求標頭
名稱 | 必要 | 類型 | Description |
---|---|---|---|
x-ms-client-id |
string |
指定哪個帳戶與 Microsoft Entra ID 安全性模型搭配使用。 它代表 Azure 地圖服務帳戶的唯一標識碼,而且可以從 Azure 地圖服務管理平面帳戶 API 擷取。 若要在 Azure 地圖服務中使用 Microsoft 專案標識碼安全性,請參閱下列 文章 以取得指引。 |
|
Operation-Id |
string |
以 GUID 格式的作業識別碼。 Regex 模式: |
要求本文
名稱 | 類型 | Description |
---|---|---|
azureBlob |
Azure Blob 數據登錄詳細數據。 |
|
description |
string |
提供給數據登錄的描述。 最大長度為 1024 個字元。 |
kind |
數據登錄種類。 |
回應
名稱 | 類型 | Description |
---|---|---|
200 OK |
資源取代:已接受要求進行處理。 標題
|
|
201 Created |
資源建立:已接受要求進行處理。 標題
|
|
Other Status Codes |
發生意外錯誤。 標題 x-ms-error-code: string |
安全性
AADToken
這些是 Microsoft Entra OAuth 2.0 流程。 與 Azure 角色型存取控制 配對時,可用來控制 Azure 地圖服務 REST API 的存取。 Azure 角色型訪問控制可用來指定一或多個 Azure 地圖服務資源帳戶或子資源的存取權。 任何使用者、群組或服務主體都可以透過內建角色或由一或多個 Azure 地圖服務 REST API 許可權所組成的自定義角色來授與存取權。
若要實作案例,建議您檢視 驗證概念。 總而言之,此安全性定義會透過能夠針對特定 API 和範圍進行訪問控制的物件,提供將應用程式模型化 () 的解決方案。
備註
- 此安全性定義 需要使用
x-ms-client-id
標頭來指出應用程式要求存取權的 Azure 地圖服務資源。 這可以從 地圖管理 API 取得。
Authorization URL
專屬於 Azure 公用雲端實例。 主權雲端具有唯一的授權 URL,Microsoft Entra ID 設定。
* 透過 Azure 入口網站、PowerShell、CLI、Azure SDK 或 REST API,從 Azure 管理平面設定 Azure 角色型存取控制。
* 使用 Azure 地圖服務 Web SDK 可讓您針對多個使用案例設定應用程式。
- 如需Microsoft身分識別平臺的詳細資訊,請參閱 Microsoft身分識別平臺概觀。
類型:
oauth2
Flow:
implicit
授權 URL:
https://login.microsoftonline.com/common/oauth2/authorize
範圍
名稱 | Description |
---|---|
https://atlas.microsoft.com/.default | https://atlas.microsoft.com/.default |
subscription-key
這是透過 Azure 入口網站、PowerShell、CLI、Azure SDK 或 REST API 透過 Azure 管理平面建立 Azure 地圖服務資源 時所佈建的共用密鑰。
使用此金鑰時,任何應用程式都會獲得存取所有 REST API 的授權。 換句話說,這些目前可視為發行帳戶的主要密鑰。
對於公開的應用程式,我們建議使用 Azure 地圖服務 REST API 的伺服器對伺服器存取,以便安全地儲存此密鑰。
類型:
apiKey
位於:
header
SAS Token
這是透過 Azure 入口網站、PowerShell、CLI、Azure SDK 或 REST API,從 Azure 地圖服務資源 上的列出 SAS 作業建立的共用存取簽章令牌。
使用此令牌時,任何應用程式都有權使用 Azure 角色型訪問控制進行存取,並更精細地控制到期、速率和區域 (特定令牌的使用) 。 換句話說,SAS 令牌可用來允許應用程式以比共用密鑰更安全的方式來控制存取。
對於公開的應用程式,我們建議在 地圖帳戶資源 上設定允許的來源特定清單,以限制轉譯濫用,並定期更新 SAS 令牌。
類型:
apiKey
位於:
header
範例
Register or replace a udid
範例要求
PUT https://us.atlas.microsoft.com/dataRegistries/29a92cab-74af-49e7-a326-66898220aa9d?api-version=2023-06-01
{
"description": "Contoso Geofence GeoJSON",
"kind": "AzureBlob",
"azureBlob": {
"dataFormat": "geojson",
"msiClientId": "3263cad5-ed8b-4829-b72b-3d1ba556e373",
"linkedResource": "my-storage-account",
"blobUrl": "https://mystorageaccount.blob.core.windows.net/my-container/my/blob/path.json"
}
}
範例回覆
Operation-Id: 0522b4fe-0539-4c6c-ba70-e35ec865d8e2
Operation-Location: https://us.atlas.microsoft.com/dataRegistries/operations/0522b4fe-0539-4c6c-ba70-e35ec865d8e2
{
"udid": "29a92cab-74af-49e7-a326-66898220aa9d",
"description": "Contoso Geofence GeoJSON",
"kind": "AzureBlob",
"azureBlob": {
"dataFormat": "geojson",
"msiClientId": "3263cad5-ed8b-4829-b72b-3d1ba556e373",
"linkedResource": "my-storage-account",
"blobUrl": "https://mystorageaccount.blob.core.windows.net/my-container/my/blob/path.json",
"sizeInBytes": 1339
},
"status": "Running"
}
Operation-Id: 0522b4fe-0539-4c6c-ba70-e35ec865d8e2
Operation-Location: https://us.atlas.microsoft.com/dataRegistries/operations/0522b4fe-0539-4c6c-ba70-e35ec865d8e2
{
"udid": "29a92cab-74af-49e7-a326-66898220aa9d",
"description": "Contoso Geofence GeoJSON",
"kind": "AzureBlob",
"azureBlob": {
"dataFormat": "geojson",
"msiClientId": "3263cad5-ed8b-4829-b72b-3d1ba556e373",
"linkedResource": "my-storage-account",
"blobUrl": "https://mystorageaccount.blob.core.windows.net/my-container/my/blob/path.json",
"sizeInBytes": 1339
},
"status": "Running"
}
定義
名稱 | Description |
---|---|
Azure |
Azure Blob 數據登錄詳細數據。 |
Data |
用於驗證之已上傳內容的數據格式。 |
Data |
Azure 地圖服務中的數據登錄。 |
Data |
數據登錄種類。 |
Long |
長時間執行的作業狀態。 |
Maps |
錯誤詳細數據。 |
Maps |
Azure 地圖服務 API 的常見錯誤回應,可傳回失敗作業的錯誤詳細數據。 |
Maps |
物件,包含比目前對象有關錯誤的更特定資訊。 |
AzureBlob
Azure Blob 數據登錄詳細數據。
名稱 | 類型 | Description |
---|---|---|
blobUrl |
string |
Blob URL 包含所註冊檔案的路徑。 |
contentMD5 |
string |
用於數據驗證的內容 MD5 內容。 |
dataFormat |
用於驗證之已上傳內容的數據格式。 |
|
linkedResource |
string |
Azure 地圖服務帳戶中的數據存放區標識符。 |
msiClientId |
string |
使用者指派受控識別的用戶端標識碼。 如果未提供,請使用系統指派的受控識別。 |
sizeInBytes |
integer |
以位元組為單位的內容大小。 |
DataFormat
用於驗證之已上傳內容的數據格式。
名稱 | 類型 | Description |
---|---|---|
geojson |
string |
GeoJSON 是以 JSON 為基礎的地理空間數據交換格式。 |
zip |
string |
壓縮的數據格式。 |
DataRegistry
Azure 地圖服務中的數據登錄。
名稱 | 類型 | Description |
---|---|---|
azureBlob |
Azure Blob 數據登錄詳細數據。 |
|
description |
string |
提供給數據登錄的描述。 最大長度為 1024 個字元。 |
error |
錯誤詳細數據。 |
|
kind |
數據登錄種類。 |
|
status |
長時間執行的作業狀態。 |
|
udid |
string |
數據登錄的用戶數據識別碼。 |
DataRegistryKind
數據登錄種類。
名稱 | 類型 | Description |
---|---|---|
AzureBlob |
string |
Azure Blob |
LongRunningOperationStatus
長時間執行的作業狀態。
名稱 | 類型 | Description |
---|---|---|
Completed |
string |
要求已順利完成。 |
Failed |
string |
要求有一或多個失敗。 |
Running |
string |
要求目前正在處理。 |
MapsErrorDetail
錯誤詳細數據。
名稱 | 類型 | Description |
---|---|---|
code |
string |
其中一組伺服器定義的錯誤碼。 |
details |
導致此錯誤之特定錯誤的詳細數據陣列。 |
|
innererror |
物件,包含比目前對象有關錯誤的更特定資訊。 |
|
message |
string |
人類看得懂的錯誤表示法。 |
target |
string |
錯誤的目標。 |
MapsErrorResponse
Azure 地圖服務 API 的常見錯誤回應,可傳回失敗作業的錯誤詳細數據。
名稱 | 類型 | Description |
---|---|---|
error |
錯誤詳細數據。 |
MapsInnerError
物件,包含比目前對象有關錯誤的更特定資訊。
名稱 | 類型 | Description |
---|---|---|
code |
string |
錯誤碼。 |
innererror |
物件,包含比目前對象有關錯誤的更特定資訊。 |