Data - Upload
Utilisez pour charger du contenu de données sur un compte Azure Maps.
Notes
Retrait du service de données Azure Maps
Le service Data Azure Maps (v1 et v2) est désormais déconseillé et sera mis hors service le 16/09/2024. Pour éviter les interruptions de service, tous les appels au service Data devront être mis à jour pour utiliser le service Data Registry d’Azure Maps avant le 16/09/2024. Pour plus d'informations, consultez Guide pratique pour créer un registre de données.
L’API Data Upload
est une requête HTTP POST
qui permet à l’appelant de charger du contenu de données sur le service Azure Maps.
Vous pouvez utiliser cette API dans un scénario tel que le chargement d’une collection de limites géographiques au GeoJSON
format, pour une utilisation dans notre service de géofencing Azure Maps.
Important
En utilisant cette fonctionnalité, vous acceptez les conditions légales de la préversion. Pour plus d’informations, consultez la préversion des conditions supplémentaires .
Envoyer une demande de chargement
Pour charger votre contenu, vous utiliserez une POST
requête. Le corps de la demande contient les données à charger. Le dataFormat
paramètre de requête contient le format des données, le paramètre de dataSharingLevel
requête peut contenir le niveau de partage des données. L’en-tête Content-Type
est défini sur le type de contenu des données.
Par exemple, pour charger une collection de limites géographiques au GeoJSON
format, définissez le corps de la demande sur le contenu de limite géographique. Définissez le dataFormat
paramètre de requête sur geojson et définissez l’en-tête Content-Type
sur l’un des types de médias suivants :
application/json
application/vnd.geo+json
application/octet-stream
Voici un exemple de corps de requête pour le chargement d’une limite géographique simple représentée sous la forme d’un cercle avec un point central et un rayon. L’exemple ci-dessous se trouve dans GeoJSON
:
{
"type": "FeatureCollection",
"features": [{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [-122.126986, 47.639754]
},
"properties": {
"geometryId": "001",
"radius": 500
}
}]
}
L’API de chargement de données effectue une opération de longue durée.
Limites de chargement de données
N’oubliez pas qu’actuellement, chaque compte Azure Maps a une limite de stockage de données. Une fois la limite de stockage atteinte, tous les nouveaux appels d’API de chargement retournent une 409 Conflict
réponse d’erreur HTTP. Vous pouvez toujours utiliser l’API De suppression de données pour supprimer du contenu ancien/inutilisé et créer de l’espace pour les nouveaux chargements.
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}
Paramètres URI
Nom | Dans | Obligatoire | Type | Description |
---|---|---|---|---|
geography
|
path | True |
string |
Ce paramètre spécifie l’emplacement de la ressource Azure Maps Creator. Les valeurs valides sont us et eu. |
api-version
|
query | True |
string |
Numéro de version de l’API Azure Maps. |
data
|
query | True |
Format de données du contenu en cours de chargement. |
|
description
|
query |
string |
Description à donner au chargement. |
En-tête de la demande
Media Types: "application/json", "application/octet-stream"
Nom | Obligatoire | Type | Description |
---|---|---|---|
x-ms-client-id |
string |
Spécifie le compte destiné à être utilisé conjointement avec le modèle de sécurité d’ID Microsoft Entra. Il représente un ID unique pour le compte Azure Maps et peut être récupéré à partir de l’API compte du plan de gestion Azure Maps. Pour utiliser la sécurité des ID Microsoft Entra dans Azure Maps, consultez les articles suivants pour obtenir des conseils. |
Corps de la demande
Media Types: "application/json", "application/octet-stream"
Nom | Type | Description |
---|---|---|
UploadContent |
object |
Contenu à charger. |
Réponses
Nom | Type | Description |
---|---|---|
200 OK |
L’opération est en cours d’exécution ou terminée. Si l’opération a réussi, utilisez l’en-tête Resource-Location pour obtenir le chemin d’accès au résultat. En-têtes Resource-Location: string |
|
202 Accepted |
Demande acceptée : la demande a été acceptée pour traitement. Utilisez l’URL dans l’en-tête Operation-Location pour obtenir l’état. En-têtes Operation-Location: string |
|
Other Status Codes |
La limite de stockage des données est atteinte sur le compte Azure Maps. Vous pouvez toujours utiliser l’API De suppression de données pour supprimer du contenu ancien/inutilisé et créer de l’espace pour les nouveaux chargements. |
|
Other Status Codes |
Une erreur inattendue s’est produite. |
Sécurité
AADToken
Il s’agit des flux OAuth Microsoft Entra 2.0 . Lorsqu’il est associé au contrôle d’accès en fonction du rôle Azure , il peut être utilisé pour contrôler l’accès aux API REST Azure Maps. Les contrôles d’accès en fonction du rôle Azure sont utilisés pour désigner l’accès à un ou plusieurs comptes de ressources Ou sous-ressources Azure Maps. Tout utilisateur, groupe ou principal de service peut se voir accorder l’accès via un rôle intégré ou un rôle personnalisé composé d’une ou plusieurs autorisations aux API REST Azure Maps.
Pour implémenter des scénarios, nous vous recommandons d’afficher les concepts d’authentification. En résumé, cette définition de sécurité fournit une solution pour modéliser des applications via des objets capables de contrôler l’accès sur des API et des étendues spécifiques.
Notes
- Cette définition de sécurité nécessite l’utilisation de l’en-tête
x-ms-client-id
pour indiquer à quelle ressource Azure Maps l’application demande l’accès. Vous pouvez l’acquérir à partir de l’API de gestion maps .
est Authorization URL
spécifique à l’instance de cloud public Azure. Les clouds souverains ont des URL d’autorisation uniques et des configurations d’ID Microsoft Entra.
* Le contrôle d’accès en fonction du rôle Azure est configuré à partir du plan de gestion Azure via le portail Azure, PowerShell, CLI, kits SDK Azure ou API REST.
* L’utilisation du Kit de développement logiciel (SDK) web Azure Maps permet une configuration basée sur la configuration d’une application pour plusieurs cas d’usage.
- Pour plus d’informations sur la plateforme d’identités Microsoft, consultez Vue d’ensemble de la plateforme d’identités Microsoft.
Type:
oauth2
Flux:
implicit
URL d’autorisation:
https://login.microsoftonline.com/common/oauth2/authorize
Étendues
Nom | Description |
---|---|
https://atlas.microsoft.com/.default | https://atlas.microsoft.com/.default |
subscription-key
Il s’agit d’une clé partagée qui est provisionnée lorsque vous créez un compte Azure Maps dans le portail Azure ou à l’aide de PowerShell, cli, kits SDK Azure ou API REST.
Avec cette clé, n’importe quelle application peut accéder à toutes les API REST. En d’autres termes, cette clé peut être utilisée comme clé principale dans le compte dans lequel elle est émise.
Pour les applications exposées publiquement, nous vous recommandons d’utiliser l’approche des applications clientes confidentielles pour accéder aux API REST Azure Maps afin que votre clé puisse être stockée en toute sécurité.
Type:
apiKey
Dans:
query
SAS Token
Il s’agit d’un jeton de signature d’accès partagé créé à partir de l’opération Répertorier les SAP sur la ressource Azure Maps via le plan de gestion Azure via le portail Azure, PowerShell, CLI, kits SDK Azure ou API REST.
Avec ce jeton, toute application est autorisée à accéder avec des contrôles d’accès en fonction du rôle Azure et un contrôle précis à l’expiration, au taux et à la ou les régions d’utilisation du jeton particulier. En d’autres termes, le jeton SAP peut être utilisé pour permettre aux applications de contrôler l’accès de manière plus sécurisée que la clé partagée.
Pour les applications exposées publiquement, nous vous recommandons de configurer une liste spécifique d’origines autorisées sur la ressource de compte Map afin de limiter les abus de rendu et de renouveler régulièrement le jeton SAS.
Type:
apiKey
Dans:
header
Exemples
Upload GeoJSON data containing geometries that represent a collection of geofences
Exemple de requête
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
}
}
]
}
Exemple de réponse
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."
}
}
Définitions
Nom | Description |
---|---|
Data |
Format de données du contenu chargé. |
Error |
Informations supplémentaires sur l’erreur de gestion des ressources. |
Error |
Détail de l’erreur. |
Error |
Réponse d’erreur |
Long |
Modèle de réponse pour une API Long-Running Operations. |
Lro |
État de la demande. |
DataFormat
Format de données du contenu chargé.
Nom | Type | Description |
---|---|---|
dwgzippackage |
string |
Package ZIP contenant un fichier DWG. |
geojson |
string |
GeoJSON est un format d’échange de données géospatiales basé sur JSON. |
zip |
string |
Format de données compressées. |
ErrorAdditionalInfo
Informations supplémentaires sur l’erreur de gestion des ressources.
Nom | Type | Description |
---|---|---|
info |
object |
Informations supplémentaires |
type |
string |
Type d’informations supplémentaires. |
ErrorDetail
Détail de l’erreur.
Nom | Type | Description |
---|---|---|
additionalInfo |
Informations supplémentaires sur l’erreur. |
|
code |
string |
Code d'erreur. |
details |
Détails de l’erreur. |
|
message |
string |
Message d’erreur. |
target |
string |
Cible d’erreur. |
ErrorResponse
Réponse d’erreur
Nom | Type | Description |
---|---|---|
error |
Objet error. |
LongRunningOperationResult
Modèle de réponse pour une API Long-Running Operations.
Nom | Type | Description |
---|---|---|
created |
string |
Horodatage créé. |
error |
Détail de l’erreur. |
|
operationId |
string |
ID de cette opération de longue durée. |
status |
État de la demande. |
|
warning |
Détail de l’erreur. |
LroStatus
État de la demande.
Nom | Type | Description |
---|---|---|
Failed |
string |
La requête présente un ou plusieurs échecs. |
NotStarted |
string |
Le traitement de la demande n’a pas encore commencé. |
Running |
string |
Le traitement de la demande a commencé. |
Succeeded |
string |
La demande s’est terminée avec succès. |