Share via


Data - Update

を使用して、データ アップロードを使用して以前にアップロードしたデータ コンテンツを更新 します

注意

Azure Maps Data Service の廃止

Azure Maps Data Service (v1v2 の両方) は非推奨となり、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。 は udid 、正常な データ アップロード 呼び出しから取得されている必要があります。

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

LongRunningOperationResult

操作が実行されているか完了しています。 操作が成功した場合は、Resource-Location ヘッダーを使用して結果へのパスを取得します。

Headers

Resource-Location: string

202 Accepted

[Request Accepted]\(要求を受け入れた\): 要求は処理のために受け入れ済みです。 状態を取得するには、Operation-Location ヘッダーの URL を使用してください。

Headers

Operation-Location: string

Other Status Codes

ErrorResponse

Azure Maps アカウントでデータ ストレージの制限に達しました。 データ削除 API を常に使用して、古いコンテンツや未使用のコンテンツを削除し、新しいアップロード用の領域を作成できます。

Other Status Codes

ErrorResponse

予期しないエラーが発生しました。

セキュリティ

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 を使用すると、複数のユース ケースに対してアプリケーションを構成ベースで設定できます。

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

定義

名前 説明
ErrorAdditionalInfo

リソース管理エラーの追加情報。

ErrorDetail

エラーの詳細。

ErrorResponse

エラー応答

LongRunningOperationResult

Long-Running Operations API の応答モデル。

LroStatus

要求の状態。

ErrorAdditionalInfo

リソース管理エラーの追加情報。

名前 説明
info

object

追加情報。

type

string

追加情報の種類。

ErrorDetail

エラーの詳細。

名前 説明
additionalInfo

ErrorAdditionalInfo[]

エラーの追加情報。

code

string

エラー コード。

details

ErrorDetail[]

エラーの詳細です。

message

string

エラー メッセージ。

target

string

エラーのターゲット。

ErrorResponse

エラー応答

名前 説明
error

ErrorDetail

error オブジェクト。

LongRunningOperationResult

Long-Running Operations API の応答モデル。

名前 説明
created

string

作成されたタイムスタンプ。

error

ErrorDetail

エラーの詳細。

operationId

string

この実行時間の長い操作の ID。

status

LroStatus

要求の状態。

warning

ErrorDetail

エラーの詳細。

LroStatus

要求の状態。

名前 説明
Failed

string

要求に 1 つ以上のエラーがあります。

NotStarted

string

要求はまだ処理を開始していません。

Running

string

要求の処理が開始されました。

Succeeded

string

要求が正常に完了しました。