Data - Upload

Use para cargar contenido de datos en una cuenta de Azure Maps.

Nota

Retirada del servicio Data de Azure Maps

El servicio Data de Azure Maps (tanto v1 como v2) ya está en desuso y se retirará el 16/9/24. Para evitar interrupciones del servicio, todas las llamadas al servicio Data deberán actualizarse para usar el servicio de registro de datos de Azure Maps antes del 16/9/24. Para más información, consulte Creación de un registro de datos.

La Data Upload API es una solicitud HTTP POST que permite al autor de la llamada cargar contenido de datos en el servicio Azure Maps. Puede usar esta API en un escenario como cargar una colección de geovallas en GeoJSONformato para su uso en nuestro servicio de geovalla Azure Maps.

Importante

Al usar esta característica, acepta los términos legales de versión preliminar. Consulte los Términos complementarios de la versión preliminar para obtener más detalles.

Enviar solicitud de carga

Para cargar el contenido, usará una POST solicitud. El cuerpo de la solicitud contendrá los datos que se van a cargar. El dataFormat parámetro de consulta contendrá el formato de los datos; el dataSharingLevel parámetro de consulta puede contener el nivel de uso compartido de los datos. El Content-Type encabezado se establecerá en el tipo de contenido de los datos.

Por ejemplo, para cargar una colección de geovallas en formato, establezca el cuerpo de la solicitud en GeoJSON el contenido de la geovalla. Establezca el parámetro de dataFormat consulta en geojson y establezca el Content-Type encabezado en uno de los siguientes tipos de medios:

  • application/json
  • application/vnd.geo+json
  • application/octet-stream

El siguiente es un ejemplo de cuerpo de la solicitud para cargar una geovalla sencilla que se representa como una geometría circular mediante un punto central y un radio. El ejemplo siguiente se encuentra en GeoJSON:

{
    "type": "FeatureCollection",
    "features": [{
        "type": "Feature",
        "geometry": {
            "type": "Point",
            "coordinates": [-122.126986, 47.639754]
        },
        "properties": {
            "geometryId": "001",
            "radius": 500
        }
    }]
}

Data Upload API realiza una operación de larga duración.

Límites de carga de datos

Tenga en cuenta que actualmente cada cuenta de Azure Maps tiene un límite de almacenamiento de datos. Una vez alcanzado el límite de almacenamiento, todas las nuevas llamadas API de carga devolverán una 409 Conflict respuesta de error http. Siempre puede usar la API de eliminación de datos para eliminar contenido antiguo o no utilizado y crear espacio para nuevas cargas.

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}

Parámetros de identificador URI

Nombre En Requerido Tipo Description
geography
path True

string

Este parámetro especifica dónde se encuentra el recurso Azure Maps Creator. Los valores válidos son nosotros y eu.

api-version
query True

string

Número de versión de la API de Azure Maps.

dataFormat
query True

DataFormat

Formato de datos del contenido que se va a cargar.

description
query

string

Descripción que se va a proporcionar a la carga.

Encabezado de la solicitud

Media Types: "application/json", "application/octet-stream"

Nombre Requerido Tipo Description
x-ms-client-id

string

Especifica qué cuenta está pensada para su uso junto con el modelo de seguridad de Microsoft Entra ID. Representa un identificador único para la cuenta de Azure Maps y se puede recuperar de la API de cuenta del plano de administración de Azure Maps. Para usar Microsoft Entra ID seguridad en Azure Maps consulte los siguientes artículos para obtener instrucciones.

Cuerpo de la solicitud

Media Types: "application/json", "application/octet-stream"

Nombre Tipo Description
UploadContent

object

Contenido que se va a cargar.

Respuestas

Nombre Tipo Description
200 OK

LongRunningOperationResult

La operación se está ejecutando o completa. Si la operación se realizó correctamente, use el encabezado Resource-Location para obtener la ruta de acceso al resultado.

Headers

Resource-Location: string

202 Accepted

Solicitud aceptada: la solicitud se ha aceptado para su procesamiento. Use la dirección URL del encabezado Operation-Location para obtener el estado.

Headers

Operation-Location: string

Other Status Codes

ErrorResponse

Se alcanza el límite de almacenamiento de datos en la cuenta de Azure Maps. Siempre puede usar la API de eliminación de datos para eliminar contenido antiguo o no utilizado y crear espacio para nuevas cargas.

Other Status Codes

ErrorResponse

Se ha producido un error inesperado.

Seguridad

AADToken

Estos son los flujos de OAuth 2.0 de Microsoft Entra. Cuando se empareja con el control de acceso basado en rol de Azure, se puede usar para controlar el acceso a Azure Maps API REST. Los controles de acceso basados en roles de Azure se usan para designar el acceso a una o varias Azure Maps cuenta de recursos o subrecursos. A cualquier usuario, grupo o entidad de servicio se le puede conceder acceso a través de un rol integrado o un rol personalizado compuesto por uno o varios permisos para Azure Maps API REST.

Para implementar escenarios, se recomienda ver los conceptos de autenticación. En resumen, esta definición de seguridad proporciona una solución para el modelado de aplicaciones a través de objetos capaces de controlar el acceso en determinadas API y ámbitos.

Notas

  • Esta definición de seguridad requiere el uso del x-ms-client-id encabezado para indicar a qué recurso Azure Maps la aplicación solicita acceso. Esto se puede adquirir desde la API de administración de Maps .

Authorization URL es específico de la instancia de nube pública de Azure. Las nubes soberanas tienen direcciones URL de autorización únicas y configuraciones de Microsoft Entra ID. * El control de acceso basado en rol de Azure se configura desde el plano de administración de Azure a través de Azure Portal, PowerShell, CLI, SDK de Azure o API REST. * El uso del SDK web de Azure Maps permite la configuración basada en la configuración de una aplicación para varios casos de uso.

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

Scopes

Nombre Description
https://atlas.microsoft.com/.default https://atlas.microsoft.com/.default

subscription-key

Se trata de una clave compartida que se aprovisiona al Create una cuenta de Azure Maps en el Azure Portal o mediante PowerShell, la CLI, los SDK de Azure o la API REST.

Con esta clave, cualquier aplicación puede acceder a todas las API REST. En otras palabras, esta clave se puede usar como clave maestra en la cuenta en la que se emiten.

En el caso de las aplicaciones expuestas públicamente, nuestra recomendación es usar el enfoque de aplicaciones cliente confidenciales para acceder a Azure Maps API REST para que la clave se pueda almacenar de forma segura.

Type: apiKey
In: query

SAS Token

Se trata de un token de firma de acceso compartido que se crea a partir de la operación List SAS en el recurso de Azure Maps a través del plano de administración de Azure a través de Azure Portal, PowerShell, CLI, SDK de Azure o API REST.

Con este token, cualquier aplicación está autorizada para acceder a los controles de acceso basado en roles de Azure y al control específico de la expiración, la tasa y las regiones de uso para el token determinado. Es decir, el token de SAS se puede usar para permitir que las aplicaciones controlen el acceso de forma más segura que la clave compartida.

En el caso de las aplicaciones expuestas públicamente, nuestra recomendación es configurar una lista específica de orígenes permitidos en el recurso de la cuenta de mapa para limitar la representación de abusos y renovar periódicamente el token de SAS.

Type: apiKey
In: header

Ejemplos

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

Definiciones

Nombre Description
DataFormat

Formato de datos del contenido cargado.

ErrorAdditionalInfo

Información adicional sobre el error de administración de recursos.

ErrorDetail

Detalle del error.

ErrorResponse

Respuesta de error

LongRunningOperationResult

Modelo de respuesta para una API de operaciones de Long-Running.

LroStatus

Estado de la solicitud.

DataFormat

Formato de datos del contenido cargado.

Nombre Tipo Description
dwgzippackage

string

Paquete ZIP que contiene el archivo DWG.

geojson

string

GeoJSON es un formato de intercambio de datos geoespacial basado en JSON.

zip

string

Formato de datos comprimidos.

ErrorAdditionalInfo

Información adicional sobre el error de administración de recursos.

Nombre Tipo Description
info

object

Información adicional.

type

string

Tipo de información adicional.

ErrorDetail

Detalle del error.

Nombre Tipo Description
additionalInfo

ErrorAdditionalInfo[]

Información adicional del error.

code

string

Código de error.

details

ErrorDetail[]

Los detalles del error.

message

string

El mensaje de error.

target

string

Destino del error.

ErrorResponse

Respuesta de error

Nombre Tipo Description
error

ErrorDetail

Objeto de error.

LongRunningOperationResult

Modelo de respuesta para una API de operaciones de Long-Running.

Nombre Tipo Description
created

string

Marca de tiempo creada.

error

ErrorDetail

Detalle del error.

operationId

string

Identificador de esta operación de ejecución prolongada.

status

LroStatus

Estado de la solicitud.

warning

ErrorDetail

Detalle del error.

LroStatus

Estado de la solicitud.

Nombre Tipo Description
Failed

string

La solicitud tiene uno o varios errores.

NotStarted

string

La solicitud aún no ha iniciado el procesamiento.

Running

string

La solicitud ha iniciado el procesamiento.

Succeeded

string

La solicitud se ha completado correctamente.