Преобразование файла SEG-Y в oVDS

В этой статье вы узнаете, как преобразовать форматированные данные SEG-Y в формат Open VDS (oVDS). Сейсмические данные, хранящиеся в стандартном формате SEG-Y, можно преобразовать в формат oVDS для использования в приложениях с помощью сейсмического DMS. См. здесь сообщество OSDU®: SEG-Y для беседы oVDS. Это пошаговое руководство по выполнению преобразования. Обратите внимание, что фактический рабочий процесс может отличаться и использовать в качестве руководства для требуемого набора шагов для достижения преобразования.

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

Получение сведений об экземпляре Azure Data Manager для энергетики

Первым шагом является получение следующих сведений из экземпляра Azure Data Manager для энергии в портал Azure:

Параметр Значение Пример
client_id Идентификатор приложения (клиент) 3dbbbcc2-f28f-44b6-a5ab-xxxx
client_secret Секреты клиента _Fl******************
tenant_id Идентификатор каталога (клиента) 72f988bf-86f1-41af-91ab-xxxxx
base_url URL https://<instance>.energy.azure.com
data-partition-id Секции данных <data-partition-name>

Эти сведения используются далее в руководстве.

Настройка Postman

Затем настройте Postman:

  1. Скачайте и установите классическое приложение Postman .

  2. Импортируйте следующие файлы в Postman:

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

    1. Выберите "Импорт" в Postman.

    Снимок экрана: кнопка импорта в Postman.

    1. Вставьте URL-адрес каждого файла в поле поиска.

    Снимок экрана: импорт файлов коллекции и среды в Postman по URL-адресу.

  3. В среде Postman обновите CURRENT VALUE с информацией из azure Data Manager для экземпляра энергетики.

    1. В Postman в меню слева выберите "Среды" и выберите среду SEGYtoVDS.

    2. В столбце CURRENT VALUE введите сведения, описанные в таблице "Получение сведений об экземпляре Azure Data Manager для энергии".

    Снимок экрана: место ввода текущих значений в среде SEGYtoVDS.

Пошаговый процесс преобразования файла SEG-Y в oVDS

Коллекция Postman предоставляет все примеры вызовов, которые будут использоваться в качестве руководства. Вы также можете получить эквивалентную команду cURL для вызова Postman, нажав кнопку "Код ".

Снимок экрана: кнопка

Снимок экрана: создание юридического тега.

Подготовка файлов набора данных

Этот файл содержит пример сопоставления заголовков векторов, а этот файл содержит пример служба хранилища записей для преобразования VDS.

Доступ пользователей

Пользователь должен быть частью users.datalake.admins группы. Проверьте текущие права для пользователя с помощью следующего вызова:

Снимок экрана: вызов API для получения групп пользователей в Postman.

Далее в этом руководстве вам потребуется по крайней мере один owner и хотя бы один viewer. Эти группы пользователей выглядят как data.default.owners и data.default.viewers. Обязательно запишите один из них в списке.

Если пользователь не является частью требуемой группы, можно добавить необходимое право с помощью следующего примера вызова: email-id: значение "ID", возвращаемое из приведенного выше вызова.

Снимок экрана: вызов API для регистрации пользователя в качестве администратора в Postman.

Если вы еще не создали группы прав, следуйте указаниям, описанным в руководстве по управлению пользователями. Если вы хотите узнать, какие группы у вас есть, используйте группы прав получения для данного пользователя. Изоляция доступа к данным достигается с помощью выделенного списка ACL (списка управления доступом) для каждого объекта в заданной секции данных.

Подготовка подпроекта

1. Регистрация секции данных в сейсмическом режиме

Снимок экрана: вызов API для регистрации секции данных в качестве сейсмического клиента в Postman.

2. Создание подпроекта

Используйте ранее созданные группы прав, которые вы хотите добавить в качестве администраторов и зрителей ACL (контроль доступа list). Права секции данных не обязательно преобразуются в подпроекты внутри него, поэтому важно быть явным в отношении списков управления доступом для каждого подпроекта независимо от того, в какой секции данных она находится.

Снимок экрана: вызов API для создания сейсмического подпроекта в Postman.

3. Создание набора данных

Примечание.

Этот шаг необходим только в том случае, если вы не используете sdutil для отправки сейсмических файлов.

Снимок экрана: вызов API для создания набора сейсмических данных в Postman.

Отправка файла

