Share via


Data - Update Preview

업데이트 요청을 사용하면 호출자가 데이터 업로드를 사용하여 이전에 업로드한 데이터 콘텐츠를 업데이트할 수 있습니다.
적용 대상: S1 가격 책정 계층.

데이터 업데이트 API를 사용하면 호출자가 이전에 업로드한 데이터 콘텐츠를 업데이트할 수 있습니다.

기존 지오펜스 컬렉션에서 지오펜스를 추가하거나 제거하는 것과 같은 시나리오에서 이 API를 사용할 수 있습니다. 지오펜스는 Azure Maps 지오펜싱 서비스에서 사용하기 위해 데이터 업로드 API를 사용하여 업로드됩니다.

업데이트 API는 기존 데이터 콘텐츠를 대체 하고 재정 의합니다.

참고

Azure Maps 데이터 서비스 사용 중지

Azure Maps Data Service(v1v2 모두)는 이제 더 이상 사용되지 않으며 24/9/16에 사용 중지됩니다. 서비스 중단을 방지하려면 2024년 9월 16일까지 Azure Maps Data Registry 서비스를 사용할 수 있도록 데이터 서비스에 대한 모든 호출을 업데이트해야 합니다. 자세한 내용은 데이터 레지스트리를 만드는 방법을 참조하세요.

업데이트 요청 제출

콘텐츠를 업데이트하려면 요청을 사용합니다 PUT . 요청 본문에는 기존 데이터를 대체할 새 데이터가 포함됩니다. 헤더는 Content-Type 데이터의 콘텐츠 형식으로 설정되고 경로에는 업데이트할 데이터의 가 포함 udid 됩니다.

예를 들어 이전에 업로드 API를 사용하여 업로드한 지오펜스 컬렉션을 업데이트하려면 새 지오펜스 콘텐츠를 요청 본문에 배치합니다. 경로의 udid 매개 변수를 udid 업로드 API 응답에서 이전에 받은 데이터의 로 설정합니다. 헤더를 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
        }
    }]
}

이전에 업로드된 지오펜스의 반경은 100m입니다. 위의 요청은 500m로 업데이트합니다.

데이터 업데이트 API는 장기 실행 작업을 수행합니다.

데이터 업데이트 제한

현재 모든 Azure Maps 계정에는 데이터 스토리지 제한이 있습니다. 스토리지 제한에 도달하면 모든 새 업로드 API 호출이 409 Conflict http 오류 응답을 반환합니다. 항상 데이터 삭제 API 를 사용하여 이전/사용되지 않은 콘텐츠를 삭제하고 새 업로드를 위한 공간을 만들 수 있습니다.

PUT https://{geography}.atlas.microsoft.com/mapData/{udid}?api-version=1.0
PUT https://{geography}.atlas.microsoft.com/mapData/{udid}?subscription-key={subscription-key}&api-version=1.0

URI 매개 변수

Name In(다음 안에) 필수 형식 Description
geography
path True

string

이 매개 변수는 Azure Maps Creator 리소스가 있는 위치를 지정합니다. 유효한 값은 우리와 eu입니다.

udid
path True

string

콘텐츠의 고유 데이터 ID입니다. 는 udid 성공적인 데이터 업로드 API 호출에서 가져와야 합니다.

api-version
query True

string

Azure Maps API의 버전 번호. 현재 버전은 1.0입니다.

subscription-key
query

string

Azure Map 계정에서 제공하는 Azure Maps 키 중 하나입니다. 인증을 관리하는 방법에 대한 자세한 내용은 이 문서를 참조하세요.

요청 헤더

Name 필수 형식 Description
x-ms-client-id

string

Microsoft Entra ID 보안 모델과 함께 사용할 계정을 지정합니다. Azure Maps 계정의 고유 ID를 나타내며 Azure Maps 관리 평면 계정 API에서 검색할 수 있습니다. Azure Maps Microsoft Entra ID 보안을 사용하려면 다음 문서를 참조하세요.

요청 본문

Name 형식 Description
UpdateContent

