Поделиться через


Действие Get Metadata в Фабрике данных Azure или Azure Synapse Analytics

ОБЛАСТЬ ПРИМЕНЕНИЯ: Фабрика данных Azure Azure Synapse Analytics

Совет

Попробуйте использовать фабрику данных в Microsoft Fabric, решение для аналитики с одним интерфейсом для предприятий. Microsoft Fabric охватывает все, от перемещения данных до обработки и анализа данных в режиме реального времени, бизнес-аналитики и отчетности. Узнайте, как бесплатно запустить новую пробную версию !

Действие Get Metadata можно использовать для получения метаданных любых данных в конвейере Фабрики данных Azure или Synapse. Выходные данные действия получения метаданных можно использовать в условных выражениях для выполнения проверки. Кроме того, полученные метаданные можно использовать в последующих действиях.

Создание действия "Получение метаданных" с помощью пользовательского интерфейса

Чтобы использовать действие "Получить метаданные " в конвейере, выполните следующие шаги:

  1. Выполните поиск элемента Получить метаданные на панели конвейера "Действия" и перетащите действие "Сбой" на холст конвейера.

  2. Выберите новое действие "Получить метаданные" на холсте, если оно еще не выбрано, и вкладка "Параметры " для изменения сведений.

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

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

  4. Используйте выходные данные действия в качестве входных данных для другого действия, например действия "Переключение" в этом примере. Вы можете ссылаться на выходные данные действия "Метаданные" в любом месте, где поддерживается динамическое содержимое в другом действии.

    Показывает конвейер с действием Switch, добавленным для обработки выходных данных действия Get Metadata.

  5. В редакторе динамического содержимого выберите выходные данные действия "Получить метаданные", чтобы сослаться на него в другом действии.

    Отображает редактор динамического содержимого с выходными данными действия Get Metadata в качестве динамического содержимого.

Поддерживаемые возможности

Действие получения метаданных принимает в качестве входных данных набор данных и возвращает сведения о метаданных. Сейчас поддерживаются приведенные ниже соединители и соответствующие извлекаемые метаданные. Максимальный размер возвращаемых метаданных — 4 МБ.

Поддерживаемые соединители

Хранилище файлов

Соединитель и метаданные itemName
(файл или папка)
itemType
(файл или папка)
size
(файл)
создано
(файл или папка)
lastModified1
(файл или папка)
childItems
(папка)
contentMD5
(файл)
structure2
(файл)
columnCount2
(файл)
exists3
(файл или папка)
Amazon S3 √/√ √/√ x/x √/√ x √/√
Совместимое хранилище Amazon S3 √/√ √/√ x/x √/√ x √/√
Google Cloud Storage √/√ √/√ x/x √/√ x √/√
Хранилище Oracle Cloud √/√ √/√ x/x √/√ x √/√
Хранилище BLOB-объектов Azure √/√ √/√ x/x √/√ √/√
Azure Data Lake Storage 1-го поколения √/√ √/√ x/x √/√ x √/√
Azure Data Lake Storage 2-го поколения √/√ √/√ x/x √/√ √/√
Файлы Azure √/√ √/√ √/√ √/√ x √/√
Microsoft Fabric Lakehouse √/√ √/√ x/x √/√ √/√
Файловая система √/√ √/√ √/√ √/√ x √/√
SFTP √/√ √/√ x/x √/√ x √/√
FTP √/√ √/√ x/x x/x x √/√

1 Метаданные lastModified.

  • Для Amazon S3, Совместимое с Amazon S3 хранилище, Google Cloud Storage и Oracle Cloud Storage, lastModified применяется к контейнеру и ключу, но не к виртуальной папке, и exists применяется к контейнеру и ключу, но не к префиксу или виртуальной папке.
  • Для хранилища BLOB-объектов Azure метаданные lastModified применяются к контейнерам и большим двоичным объектам, но не с виртуальным папкам.

2 Метаданные и columnCount не поддерживаются при получении метаданных из двоичныхstructure, JSON-файлов или XML-файлов.

3 Метаданные exists: для Amazon S3, совместимого с Amazon S3, Google Cloud Storage и Oracle Cloud Storage, exists применяется к контейнеру и ключу, но не к префиксу или виртуальной папке.

Обратите внимание на следующие аспекты:

  • При использовании действия получения метаданных для папки убедитесь, что у вас есть разрешение LIST/EXECUTE для данной папки.

  • Фильтр подстановочных знаков в папках и файлах не поддерживается для действия get Metadata.

  • Для соединителя задаются фильтры modifiedDatetimeStart и modifiedDatetimeEnd.

    • Эти два свойства используются для фильтрации дочерних элементов при получении метаданных из папки. Он не применяется при получении метаданных из файла.
    • При использовании такого фильтра childItems в выходные данных добавляются только те файлы, которые были изменены за указанный период, но не являются папками.
    • Чтобы применить такой фильтр, действие GetMetadata перечисляет все файлы в указанной папке и проверяет время изменения. Не следует указывать на папку с большим количеством файлов, даже если ожидаемое число соответствующих файлов мало.