Существует два способа отправки SEGY-файла. Один из вариантов — использовать sasurl через вызов Postman /curl. Вам нужно скачать Postman или настроить Curl на операционной системе. Второй метод — использовать SDUTIL. Чтобы войти в экземпляр ADME с помощью средства, необходимо создать маркер обновления для экземпляра. Узнайте , как создать маркер проверки подлинности. Кроме того, можно изменить код SDUTIL, чтобы использовать учетные данные клиента вместо входа. Если вы еще не сделали этого, необходимо настроить SDUTIL. Скачайте базу кода и измените ее config.yaml в корневом каталоге. Замените содержимое этого файла конфигурации следующим yaml.

seistore:
    service: '{"azure": {"azureEnv":{"url": "<instance url>/seistore-svc/api/v3", "appkey": ""}}}'
    url: '<instance url>/seistore-svc/api/v3'
    cloud_provider: azure
    env: glab
    auth-mode: JWT Token
    ssl_verify: false
auth_provider:
    azure: '{ 
        "provider": "azure", 
        "authorize_url": "https://login.microsoftonline.com/", "oauth_token_host_end": "/oauth2/v2.0/token", 
        "scope_end":"/.default openid profile offline_access",
        "redirect_uri":"http://localhost:8080",
        "login_grant_type": "refresh_token",
        "refresh_token": "<RefreshToken acquired earlier>" 
        }'
azure:
    empty: none

Метод 1. Postman

Получите sasurl:

Снимок экрана: вызов API для получения URL-адреса отправки GCS в Postman.

Отправьте файл:

Необходимо выбрать файл для отправки в разделе "Текст" вызова API.

Снимок экрана: вызов API для отправки файла в Postman.

Снимок экрана: вызов API для отправки двоичного файла в Postman.

Проверка отправки

Снимок экрана: вызов API для проверки передачи двоичного файла в Postman.

Метод 2. SDUTIL

sdutil — это программа рабочего стола OSDU для доступа к сейсмической службе. Мы используем его для отправки и скачивания файлов. Используйте тег azure-stable из SDUTIL.

Примечание.

При выполнении python sdutil config initInsert the azure (azureGlabEnv) application key:не нужно вводить ничего при появлении запроса.

python sdutil config init
python sdutil auth login
python sdutil ls sd://<data-partition-id>/<subproject>/

Отправьте сейсмический файл в хранилище Сейсмических данных. Ниже приведен пример с именем SEGY-format file source.segy:

python sdutil cp <local folder>/source.segy sd://<data-partition-id>/<subproject>/destination.segy

Например:

python sdutil cp ST10010ZC11_PZ_PSDM_KIRCH_FULL_T.MIG_FIN.POST_STACK.3D.JS-017536.segy sd://<data-partition-id>/<subproject>/destination.segy

Создание сопоставления векторов заголовков

Создание сопоставления векторов заголовков

Снимок экрана: вызов API для создания сопоставления векторов заголовков в Postman.

Создание записей служба хранилища

Снимок экрана: вызов API для создания записей хранения в Postman.

Запуск конвертера

  1. Активируйте DAG преобразования VDS, чтобы преобразовать данные с помощью сохраненных выше значений контекста выполнения.

    Извлеките маркер идентификатора из sdutil для отправленного файла или используйте маркер доступа или носителя из Postman.

python sdutil auth idtoken

Снимок экрана: вызов API для запуска рабочего процесса преобразования в Postman.

  1. Пусть DAG запускается в succeeded состояние. Состояние можно проверка с помощью вызова состояния рабочего процесса. Идентификатор выполнения находится в ответе приведенного выше вызова.

Снимок экрана: вызов API для проверка состояния рабочего процесса преобразования в Postman.

  1. Можно увидеть, присутствует ли преобразованный файл с помощью следующей команды в sdutil или в вызове API Postman:

    python sdutil ls sd://<data-partition-id>/<subproject>
    

Снимок экрана: вызов API для проверка, если файл был преобразован.

  1. Убедитесь, что преобразованные файлы присутствуют в указанном расположении в триггере DAG или нет

    python sdutil ls sd://<data-partition-id>/<subproject>/
    
  2. Если вы хотите скачать и проверить файлы VDS, не используйте cp команду, так как она не будет работать. Преобразование VDS приводит к нескольким файлам, поэтому cp команда не сможет скачать все из них в одной команде. Вместо этого используйте средство SEGYExport или VDSCopy. Эти средства используют ряд вызовов REST, обращаюющихся к схеме именования, для получения сведений обо всех полученных файлах VDS.

OSDU® — это товарный знак Open Group.

Следующие шаги