Бөлісу құралы:


Создание реестра данных

Примечание.

Прекращение работы службы реестра данных Azure Maps

Теперь служба реестра данных Azure Maps устарела и будет прекращена 9.30.25. Дополнительные сведения см. в разделе "Объявление о завершении жизни" реестра данных Azure Maps.

Служба реестра данных позволяет зарегистрировать содержимое данных в учетной записи служба хранилища Azure с помощью учетной записи Azure Maps. Примером данных может быть коллекция геозон, используемых в службе геофенсов Azure Maps. Другим примером является ZIP-файлы, содержащие пакеты рисования (DWG) или файлы GeoJSON, которые создатель Azure Maps использует для создания или обновления карт помещений.

Необходимые компоненты

Внимание

  • В этой статье используется географический URL-адрес us.atlas.microsoft.com. Если учетная запись не была создана в США, необходимо использовать другой географический URL-адрес. Дополнительные сведения см. в разделе "Доступ к службам Creator".
  • В примерах URL-адресов в этой статье необходимо заменить:
    • {Azure-Maps-Subscription-key}с ключом подписки Azure Maps.
    • {udid} с идентификатором данных пользователя реестра данных. Дополнительные сведения см. в разделе "Идентификатор данных пользователя".

Подготовка к регистрации данных в Azure Maps

Прежде чем зарегистрировать данные в Azure Maps, необходимо создать среду, содержащую все необходимые компоненты. Требуется учетная запись хранения с одним или несколькими контейнерами, в котором хранятся файлы, которые необходимо зарегистрировать и управляемые удостоверения для проверки подлинности. В этом разделе объясняется, как подготовить среду Azure для регистрации данных в Azure Maps.

Создание управляемых удостоверений

Существует два типа управляемых удостоверений: назначаемые системой и назначаемые пользователем. Жизненный цикл управляемых удостоверений, назначаемых системой, связан с ресурсом, который их создал. Назначаемые пользователем управляемые удостоверения могут использоваться для нескольких ресурсов. Дополнительные сведения см. в статье об управляемых удостоверениях для ресурсов Azure.

Чтобы создать управляемое удостоверение, добавьте его в учетную запись Azure Maps.

Создайте управляемое удостоверение, назначаемое системой:

  1. Перейдите к учетной записи Azure Maps в портал Azure.
  2. Выберите удостоверение из раздела "Параметры " в меню слева.
  3. Переключите значение "Состояние включено".

Дополнительные сведения см. в статье об управляемых удостоверениях для ресурсов Azure.

Создание контейнера и отправка файлов данных

Перед добавлением файлов в реестр данных необходимо передать их в контейнер в учетной записи хранения Azure. Контейнеры похожи на каталог в файловой системе, они определяют порядок файлов в учетной записи хранения Azure.

Чтобы создать контейнер на портале Azure, сделайте следующее:

  1. В учетной записи хранения Azure выберите контейнеры из раздела хранилища данных в области навигации.

  2. Выберите +Контейнер в области "Контейнеры", чтобы открыть панель "Создать контейнер".

  3. Щелкните Создать, чтобы создать контейнер.

    Снимок экрана: страница нового контейнера в учетной записи хранения Azure.

    После создания контейнера вы можете передать в него файлы.

  4. После создания контейнера выберите его.

    Снимок экрана: новый контейнер, созданный в учетной записи хранения Azure.

  5. Выберите " Отправить" на панели инструментов, выберите один или несколько файлов

  6. Нажмите кнопку Отправить.

    Снимок экрана: страница отправки BLOB-объектов при создании контейнера.

Добавление хранилища данных

После создания учетной записи хранения Azure с файлами, отправленными в один или несколько контейнеров, вы можете создать хранилище данных, которое связывает учетные записи хранения с учетной записью Azure Maps.

Внимание

Все учетные записи хранения, связанные с учетной записью Azure Maps, должны находиться в одном географическом расположении. Дополнительные сведения см. в географической области службы Azure Maps.

Примечание.