object

이전에 업로드한 콘텐츠를 업데이트/대체할 새 콘텐츠입니다.

응답

Name 형식 Description
200 OK

ODataErrorResponse

데이터 업데이트에 실패했습니다. 업로드된 콘텐츠가 모든 유효성 검사를 충족하지 못했습니다. 응답 본문에는 발생한 모든 오류가 포함됩니다.

201 Created

LongRunningOperationResult

리소스가 성공적으로 만들어졌습니다.

Headers

Location: string

202 Accepted

비동기 요청에 대해서만 지원됩니다. 요청 수락됨: 처리를 위해 요청이 수락되었습니다. 위치 헤더의 URL을 사용하여 결과를 다시 시도하거나 액세스하세요.

Headers

Location: string

400 Bad Request

ODataErrorResponse

잘못된 요청: 하나 이상의 매개 변수가 잘못 지정되었거나 상호 배타적입니다.

401 Unauthorized

ODataErrorResponse

잘못된 구독 키 또는 잘못된 Microsoft Entra ID 전달자 토큰으로 인해 액세스가 거부되었습니다. 활성 Azure 구독 및 지도 리소스에 유효한 키를 제공해야 합니다. 그렇지 않은 경우 제공된 Microsoft Entra ID 전달자 토큰에 대한 오류 코드 및 설명에 대한 WWW-Authenticate 헤더를 확인합니다.

Headers

WWW-Authenticate: string

403 Forbidden

ODataErrorResponse

권한, 용량 또는 인증 문제.

404 Not Found

ODataErrorResponse

찾을 수 없음: 요청된 리소스를 찾을 수 없지만 나중에 다시 사용할 수 있습니다.

500 Internal Server Error

ODataErrorResponse

이 요청을 처리하는 동안 오류가 발생했습니다. 나중에 다시 시도하세요.

보안

AADToken

다음은 Microsoft Entra OAuth 2.0 흐름입니다. Azure 역할 기반 액세스 제어와 쌍을 이루는 경우 Azure Maps REST API에 대한 액세스를 제어하는 데 사용할 수 있습니다. Azure 역할 기반 액세스 제어는 하나 이상의 Azure Maps 리소스 계정 또는 하위 리소스에 대한 액세스를 지정하는 데 사용됩니다. 모든 사용자, 그룹 또는 서비스 주체는 기본 제공 역할 또는 REST API를 Azure Maps 하나 이상의 권한으로 구성된 사용자 지정 역할을 통해 액세스 권한을 부여할 수 있습니다.

시나리오를 구현하려면 인증 개념을 보는 것이 좋습니다. 요약하자면, 이 보안 정의는 특정 API 및 범위에 대한 액세스 제어가 가능한 개체를 통해 애플리케이션을 모델링하는 솔루션을 제공합니다.

참고

  • 이 보안 정의 애플리케이션이 x-ms-client-id 액세스를 요청하는 Azure Maps 리소스를 나타내기 위해 헤더를 사용해야 합니다. 이는 지도 관리 API에서 가져올 수 있습니다.

Authorization URL 은 Azure 퍼블릭 클라우드 instance 관련됩니다. 소버린 클라우드에는 고유한 권한 부여 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

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

subscription-key

Azure Portal Azure Maps 계정을 만들거나 PowerShell, CLI, Azure SDK 또는 REST API를 사용할 때 프로비전되는 공유 키입니다.

이 키를 사용하면 모든 애플리케이션이 모든 REST API에 액세스할 수 있습니다. 즉, 이 키는 발급된 계정에서 master 키로 사용할 수 있습니다.

공개적으로 노출된 애플리케이션의 경우 기밀 클라이언트 애플리케이션 접근 방식을 사용하여 키를 안전하게 저장할 수 있도록 Azure Maps REST API에 액세스하는 것이 좋습니다.

Type: apiKey
In: query

SAS Token

공유 액세스 서명 토큰은 Azure Portal, PowerShell, CLI, Azure SDK 또는 REST API를 통해 Azure 관리 평면을 통해 Azure Maps 리소스의 SAS 나열 작업에서 만들어집니다.

