Data - Upload

Use para carregar conteúdo de dados em uma conta Azure Mapas.

Observação

Desativação do serviço Dados do Azure Mapas

O serviço Dados do Azure Mapas (v1 e v2) foi preterido e será desativado em 16/09/24. Para evitar interrupções de serviço, todas as chamadas ao Serviço de Dados precisarão ser atualizadas para usar o serviço de Registro de Dados do Azure Mapas até 16/09/24. Para obter mais informações, confira Como criar um registro de dados.

A Data Upload API é uma solicitação HTTP POST que permite que o chamador carregue conteúdo de dados para o serviço Azure Mapas. Você pode usar essa API em um cenário como carregar uma coleção de Cercas Geográficas no GeoJSONformato, para uso em nosso serviço de geofencing Azure Mapas.

Importante

Ao usar esse recurso, você concorda com os termos legais de visualização. Confira os Termos Complementares de Visualização para obter detalhes adicionais.

Enviar Solicitação de Carregamento

Para carregar seu conteúdo, você usará uma solicitação POST . O corpo da solicitação conterá os dados a serem carregados. O dataFormat parâmetro de consulta conterá o formato dos dados, o dataSharingLevel parâmetro de consulta pode conter o nível de compartilhamento dos dados. O Content-Type cabeçalho será definido como o tipo de conteúdo dos dados.

Por exemplo, para carregar uma coleção de cercas geográficas no GeoJSON formato, defina o corpo da solicitação como o conteúdo de cerca geográfica. Defina o dataFormat parâmetro de consulta como geojson e defina o Content-Type cabeçalho como um dos seguintes tipos de mídia:

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

Veja a seguir um corpo de solicitação de exemplo para carregar uma cerca geográfica simples representada como uma geometria de círculo usando um ponto central e um raio. O exemplo abaixo está em GeoJSON:

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

A API de Carregamento de Dados executa uma operação de execução prolongada.

Limites de carregamento de dados

Lembre-se de que atualmente cada conta Azure Mapas tem um limite de armazenamento de dados. Depois que o limite de armazenamento for atingido, todas as novas chamadas à API de upload retornarão uma 409 Conflict resposta de erro http. Você sempre pode usar a API de Exclusão de Dados para excluir conteúdo antigo/não utilizado e criar espaço para novos uploads.

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 URI

Nome Em Obrigatório Tipo Description
geography
path True

string

Esse parâmetro especifica onde o recurso criador de Azure Mapas está localizado. Os valores válidos são nós e eu.

api-version
query True

string

Número de versão da API de Mapas Azure.

dataFormat
query True

DataFormat

Formato de dados do conteúdo que está sendo carregado.

description
query

string

A descrição a ser dada ao upload.

Cabeçalho da solicitação

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

Nome Obrigatório Tipo Description
x-ms-client-id

string

Especifica qual conta destina-se ao uso em conjunto com o modelo de segurança Microsoft Entra ID. Ele representa uma ID exclusiva para a conta Azure Mapas e pode ser recuperado da API de Conta do plano de gerenciamento Azure Mapas. Para usar Microsoft Entra ID segurança no Azure Mapas consulte os artigos a seguir para obter diretrizes.

Corpo da solicitação

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

Nome Tipo Description
UploadContent

object

O conteúdo a ser carregado.

Respostas

Nome Tipo Description
200 OK

LongRunningOperationResult

A operação está em execução ou concluída. Se a operação tiver sido bem-sucedida, use o cabeçalho Resource-Location para obter o caminho para o resultado.

Headers

Resource-Location: string

202 Accepted

Solicitação Aceita: a solicitação foi aceita para processamento. Use a URL no cabeçalho Operation-Location para obter status.

Headers

Operation-Location: string

Other Status Codes

ErrorResponse

O limite de armazenamento de dados é atingido na conta de Azure Mapas. Você sempre pode usar a API de Exclusão de Dados para excluir conteúdo antigo/não utilizado e criar espaço para novos uploads.

Other Status Codes

ErrorResponse

Erro inesperado.

Segurança

AADToken

Esses são os fluxos Microsoft Entra OAuth 2.0. Quando emparelhado com o controle de acesso baseado em função do Azure, ele pode ser usado para controlar o acesso às APIs REST Azure Mapas. Os controles de acesso baseados em função do Azure são usados para designar o acesso a uma ou mais Azure Mapas conta de recurso ou sub-recursos. Qualquer usuário, grupo ou entidade de serviço pode receber acesso por meio de uma função interna ou uma função personalizada composta por uma ou mais permissões para Azure Mapas APIs REST.

Para implementar cenários, recomendamos exibir conceitos de autenticação. Em resumo, essa definição de segurança fornece uma solução para modelar aplicativos por meio de objetos capazes de acessar o controle em APIs e escopos específicos.

Observações

  • Essa definição de segurança requer o uso do x-ms-client-id cabeçalho para indicar a qual Azure Mapas recurso ao qual o aplicativo está solicitando acesso. Isso pode ser adquirido da API de gerenciamento de Mapas .

O Authorization URL é específico para a instância de nuvem pública do Azure. As nuvens soberanas têm URLs de autorização exclusivas e configurações de Microsoft Entra ID. * O controle de acesso baseado em função do Azure é configurado no plano de gerenciamento do Azure por meio de portal do Azure, PowerShell, CLI, SDKs do Azure ou APIs REST. * O uso do SDK da Web Azure Mapas permite a configuração baseada em configuração de um aplicativo para vários casos de uso.

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

Scopes

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

subscription-key

Essa é uma chave compartilhada provisionada quando você Create uma conta Azure Mapas no portal do Azure ou usando o PowerShell, a CLI, os SDKs do Azure ou a API REST.

Com essa chave, qualquer aplicativo pode acessar toda a API REST. Em outras palavras, essa chave pode ser usada como uma chave master na conta em que elas são emitidas.

Para aplicativos expostos publicamente, nossa recomendação é usar a abordagem de aplicativos cliente confidenciais para acessar Azure Mapas APIs REST para que sua chave possa ser armazenada com segurança.

Type: apiKey
In: query

SAS Token

Esse é um token de assinatura de acesso compartilhado criado a partir da operação Listar SAS no recurso Azure Mapas por meio do plano de gerenciamento do Azure por meio de portal do Azure, PowerShell, CLI, SDKs do Azure ou APIs REST.

Com esse token, qualquer aplicativo está autorizado a acessar com controles de acesso baseados em função do Azure e controle refinado à expiração, taxa e regiões de uso para o token específico. Em outras palavras, o Token SAS pode ser usado para permitir que os aplicativos controlem o acesso de maneira mais segura do que a chave compartilhada.

Para aplicativos expostos publicamente, nossa recomendação é configurar uma lista específica de origens permitidas no recurso de conta do Mapa para limitar o abuso de renderização e renovar regularmente o Token SAS.

Type: apiKey
In: header

Exemplos

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

Definições

Nome Description
DataFormat

Formato de dados do conteúdo carregado.

ErrorAdditionalInfo

As informações adicionais do erro de gerenciamento de recursos.

ErrorDetail

O detalhe do erro.

ErrorResponse

Resposta de erro

LongRunningOperationResult

O modelo de resposta para uma API de operações de Long-Running.

LroStatus

O estado status da solicitação.

DataFormat

Formato de dados do conteúdo carregado.

Nome Tipo Description
dwgzippackage

string

Pacote ZIP que contém o arquivo DWG.

geojson

string

GeoJSON é um formato de intercâmbio de dados geoespacial baseado em JSON.

zip

string

Formato de dados compactado.

ErrorAdditionalInfo

As informações adicionais do erro de gerenciamento de recursos.

Nome Tipo Description
info

object

As informações adicionais.

type

string

O tipo de informação adicional.

ErrorDetail

O detalhe do erro.

Nome Tipo Description
additionalInfo

ErrorAdditionalInfo[]

As informações adicionais do erro.

code

string

O código de erro.

details

ErrorDetail[]

Os detalhes do erro.

message

string

A mensagem de erro.

target

string

O destino do erro.

ErrorResponse

Resposta de erro

Nome Tipo Description
error

ErrorDetail

O objeto de erro.

LongRunningOperationResult

O modelo de resposta para uma API de operações de Long-Running.

Nome Tipo Description
created

string

O carimbo de data/hora criado.

error

ErrorDetail

O detalhe do erro.

operationId

string

A ID desta operação de execução prolongada.

status

LroStatus

O estado status da solicitação.

warning

ErrorDetail

O detalhe do erro.

LroStatus

O estado status da solicitação.

Nome Tipo Description
Failed

string

A solicitação tem uma ou mais falhas.

NotStarted

string

A solicitação ainda não iniciou o processamento.

Running

string

A solicitação iniciou o processamento.

Succeeded

string

A solicitação foi concluída com êxito.