Если у вас нет учетной записи хранения, см. статью "Создание учетной записи хранения".

  1. Выберите хранилище данных из меню слева в учетной записи Azure Maps.

  2. Нажмите кнопку Добавить. Экран "Добавить хранилище данных" отображается справа.

  3. Введите нужный идентификатор хранилища данных, а затем выберите имя подписки и учетную запись хранения из раскрывающихся списков.

  4. Выберите Добавить.

    Снимок экрана: экран добавления хранилища данных.

Теперь новое хранилище данных появится в списке хранилищ данных.

Назначение ролей управляемым удостоверениям и их добавление в хранилище данных

После создания управляемых удостоверений и хранилища данных можно добавить управляемые удостоверения в хранилище данных, а также одновременно назначить им роли "Участник и средство чтения данных BLOB-объектов хранилища". Хотя можно добавить роли в управляемые удостоверения непосредственно в управляемых удостоверениях или учетной записи хранения, которые можно легко сделать, одновременно связывая их с хранилищем данных Azure Maps непосредственно в области хранилища данных.

Примечание.

Каждому управляемому удостоверению, связанному с хранилищем данных, потребуются роли участника и читателя BLOB-объектов хранилища, предоставленные им. Если у вас нет необходимых разрешений для предоставления ролей управляемым удостоверениям, обратитесь к администратору Azure. Чтобы назначить роли управляемым удостоверениям и связать их с хранилищем данных:

  1. Выберите хранилище данных из меню слева в учетной записи Azure Maps.

  2. Выберите один или несколько хранилищ данных из списка, а затем назначьте роли.

  3. Выберите управляемое удостоверение , чтобы связать выбранные хранилища данных из раскрывающегося списка.

  4. Выберите участника и средство чтения данных BLOB-объектов хранилища в ролях, чтобы назначить раскрывающийся список.

    Снимок экрана: назначение ролей экрану хранилища данных.

  5. Нажмите кнопку Назначить.

Свойства реестра данных

С помощью хранилища данных, созданного в учетной записи Azure Maps, вы можете собрать свойства, необходимые для создания реестра данных.

Есть свойства AzureBlob, передаваемые в тексте HTTP-запроса, и идентификатор данных пользователя, переданный в URL-адресе.

The AzureBlob

Это AzureBlob объект JSON, определяющий свойства, необходимые для создания реестра данных.

Свойство Description
kind Определяет тип зарегистрированного объекта. В настоящее время AzureBlob является единственным поддерживаемым типом.
dataFormat Формат данных файла, расположенного в blobUrl. Его формат может быть GeoJSON для пространственной службы (не рекомендуется1) или ZIP для службы преобразования (не рекомендуется1).
msiClientId Идентификатор управляемого удостоверения, используемого для создания реестра данных.
linkedResource Идентификатор хранилища данных, зарегистрированного в учетной записи Azure Maps.
Хранилище данных содержит ссылку на зарегистрированный файл.
blobUrl URL-адрес, указывающий на расположение AzurebBlob, файл, импортированный в контейнер.

1 Azure Maps Creator, а реестр данных и пространственные службы теперь устарели и будут прекращены 9.30.25.

В следующих двух разделах содержатся сведения о том, как получить значения, используемые для свойств msiClientId, blobUrl .

Свойство msiClientId

Это msiClientId свойство является идентификатором управляемого удостоверения, используемого для создания реестра данных. Существует два типа управляемых удостоверений: назначаемые системой и назначаемые пользователем. Жизненный цикл управляемых удостоверений, назначаемых системой, связан с ресурсом, который их создал. Назначаемые пользователем управляемые удостоверения могут использоваться для нескольких ресурсов. Дополнительные сведения см. в статье об управляемых удостоверениях для ресурсов Azure.

При использовании управляемых удостоверений, назначаемых системой, не нужно указывать значение для msiClientId свойства. Служба реестра данных автоматически использует назначенное системой удостоверение учетной записи Azure Maps при msiClientId значении NULL.

Свойство BLOBUrl