이 토큰을 사용하면 모든 애플리케이션이 특정 토큰에 사용할 만료, 속도 및 지역에 대한 Azure 역할 기반 액세스 제어 및 세분화된 제어를 사용하여 액세스할 수 있는 권한이 부여됩니다. 즉, SAS 토큰을 사용하여 애플리케이션이 공유 키보다 더 보안이 유지되는 방식으로 액세스를 제어할 수 있습니다.

공개적으로 노출된 애플리케이션의 경우 렌더링 남용을 제한하고 정기적으로 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?subscription-key=[subscription-key]&api-version=1.0

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

Sample Response

Location: https://atlas.microsoft.com/mapData/metadata/{udid}?api-version=1.0
Access-Control-Expose-Headers: Location
{
  "operationId": "{operationId}",
  "status": "Succeeded",
  "created": "2020-01-02 1:02:03 AM +00:00",
  "resourceLocation": "https://atlas.microsoft.com/mapData/metadata/{resourceId}?api-version=1.0"
}
Location: https://atlas.microsoft.com/mapData/operations/{operationId}?api-version=1.0
Access-Control-Expose-Headers: Location
{
  "error": {
    "code": "400 Bad Request",
    "message": "Upload request failed. Your data has been removed as we encountered the following problems with it: Map data is not a valid GeoJSON geometry."
  }
}
{
  "error": {
    "code": "400 BadRequest",
    "message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive."
  }
}
{
  "error": {
    "code": "401 Unauthorized",
    "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription."
  }
}
{
  "error": {
    "code": "403 Forbidden",
    "message": "Permission, capacity, or authentication issues."
  }
}
{
  "error": {
    "code": "404 NotFound",
    "message": "Not Found: the requested resource could not be found, but it may be available again in the future."
  }
}
{
  "error": {
    "code": "500 InternalServerError",
    "message": "An error occurred while processing the request. Please try again later."
  }
}

정의

Name Description
LongRunningOperationResult

Long-Running Operations API에 대한 응답 모델입니다.

ODataError

이 개체는 Azure Maps API에서 오류가 발생할 때 반환됩니다.

ODataErrorResponse

이 응답 개체는 Azure Maps API에서 오류가 발생할 때 반환됩니다.

type

요청의 상태 상태입니다.

LongRunningOperationResult

Long-Running Operations API에 대한 응답 모델입니다.

Name 형식 Description
created

string

만든 타임스탬프입니다.

error

ODataError

이 개체는 Azure Maps API에서 오류가 발생할 때 반환됩니다.

operationId

string

이 장기 실행 작업의 ID입니다.

resourceLocation

string

만든 리소스에 대한 세부 정보를 위한 위치 URI입니다. 이는 요청이 성공적으로 완료된 경우에만 제공됩니다.

status

type

요청의 상태 상태입니다.

warning

ODataError

이 개체는 Azure Maps API에서 오류가 발생할 때 반환됩니다.

ODataError

이 개체는 Azure Maps API에서 오류가 발생할 때 반환됩니다.

Name 형식 Description
code

string

ODataError 코드입니다.

details

ODataError[]

이 개체는 Azure Maps API에서 오류가 발생할 때 반환됩니다.

message

string

사용 가능한 경우 오류에 대한 사람이 읽을 수 있는 설명입니다.

target

string

사용 가능한 경우 오류를 일으키는 대상입니다.

ODataErrorResponse

이 응답 개체는 Azure Maps API에서 오류가 발생할 때 반환됩니다.

Name 형식 Description
error

ODataError

이 개체는 Azure Maps API에서 오류가 발생할 때 반환됩니다.

type

요청의 상태 상태입니다.

Name 형식 Description
Failed

string

요청에 하나 이상의 오류가 있습니다.

NotStarted

string

요청이 아직 처리를 시작하지 않았습니다.

Running

string

요청이 처리를 시작했습니다.

Succeeded

string

요청이 성공적으로 완료되었습니다.