Реляционная база данных

Соединитель и метаданные отчета columnCount существует
Amazon RDS для SQL Server
База данных SQL Azure
Управляемый экземпляр SQL Azure
Azure Synapse Analytics
SQL Server

Параметры метаданных

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

Тип метаданных Description
itemName Имя файла или папки.
itemType Тип файла или папки. Возвращаемое значение — File или Folder.
size Размер файла в байтах. Применяется только к файлам.
создано Дата и время создания файла или папки.
lastModified Дата и время последнего изменения файла или папки.
childItems Список вложенных папок и файлов в указанной папке. Применяется только к папкам. Возвращаемое значение представляет собой список имен и типов дочерних элементов.
contentMD5 Сверка MD5 файла. Применяется только к файлам.
отчета Структура данных файла или таблицы реляционной базы данных. Возвращаемое значение представляет собой список имен и типов столбцов.
columnCount Число столбцов в файле или реляционной таблице.
существует Существует ли файл, папка или таблица. Если exists указан в списке полей "Получить метаданные", действие не завершается ошибкой, даже если файл, папка или таблица не существует. Вместо этого в выходных данных возвращается exists: false.

Совет

Если необходимо проверить, существует ли файл, папка или таблица, укажите exists в списке полей действия получения метаданных. Затем можно проверить результат exists: true/false в выходных данных действия. Если exists в списке полей не указано, действие get Metadata завершается ошибкой, если объект не найден.

Примечание.

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

Примечание.

Чтобы в списке полей Structure обеспечить реальную структуру данных для наборов данных с разделителями текста и в формате Excel, необходимо включить свойство First Row as Header, которое поддерживается только для этих источников данных.

Синтаксис

Действие получения метаданных в фабрике данных Azure

{
    "name":"MyActivity",
    "type":"GetMetadata",
    "dependsOn":[

    ],
    "policy":{
        "timeout":"7.00:00:00",
        "retry":0,
        "retryIntervalInSeconds":30,
        "secureOutput":false,
        "secureInput":false
    },
    "userProperties":[

    ],
    "typeProperties":{
        "dataset":{
            "referenceName":"MyDataset",
            "type":"DatasetReference"
        },
        "fieldList":[
            "size",
            "lastModified",
            "structure"
        ],
        "storeSettings":{
            "type":"AzureBlobStorageReadSettings"
        },
        "formatSettings":{
            "type":"JsonReadSettings"
        }
    }
}

Набор данных

{
    "name":"MyDataset",
    "properties":{
        "linkedServiceName":{
            "referenceName":"AzureStorageLinkedService",
            "type":"LinkedServiceReference"
        },
        "annotations":[

        ],
        "type":"Json",
        "typeProperties":{
            "location":{
                "type":"AzureBlobStorageLocation",
                "fileName":"file.json",
                "folderPath":"folder",
                "container":"container"
            }
        }
    }
}

Свойства типа

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

Свойство Описание: Обязательное поле
fieldList Типы необходимых сведений о метаданных. Дополнительные сведения о поддерживаемых метаданных см. в разделе Параметры метаданных этой статьи. Да
набор данных Эталонный набор данных, метаданные которого требуется получить с помощью действия получения метаданных. Сведения о поддерживаемых соединителях см. в разделе Возможности. Дополнительные сведения о синтаксисе набора данных см. в конкретных статьях соединителя. Да
formatSettings Применяется при использовании набора данных типа с форматированием. No
storeSettings Применяется при использовании набора данных типа с форматированием. No

Пример полученных результатов

Результаты получения метаданных отображаются в выходных данных действия. Ниже приведены два примера, в которых показано множество параметров метаданных. Чтобы использовать эти результаты в последующем действии, следует применить шаблон @{activity('MyGetMetadataActivity').output.itemName}.

Получение метаданных файла

{
  "exists": true,
  "itemName": "test.csv",
  "itemType": "File",
  "size": 104857600,
  "lastModified": "2017-02-23T06:17:09Z",
  "created": "2017-02-23T06:17:09Z",
  "contentMD5": "cMauY+Kz5zDm3eWa9VpoyQ==",
  "structure": [
    {
        "name": "id",
        "type": "Int64"
    },
    {
        "name": "name",
        "type": "String"
    }
  ],
  "columnCount": 2
}

Получение метаданных папки

{
  "exists": true,
  "itemName": "testFolder",
  "itemType": "Folder",
  "lastModified": "2017-02-23T06:17:09Z",
  "created": "2017-02-23T06:17:09Z",
  "childItems": [
    {
      "name": "test.avro",
      "type": "File"
    },
    {
      "name": "folder hello",
      "type": "Folder"
    }
  ]
}

Ознакомьтесь с другими поддерживаемыми действиями потока управления: