Data - Upload
Azure Maps アカウントにデータ コンテンツをアップロードするには、 を使用します。
注意
Azure Maps Data Service の廃止
Azure Maps Data Service (v1 と v2 の両方) は非推奨となり、2024 年 9 月 16 日に廃止されます。 サービスの中断を回避するには、データ サービスに対するすべての呼び出しを更新して、Azure Maps Data Registry サービスを 9/16/24 までに使用する必要があります。 詳細については、「データ レジストリの作成方法」を参照してください。
Data Upload
API は、呼び出し元がデータ コンテンツを Azure Maps サービスにアップロードできるようにする HTTP POST
要求です。
この API は、Azure Maps Geofencing Service で使用するために、形式でGeoJSON
ジオフェンスのコレクションをアップロードするようなシナリオで使用できます。
重要
この機能を使用すると、プレビューの法的条件に同意したことになります。 詳細については、「 プレビュー補足条項 」を参照してください。
アップロード要求を送信する
コンテンツをアップロードするには、要求を POST
使用します。 要求本文には、アップロードするデータが含まれます。 dataFormat
クエリ パラメーターにはデータdataSharingLevel
の形式が含まれます。クエリ パラメーターにはデータの共有レベルを含めることができます。 ヘッダーは Content-Type
、データのコンテンツ タイプに設定されます。
たとえば、ジオフェンスのコレクションを形式で GeoJSON
アップロードするには、要求本文をジオフェンス コンテンツに設定します。 クエリ パラメーターを dataFormat
geojson に設定し、ヘッダーを Content-Type
次のいずれかのメディアの種類に設定します。
application/json
application/vnd.geo+json
application/octet-stream
中心点と半径を使用して円ジオメトリとして表される単純なジオフェンスをアップロードするための要求本文のサンプルを次に示します。 次のサンプルは にあります GeoJSON
。
{
"type": "FeatureCollection",
"features": [{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [-122.126986, 47.639754]
},
"properties": {
"geometryId": "001",
"radius": 500
}
}]
}
Data Upload API は、実行時間の長い操作を実行します。
データアップロードの制限
現在、すべてのAzure Maps アカウントにはデータ ストレージの制限があることに注意してください。 ストレージの制限に達すると、すべての新しいアップロード API 呼び出しで http エラー応答が 409 Conflict
返されます。 データ削除 API を常に使用して、古いコンテンツまたは未使用のコンテンツを削除し、新しいアップロード用の領域を作成できます。
POST https://{geography}.atlas.microsoft.com/mapData?api-version=2.0&dataFormat={dataFormat}
POST https://{geography}.atlas.microsoft.com/mapData?api-version=2.0&description={description}&dataFormat={dataFormat}
URI パラメーター
名前 | / | 必須 | 型 | 説明 |
---|---|---|---|---|
geography
|
path | True |
string |
このパラメーターは、Azure Maps Creator リソースの場所を指定します。 有効な値は、us と eu です。 |
api-version
|
query | True |
string |
Azure Maps API のバージョン番号。 |
data
|
query | True |
アップロードするコンテンツのデータ形式。 |
|
description
|
query |
string |
アップロードに指定する説明。 |
要求ヘッダー
Media Types: "application/json", "application/octet-stream"
名前 | 必須 | 型 | 説明 |
---|---|---|---|
x-ms-client-id |
string |
Microsoft Entra ID セキュリティ モデルと組み合わせて使用するアカウントを指定します。 Azure Maps アカウントの一意の ID を表し、Azure Maps管理プレーン アカウント API から取得できます。 Azure MapsでMicrosoft Entra IDセキュリティを使用するには、次の記事を参照してください。 |
要求本文
Media Types: "application/json", "application/octet-stream"
名前 | 型 | 説明 |
---|---|---|
UploadContent |
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 に対する 1 つ以上のアクセス許可で構成される組み込みロールまたはカスタム ロールを使用して、任意のユーザー、グループ、またはサービス プリンシパルにアクセス権 Azure Mapsを付与できます。
シナリオを実装するには、 認証の概念を表示することをお勧めします。 要約すると、このセキュリティ定義は、特定の 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 アカウントを作成するとき、または 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
例
Upload GeoJSON data containing geometries that represent a collection of geofences
Sample Request
POST https://us.atlas.microsoft.com/mapData?api-version=2.0&dataFormat=geojson
{
"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/{udid}?api-version=2.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."
}
}
定義
名前 | 説明 |
---|---|
Data |
アップロードされたコンテンツのデータ形式。 |
Error |
リソース管理エラーの追加情報。 |
Error |
エラーの詳細。 |
Error |
エラー応答 |
Long |
Long-Running Operations API の応答モデル。 |
Lro |
要求の状態。 |
DataFormat
アップロードされたコンテンツのデータ形式。
名前 | 型 | 説明 |
---|---|---|
dwgzippackage |
string |
DWG ファイルを含む ZIP パッケージ。 |
geojson |
string |
GeoJSON は、JSON ベースの地理空間データ交換形式です。 |
zip |
string |
圧縮データ形式。 |
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 |
要求が正常に完了しました。 |