Свойство blobUrl — это путь к зарегистрированным файлу. Это значение можно получить из контейнера, в который он был добавлен. Реестр данных

  1. Выберите учетную запись хранения в портал Azure.

  2. Выберите контейнеры в меню слева.

  3. Появится список контейнеров. Выберите контейнер, содержащий файл, который требуется зарегистрировать.

  4. Откроется контейнер, в котором отображается список файлов, отправленных ранее.

  5. Выберите нужный файл, а затем скопируйте URL-адрес.

    Снимок экрана: выбор URL-адреса, используемого в качестве свойства BLOBUrl.

Идентификатор данных пользователя

Идентификатор данных пользователя (udid) реестра данных — это определяемый пользователем ИДЕНТИФИКАТОР GUID, который должен соответствовать следующему шаблону Regex:

^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$

Совет

Это udid определяемый пользователем ИДЕНТИФИКАТОР GUID, который необходимо предоставить при создании реестра данных. Если вы хотите быть уверены, что у вас есть глобальный уникальный идентификатор (GUID), попробуйте создать его, выполнив средство создания GUID, например программу командной строки Guidgen.exe (доступно в Visual Studio).

Создание реестра данных

Теперь, когда у вас есть учетная запись хранения с нужными файлами, связанными с учетной записью Azure Maps, через хранилище данных и собраны все необходимые свойства, вы готовы использовать API реестра данных для регистрации этих файлов. Если у вас несколько файлов в учетной записи хранения Azure, которую вы хотите зарегистрировать, необходимо выполнить запрос на регистрацию для каждого файла (udid).

Примечание.

Максимальный размер файла, который можно зарегистрировать в хранилище данных Azure Maps, составляет один гигабайт.

Чтобы создать реестр данных, выполните следующие действия.

  1. Укажите сведения, необходимые для ссылки на учетную запись хранения, которая добавляется в реестр данных в тексте HTTP-запроса. Сведения должны быть в формате JSON и содержать следующие поля:

    {
    "kind": "AzureBlob",
        "azureBlob": {
            "dataFormat": "geojson",
            "linkedResource": "{datastore ID}",
            "blobUrl": "https://teststorageaccount.blob.core.windows.net/testcontainer/test.geojson"
        }
    }
    

    Примечание.

    При использовании управляемых удостоверений, назначаемых системой, вы получите ошибку, если указать значение свойства msiClientId в HTTP-запросе.

    Дополнительные сведения о свойствах, необходимых в тексте HTTP-запроса, см. в свойствах реестра данных.

  2. После подготовки текста HTTP-запроса выполните следующий HTTP-запрос PUT:

    https://us.atlas.microsoft.com/dataRegistries/{udid}?api-version=2023-06-01&subscription-key={Your-Azure-Maps-Subscription-key} 
    
    

    Дополнительные сведения о свойстве udid см. в разделе Идентификатор данных пользователя.

  3. Скопируйте значение ключа Operation-Location из заголовка ответа.

Совет

Если содержимое ранее зарегистрированного файла изменено, он завершится ошибкой проверки данных и не будет использоваться в Azure Maps, пока он не будет зарегистрирован повторно. Чтобы повторно зарегистрировать файл, повторно запустите запрос на регистрацию, передавая тот же AzureBlob , который использовался для создания исходной регистрации. Значение ключа Operation-Location — это URL-адрес состояния, который будет использоваться для проверки состояния создания реестра данных в следующем разделе, он содержит идентификатор операции, используемый API получения операций .

Примечание.

Значение ключа Operation-Location не будет содержать значения subscription-key, необходимо добавить его в URL-адрес запроса при его использовании для проверки состояния создания реестра данных.

Проверка состояния создания реестра данных

Чтобы (необязательно) проверить состояние процесса создания реестра данных, введите URL-адрес состояния, скопированный в разделе "Создание реестра данных", и добавьте ключ подписки в качестве параметра строки запроса. Запрос должен выглядеть примерно так:

https://us.atlas.microsoft.com/dataRegistries/operations/{udid}?api-version=2023-06-01&subscription-key={Your-Azure-Maps-Primary-Subscription-key}

Получение списка всех файлов в реестре данных

Используйте запрос списка, чтобы получить список всех файлов, зарегистрированных в учетной записи Azure Maps:

https://us.atlas.microsoft.com/dataRegistries?api-version=2023-06-01&subscription-key={Azure-Maps-Subscription-key}

В следующем примере показаны три возможных состояния, завершенные, запущенные и неудачные:

{
  "value": [
    {
      "udid": "f6495f62-94f8-0ec2-c252-45626f82fcb2",
      "description": "Contoso Indoor Design",
      "kind": "AzureBlob",
      "azureBlob": {
        "dataFormat": "zip",
        "msiClientId": "3263cad5-ed8b-4829-b72b-3d1ba556e373",
        "linkedResource": "my-storage-account",
        "blobUrl": "https://mystorageaccount.blob.core.windows.net/my-container/my/blob/path1.zip",
        "sizeInBytes": 29920,
        "contentMD5": "CsFxZ2YSfxw3cRPlqokV0w=="
      },
      "status": "Completed"
    },
    {
      "udid": "8b1288fa-1958-4a2b-b68e-13a7i5af7d7c",
      "kind": "AzureBlob",
      "azureBlob": {
        "dataFormat": "geojson",
        "msiClientId": "3263cad5-ed8b-4829-b72b-3d1ba556e373",
        "linkedResource": "my-storage-account",
        "blobUrl": "https://mystorageaccount.blob.core.windows.net/my-container/my/blob/path2.geojson",
        "sizeInBytes": 1339
      },
      "status": "Running"
    },
    {
      "udid": "7c1288fa-2058-4a1b-b68f-13a6h5af7d7c",
      "description": "Contoso Geofence GeoJSON",
      "kind": "AzureBlob",
      "azureBlob": {
        "dataFormat": "geojson",
        "linkedResource": "my-storage-account",
        "blobUrl": "https://mystorageaccount.blob.core.windows.net/my-container/my/blob/path3.geojson",
        "sizeInBytes": 1650,
        "contentMD5": "rYpEfIeLbWZPyaICGEGy3A=="
      },
      "status": "Failed",
      "error": {
        "code": "ContentMD5Mismatch",
        "message": "Actual content MD5: sOJMJvFParkSxBsvvrPOMQ== doesn't match expected content MD5: CsFxZ2YSfxw3cRPlqokV0w==."
      }
    }
  ]
}

Данные, возвращаемые при выполнении запроса списка, аналогичны данным, предоставленным при создании реестра с несколькими дополнениями:

свойство описание
contentMD5 Хэш MD5, созданный из содержимого зарегистрированного файла. Дополнительные сведения см. в разделе "Проверка данных"
sizeInBytes Размер содержимого в байтах.

Замена реестра данных

Если необходимо заменить ранее зарегистрированный файл другим файлом, повторно запустите запрос на регистрацию, передавая тот же AzureBlob , который использовался для создания исходной регистрации, за исключением blobUrl. Необходимо BlobUrl изменить его, чтобы указать на новый файл.

Проверка данных

При регистрации файла в Azure Maps с помощью API реестра данных хэш MD5 создается из содержимого файла, кодируя его в 128-разрядный отпечаток и сохраняя его в AzureBlob качестве contentMD5 свойства. Хэш MD5, хранящийся в свойстве contentMD5 , используется для обеспечения целостности данных файла. Так как алгоритм хэша MD5 всегда создает одинаковые выходные данные с одинаковыми входными данными, процесс проверки данных может сравнить contentMD5 свойство файла при регистрации в хэше файла в учетной записи хранения Azure, чтобы убедиться, что он нетронут и не изменен. Если хэш не совпадает, проверка завершается ошибкой. Если файл в базовой учетной записи хранения изменяется, проверка завершается ошибкой. Если необходимо изменить содержимое файла, зарегистрированного в Azure Maps, необходимо снова зарегистрировать его.