Data - Update
を使用して、データ アップロードを使用して以前にアップロードしたデータ コンテンツを更新 します。
注意
Azure Maps Data Service の廃止
Azure Maps Data Service (v1 と v2 の両方) は非推奨となり、2024 年 9 月 16 日に廃止されます。 サービスの中断を回避するには、データ サービスに対するすべての呼び出しを更新して、Azure Maps Data Registry サービスを 9/16/24 までに使用する必要があります。 詳細については、「データ レジストリの作成方法」を参照してください。
Data Update
API は、呼び出し元が以前にアップロードしたデータ コンテンツを更新できるようにする HTTP PUT
要求です。
この API は、ジオフェンスの既存のコレクションに対するジオフェンスの追加や削除などのシナリオで使用できます。 ジオフェンスは、Azure Maps Geofencing Service で使用するために、Data Upload API を使用してアップロードされます。
Update API では、既存のデータ コンテンツが置き換えられ、オーバーライドされることに注意してください。
重要
この機能を使用すると、プレビューの法律条項に同意したことになります。 詳細については、「 プレビュー補足条項 」を参照してください。
更新要求を送信する
コンテンツを更新するには、要求を PUT
使用します。 要求本文には、既存のデータを置き換える新しいデータが含まれます。 ヘッダーは Content-Type
データのコンテンツ タイプに設定され、パスには更新するデータの が udid
含まれます。
たとえば、Upload API を使用して以前にアップロードされたジオフェンスのコレクションを更新するには、要求本文に新しいジオフェンス コンテンツを配置します。 udid
アップロード API 応答で前にudid
受信したデータの へのパスに パラメーターを設定します。 ヘッダーを Content-Type
次のいずれかのメディアの種類に設定します。
application/json
application/vnd.geo+json
application/octet-stream
単純な Geofence を更新するためのサンプル要求本文を次に示します。 中心点と半径を使用して円ジオメトリとして表されます。 次のサンプルは にあります GeoJSON
。
{
"type": "FeatureCollection",
"features": [{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [-122.126986, 47.639754]
},
"properties": {
"geometryId": "001",
"radius": 500
}
}]
}
以前にアップロードされたジオフェンスの半径は 100 m でした。 上記の要求では、500m に更新されます。
Data Update API は、実行時間の長い操作を実行します。
データ更新の制限
現時点では、すべてのAzure Maps アカウントにデータ ストレージの制限があることに注意してください。 ストレージの制限に達すると、すべての新しいアップロード API 呼び出しで http エラー応答が 409 Conflict
返されます。 データ削除 API を常に使用して、古いコンテンツや未使用のコンテンツを削除し、新しいアップロード用の領域を作成できます。
PUT https://{geography}.atlas.microsoft.com/mapData/{udid}?api-version=2.0
PUT https://{geography}.atlas.microsoft.com/mapData/{udid}?api-version=2.0&description={description}
URI パラメーター
名前 | / | 必須 | 型 | 説明 |
---|---|---|---|---|
geography
|
path | True |
string |
このパラメーターは、Azure Maps Creator リソースの場所を指定します。 有効な値は、us と eu です。 |
udid
|
path | True |
string |
コンテンツの一意のデータ ID。 は |
api-version
|
query | True |
string |
Azure Maps API のバージョン番号。 |
description
|
query |
string |
アップロードに指定する説明。 |
要求ヘッダー
名前 | 必須 | 型 | 説明 |
---|---|---|---|
x-ms-client-id |
string |
Microsoft Entra ID セキュリティ モデルと組み合わせて使用するアカウントを指定します。 Azure Maps アカウントの一意の ID を表し、Azure Maps管理プレーン アカウント API から取得できます。 Azure MapsでMicrosoft Entra IDセキュリティを使用するには、ガイダンスについては、次の記事を参照してください。 |
要求本文
名前 | 型 | 説明 |
---|---|---|
UpdateContent |
object |
以前にアップロードしたコンテンツを更新または置換する新しいコンテンツ。 |
応答
名前 | 型 | 説明 |
---|---|---|
200 OK |
操作が実行されているか完了しています。 操作が成功した場合は、Resource-Location ヘッダーを使用して結果へのパスを取得します。 Headers Resource-Location: string |
|
202 Accepted |
[Request Accepted]\(要求を受け入れた\): 要求は処理のために受け入れ済みです。 状態を取得するには、Operation-Location ヘッダーの URL を使用してください。 Headers Operation-Location: string |
|
Other Status Codes |
Azure Maps アカウントでデータ ストレージの制限に達しました。 データ削除 API を常に使用して、古いコンテンツや未使用のコンテンツを削除し、新しいアップロード用の領域を作成できます。 |
|
Other Status Codes |
予期しないエラーが発生しました。 |
セキュリティ
AADToken
これらは OAuth 2.0 フロー Microsoft Entraです。 Azure ロールベースのアクセス制御と組み合わせて使用すると、Azure Maps REST API へのアクセスを制御できます。 Azure ロールベースのアクセス制御は、1 つ以上のAzure Mapsリソース アカウントまたはサブリソースへのアクセスを指定するために使用されます。 REST API をAzure Mapsするための 1 つ以上のアクセス許可で構成される組み込みロールまたはカスタム ロールを使用して、ユーザー、グループ、またはサービス プリンシパルにアクセス権を付与できます。
シナリオを実装するには、 認証の概念を表示することをお勧めします。 要約すると、このセキュリティ定義は、特定の API とスコープに対するアクセス制御が可能なオブジェクトを使用してアプリケーションをモデル化するためのソリューションを提供します。
メモ
- このセキュリティ定義では、 ヘッダーを使用して、
x-ms-client-id
アプリケーションがアクセスを要求しているリソースAzure Maps示す必要があります。 これは、 Maps 管理 API から取得できます。
は Authorization URL
、Azure パブリック クラウド インスタンスに固有です。 ソブリン クラウドには、固有の承認 URL とMicrosoft Entra ID構成があります。
* Azure ロールベースのアクセス制御は、Azure portal、PowerShell、CLI、Azure SDK、または REST API を介して Azure 管理プレーンから構成されます。
* Azure Maps Web SDK を使用すると、複数のユース ケースに対してアプリケーションを構成ベースで設定できます。
- Microsoft ID プラットフォームの詳細については、「Microsoft ID プラットフォームの概要」を参照してください。
Type:
oauth2
Flow:
implicit
Authorization URL:
https://login.microsoftonline.com/common/oauth2/authorize
Scopes
名前 | 説明 |
---|---|
https://atlas.microsoft.com/.default | https://atlas.microsoft.com/.default |
subscription-key
これは、Azure portalでAzure Maps アカウントをCreateするとき、または PowerShell、CLI、Azure SDK、または REST API を使用してプロビジョニングされる共有キーです。
このキーを使用すると、すべてのアプリケーションですべての REST API にアクセスできます。 つまり、このキーは、発行先のアカウントのマスター キーとして使用できます。
公開されているアプリケーションの場合は、機密クライアント アプリケーション のアプローチを使用して、キーを安全に格納できるように、Azure Maps REST API にアクセスすることをお勧めします。
Type:
apiKey
In:
query
SAS Token
これは、Azure portal、PowerShell、CLI、Azure SDK、または REST API を介して Azure 管理プレーンを介して、Azure Maps リソースの List SAS 操作から作成される共有アクセス署名トークンです。
このトークンを使用すると、すべてのアプリケーションが Azure ロールベースのアクセス制御を使用してアクセスし、特定のトークンに使用される有効期限、レート、およびリージョンに対するきめ細かい制御が許可されます。 言い換えると、SAS トークンを使用して、アプリケーションが共有キーよりもセキュリティで保護された方法でアクセスを制御できます。
公開されているアプリケーションの場合、 Map アカウント リソース で許可される配信元の特定のリストを構成して、レンダリングの不正使用を制限し、SAS トークンを定期的に更新することをお勧めします。
Type:
apiKey
In:
header
例
Update previously uploaded GeoJSON data containing geometries that represent a collection of geofences
Sample Request
PUT https://us.atlas.microsoft.com/mapData/25084fb7-307a-4720-8f91-7952a0b91012?api-version=2.0
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [
-122.126986,
47.639754
]
},
"properties": {
"geometryId": "001",
"radius": 500
}
}
]
}
Sample Response
Resource-Location: https://us.atlas.microsoft.com/mapData/3e36b996-f6d1-b068-0fcb-dd6b014c3447?api-version=2.0
{
"operationId": "8b1288fa-1958-4a2b-b68e-13a7i5af7d7c",
"created": "2021-04-20T22:43:14.9401559+00:00",
"status": "Succeeded"
}
Operation-Location: https://us.atlas.microsoft.com/mapData/operations/{operationId}?api-version=1.0
Access-Control-Expose-Headers: Operation-Location
{
"error": {
"code": "409 Conflict",
"message": "The data storage limit is reached on the Azure Maps account. You can always use the Data Delete API to delete old/unused content and create space for new uploads."
}
}
定義
名前 | 説明 |
---|---|
Error |
リソース管理エラーの追加情報。 |
Error |
エラーの詳細。 |
Error |
エラー応答 |
Long |
Long-Running Operations API の応答モデル。 |
Lro |
要求の状態。 |
ErrorAdditionalInfo
リソース管理エラーの追加情報。
名前 | 型 | 説明 |
---|---|---|
info |
object |
追加情報。 |
type |
string |
追加情報の種類。 |
ErrorDetail
エラーの詳細。
名前 | 型 | 説明 |
---|---|---|
additionalInfo |
エラーの追加情報。 |
|
code |
string |
エラー コード。 |
details |
エラーの詳細です。 |
|
message |
string |
エラー メッセージ。 |
target |
string |
エラーのターゲット。 |
ErrorResponse
エラー応答
名前 | 型 | 説明 |
---|---|---|
error |
error オブジェクト。 |
LongRunningOperationResult
Long-Running Operations API の応答モデル。
名前 | 型 | 説明 |
---|---|---|
created |
string |
作成されたタイムスタンプ。 |
error |
エラーの詳細。 |
|
operationId |
string |
この実行時間の長い操作の ID。 |
status |
要求の状態。 |
|
warning |
エラーの詳細。 |
LroStatus
要求の状態。
名前 | 型 | 説明 |
---|---|---|
Failed |
string |
要求に 1 つ以上のエラーがあります。 |
NotStarted |
string |
要求はまだ処理を開始していません。 |
Running |
string |
要求の処理が開始されました。 |
Succeeded |
string |
要求が正常に完了しました。 |