Share via


Data Registry - Register Or Replace

使用 來向 Azure 地圖服務 帳戶註冊儲存在 Azure 記憶體帳戶中的數據。

Register API 是 HTTP PUT 要求,用來向 Azure 地圖服務 帳戶註冊 Azure 記憶體帳戶中的數據。 可以註冊的檔案大小上限為 1 GB。

這在註冊格式的 Geofences GeoJSON 集合以用於 Azure 地圖服務 Geofencing Service,或將一組 DWG 設計檔案註冊為壓縮繪圖套件,以用於 Azure 地圖服務 Creator Conversion Service 等案例中很有用。

數據登錄服務端點的範圍僅限於 Azure 地圖服務 帳戶的區域,不適用於全域 Azure 地圖服務 帳戶。

提交註冊或取代要求

RegisterReplace 要求都是長時間執行的作業,其中包含定義數據登錄詳細數據之要求主體中的 AzureBlob JSON 物件。

PUT https://{geography}.atlas.microsoft.com/dataRegistries/{udid}?api-version=2023-06-01

URI 參數

名稱 位於 必要 類型 Description
geography
path True

string

此參數會指定 Azure 地圖服務 Account 所在的位置。 有效值為 (美國東部、美國中西部、美國西部 2) 和歐盟 (北歐、西歐) 。

udid
path True

string

數據登錄的用戶數據識別碼。

Regex pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$

api-version
query True

string

Azure 地圖服務 API 的版本號碼。

要求標頭

名稱 必要 類型 Description
x-ms-client-id

string

指定哪個帳戶與 Microsoft Entra ID 安全性模型搭配使用。 它代表 Azure 地圖服務 帳戶的唯一標識符,而且可以從 Azure 地圖服務 管理平面帳戶 API 擷取。 若要在 Azure 地圖服務 中使用 Microsoft Entra ID 安全性,請參閱下列文章以取得指引。

Operation-Id

string

以 GUID 格式的作業識別碼。

Regex pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$

要求本文

名稱 類型 Description
azureBlob

AzureBlob

Azure Blob 數據登錄詳細數據。

description

string

提供給數據登錄的描述。 最大長度為 1024 個字元。

kind

DataRegistryKind

數據登錄種類。

回應

名稱 類型 Description
200 OK

DataRegistry

資源取代:已接受要求進行處理。

Headers

  • Operation-Id: string
  • Operation-Location: string
201 Created

DataRegistry

資源建立:已接受要求進行處理。

Headers

  • Operation-Id: string
  • Operation-Location: string
Other Status Codes

MapsErrorResponse

發生意外錯誤。

Headers

x-ms-error-code: string

安全性

AADToken

這些是 Microsoft Entra OAuth 2.0 流程。 與 Azure 角色型存取控制配對時,可用來控制對 #D270ECFEF875F4E1FBC7DBF506AD6A41A 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 的使用方式允許針對多個使用案例設定應用程式設定。

Type: oauth2
Flow: implicit
Authorization URL: https://login.microsoftonline.com/common/oauth2/authorize

Scopes

名稱 Description
https://atlas.microsoft.com/.default https://atlas.microsoft.com/.default

subscription-key

這是透過 Azure 管理平面透過 Azure 入口網站、PowerShell、CLI、Azure SDK 或 REST API 建立 Azure 地圖服務 資源時所佈建的共用密鑰。

使用此金鑰時,任何應用程式都會獲得存取所有 REST API 的授權。 換句話說,這些目前可視為發行帳戶的主要密鑰。

對於公開的應用程式,我們建議使用可安全地儲存此密鑰之 Azure 地圖服務 REST API 的伺服器對伺服器存取。

Type: apiKey
In: header

SAS Token

這是透過 Azure 入口網站、PowerShell、CLI、Azure SDK 或 REST API,從 Azure 地圖服務 資源上的列出 SAS 作業建立的共用存取簽章令牌。

使用此令牌時,任何應用程式都有權使用 Azure 角色型訪問控制進行存取,並更精細地控制到期、速率和區域 (特定令牌的使用) 。 換句話說,SAS 令牌可用來允許應用程式以比共用密鑰更安全的方式來控制存取。

對於公開的應用程式,我們建議在 地圖帳戶資源 上設定允許的來源特定清單,以限制轉譯濫用,並定期更新 SAS 令牌。

Type: apiKey
In: header

範例

Register or replace a udid

Sample Request

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"
  }
}

Sample Response

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
AzureBlob

Azure Blob 數據登錄詳細數據。

DataFormat

用於驗證之已上傳內容的數據格式。

DataRegistry

Azure 地圖服務 中的數據登錄。

DataRegistryKind

數據登錄種類。

LongRunningOperationStatus

長時間執行的作業狀態。

MapsErrorDetail

錯誤詳細數據。

MapsErrorResponse

Azure 地圖服務 API 的常見錯誤回應,以傳回失敗作業的錯誤詳細數據。

MapsInnerError

物件,包含比目前對象有關錯誤的更特定資訊。

AzureBlob

Azure Blob 數據登錄詳細數據。

名稱 類型 Description
blobUrl

string

Blob URL 包含所註冊檔案的路徑。

contentMD5

string

用於數據驗證的內容 MD5 內容。

dataFormat

DataFormat

用於驗證之已上傳內容的數據格式。

linkedResource

string

Azure 地圖服務 帳戶中的數據存放區標識符。

msiClientId

string

使用者指派受控識別的用戶端標識碼。 如果未提供,請使用系統指派的受控識別。

sizeInBytes

integer

以位元組為單位的內容大小。

DataFormat

用於驗證之已上傳內容的數據格式。

名稱 類型 Description
geojson

string

GeoJSON 是以 JSON 為基礎的地理空間數據交換格式。

zip

string

壓縮的數據格式。

DataRegistry

Azure 地圖服務 中的數據登錄。

名稱 類型 Description
azureBlob

AzureBlob

Azure Blob 數據登錄詳細數據。

description

string

提供給數據登錄的描述。 最大長度為 1024 個字元。

error

MapsErrorDetail

錯誤詳細數據。

kind

DataRegistryKind

數據登錄種類。

status

LongRunningOperationStatus

長時間執行的作業狀態。

udid

string

數據登錄的用戶數據識別碼。

DataRegistryKind

數據登錄種類。

名稱 類型 Description
AzureBlob

string

Azure Blob

LongRunningOperationStatus

長時間執行的作業狀態。

名稱 類型 Description
Completed

string

要求已順利完成。

Failed

string

要求有一或多個失敗。

Running

string

要求目前正在處理。

MapsErrorDetail

錯誤詳細數據。

名稱 類型 Description
code

string

其中一組伺服器定義的錯誤碼。

details

MapsErrorDetail[]

導致此錯誤之特定錯誤的詳細數據陣列。

innererror

MapsInnerError

物件,包含比目前對象有關錯誤的更特定資訊。

message

string

人類看得懂的錯誤表示法。

target

string

錯誤的目標。

MapsErrorResponse

Azure 地圖服務 API 的常見錯誤回應,以傳回失敗作業的錯誤詳細數據。

名稱 類型 Description
error

MapsErrorDetail

錯誤詳細數據。

MapsInnerError

物件,包含比目前對象有關錯誤的更特定資訊。

名稱 類型 Description
code

string

錯誤碼。

innererror

MapsInnerError

物件,包含比目前對象有關錯誤的更特定資訊。