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


Новые возможности версии 0.11 и более ранних версий

Заметки о выпуске и сведения обо всех обновлениях и улучшениях в конструкторе API данных версии 0.11 и более ранних версий.

Новые возможности версии 0.11

Заметки о выпуске и сведения об обновлениях и улучшениях в конструкторе API данных версии 0.10.

Поддержка GraphQL для хранилища данных SQL

Хранилище данных SQL теперь поддерживает конечные точки GraphQL.

Расширенная фильтрация Azure Cosmos DB для NoSQL

Azure Cosmos DB для NoSQL теперь поддерживает вложенные фильтры, переменные идентификатора и поиск в массиве строк с помощью contains оператора .

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

Теперь вы можете использовать интерфейс командной строки (CLI) DAB, чтобы включить сбор данных с помощью Application Insights.

Новые возможности версии 0.10

Заметки о выпуске и сведения об обновлениях и улучшениях в конструкторе API данных версии 0.10.

Наше внимание смещается на стабильность по мере приближения к общедоступной доступности. Хотя не все усилия по обеспечению качества кода и стабильности подсистемы подробно описаны в этой статье, в этом списке перечислены важные обновления.

Заметки о выпуске GitHub

Полный список всех изменений и улучшений см. на этих страницах выпуска:

Кэширование в памяти

В версии 0.10 реализовано кэширование в памяти для конечных точек REST и GraphQL. Эта функция, предназначенная для внутреннего кэширования, закладывает основу для будущего распределенного кэширования. Кэширование в памяти снижает нагрузку на базу данных от повторяющихся запросов.

Сценарии кэширования

  • Уменьшение нагрузки на базу данных. Кэш хранит результаты ресурсоемких запросов, устраняя необходимость в повторных вызовах базы данных.
  • Улучшение масштабируемости API: кэширование поддерживает более частые вызовы API без увеличения количества запросов к базе данных, что значительно масштабируется возможности API.

Изменения конфигурации

Параметры кэширования доступны в runtime разделе и для каждой сущности, предлагая детализированное управление.

Параметры среды выполнения:

{
  "runtime": {
    "cache": {
      "enabled": true,
      "ttl-seconds": 6
    }
  }
}
  • Кэширование отключено по умолчанию.
  • Срок жизни по умолчанию составляет 5 секунд.

Параметры сущности:

{
  "Book": {
    "source": {
      "object": "books",
      "type": "table"
    },
    "graphql": {
      "enabled": true,
      "type": {
        "singular": "book",
        "plural": "books"
      }
    },
    "rest": {
      "enabled": true
    },
    "permissions": [
      {
        "role": "anonymous",
        "actions": [
          {
            "action": "*"
          }
        ]
      }
    ],
    "cache": {
      "enabled": true,
      "ttl-seconds": 6
    }
  }
}

Проверка конфигурации в CLI

Интерфейс командной строки теперь поддерживает dab validate проверку файлов конфигурации на наличие ошибок или несоответствий, что улучшает рабочий процесс разработки.

Действия по проверке

  1. Проверка схемы
  2. Проверка свойств конфигурации
  3. Проверка разрешений конфигурации
  4. Проверка подключения к базе данных
  5. Проверка метаданных сущностей

Функции предварительной версии

  • Начальная поддержка DWSQL. #1864
  • Поддержка нескольких источников данных. #1709

Новые возможности версии 0.9

Ниже приведены сведения о наиболее важных изменениях и улучшениях в построителе API данных 0.9.

Заметки о выпуске GitHub

Полный список всех изменений и улучшений см. на этих страницах выпуска:

Включение Application Insights при самостоятельном размещении DAB

Теперь журналы можно передавать в Application Insights для улучшения мониторинга и отладки, особенно при развертывании конструктора API данных в Azure. В файл конфигурации можно добавить новый telemetry раздел, чтобы включить и настроить интеграцию с Application Insights:

"telemetry": {
    "application-insights": {
    "enabled": true,    // To enable/disable application insights telemetry
    "connection-string": "{APP_INSIGHTS_CONNECTION_STRING}" // Application Insights connection string to send telemetry
    }
}

Ознакомьтесь со всеми сведениями на странице документации по Использованию Application Insights .

Поддержка игнорирования лишних полей в тексте запроса REST

С помощью нового request-body-strict параметра теперь можно решить, создает ли дополнительное поле в полезных данных REST ошибку (поведение по умолчанию, обратная совместимость) или дополнительные поля игнорируются автоматически.

"runtime": {
    "rest": {
      "enabled": true,
      "path": "/api",
      "request-body-strict": true
    },
    ...
}

Если задать request-body-strict для параметра значение false, поля, которые не имеют сопоставления со связанным объектом базы данных, игнорируются без возникновения ошибок.

Добавление имени приложения для подключений mssql

Теперь построитель API данных внедряет в строку подключения только для mssql типов баз данных значение dab-<version> в качестве Application Name свойства, что упрощает идентификацию подключений на сервере базы данных. Если Application Name он уже присутствует в строке подключения, к ней добавляется версия конструктора API данных.

Поддержка time типа данных в mssql

time теперь в базах данных поддерживается mssql тип данных.

Изменения в таблице с триггерами для mssql

Изменения теперь полностью поддерживаются в таблицах с триггерами для mssql баз данных.

Запрет обновления и вставки полей, доступных только для чтения, в таблице пользователем

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

Новые возможности версии 0.8

Ниже приведены сведения о наиболее важных изменениях и улучшениях в построителе API данных 0.8.

Заметки о выпуске GitHub

Полный список всех изменений и улучшений см. на этих страницах выпуска:

Добавлена поддержка env-файла.

Переменные среды защищают секреты от раскрытия обычного текста и позволяют менять значения в разных параметрах. Однако эти переменные должны быть заданы в области пользователя или компьютера, что может привести к "кровотечению" переменной между проектами, если имена переменных дублируются. Лучшей альтернативой являются файлы среды. Дополнительные сведения см. в блоге о файлах среды в построителе API данных.

Новые возможности версии 0.7.6

В этой статье описываются заметки о выпуске 0.7.6.

Запросы на вытягивание GitHub

Начальная поддержка создания документа описания OpenAPI версии 3-0-1

Построитель API данных поддерживает стандарт OpenAPI для создания и предоставления документации по описанию, содержащей полезную информацию о службе. Эти документы создаются на основе файла конфигурации среды выполнения и метаданных для каждого объекта базы данных. Эти объекты связаны с сущностью с поддержкой REST, определенной в том же файле конфигурации. Затем они предоставляются через пользовательский интерфейс и делаются доступными в виде сериализованного файла.

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

Разрешение слияния файлов конфигурации

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

Можно поддерживать несколько пар базовых и конкретных файлов конфигурации среды, чтобы упростить управление параметрами конкретной среды. Например, можно поддерживать отдельные конфигурации для разработки и производства. На этом шаге необходимо создать базовый файл конфигурации со всеми общими параметрами в разных средах. Затем, задав DAB_ENVIRONMENT переменную, можно указать, какие файлы конфигурации следует объединить для использования построителем API данных.

Дополнительные сведения см. в справочнике по CLI.

Выполнение изменений GraphQL и REST в транзакции

Построитель API данных создает транзакции базы данных для выполнения определенных типов запросов GraphQL и REST.

Существует множество запросов, которые включают в себя выполнение нескольких запросов к базе данных. Например, чтобы вернуть результаты обновления, сначала необходимо выполнить запрос на обновление, а затем считывать новые значения перед возвратом. Если запрос требует выполнения нескольких запросов к базе данных, построитель API данных теперь выполняет эти запросы базы данных в рамках одной транзакции.

Дополнительные сведения об этой возможности см. в контексте REST в документации по REST и GraphQL в документации по GraphQL.

Новые возможности версии 0.6.14

В этой статье описывается исправление для выпуска за март 2023 г. для конструктора API данных для баз данных Azure.

Исправления ошибок

  • Устранение проблемы с отклонением доступа к фильтру запросов для Cosmos.
  • Cosmos DB в настоящее время не поддерживает авторизацию на уровне полей. Чтобы избежать ситуации, когда пользователи случайно передают разрешения в field конфигурации среды выполнения, мы добавили проверку.

Новые возможности версии 0.6.13

Полный список заметок о выпуске для этой версии доступен на сайте GitHub: https://github.com/Azure/data-api-builder/releases/tag/v0.6.13.

Новая команда CLI для экспорта схемы GraphQL

Добавлен новый параметр для экспорта схемы GraphQL. При этом запускается сервер DAB, а затем выполняется запрос на получение схемы перед записью в указанное расположение.

dab export --graphql -c dab-config.development.json -o ./schemas

Эта команда создает файл схемы GraphQL в каталоге ./schemas. Путь к файлу конфигурации является необязательным параметром, который по умолчанию имеет значение "dab-config.json", если только не "dab-config.<>DAB_ENVIRONMENT.json существует, где DAB_ENVIRONMENT является переменной среды.

Поддержка политики базы данных для действия создания для MsSql

Политики базы данных теперь поддерживаются для всех операций CRUD (создание, чтение, обновление, удаление) для MsSql. Пример:

"entities":{
  "Revenue":{
    "source": "revenues",
    "permissions":[
      "role": "authenticated",
          "actions": [
            {
              "action": "Create",
              "policy": {
                "database": "@item.revenue gt 0"
              }
            },
            "read",
            "update",
            "delete"
          ]
    ]
  }
}

Предыдущая конфигурация для Revenue сущности указывает, что пользователю, выполняющему операцию вставки с ролью Authenticated , запрещено создавать запись с доходом меньше или равным нулю.

Возможность глобальной настройки пути GraphQL и отключения конечных точек REST и GraphQL с помощью CLI

Теперь мы поддерживаем еще три варианта для init команды:

  • graphql.path : предоставление пользовательского пути GraphQL
  • rest.disabled: глобальное отключение конечных точек REST
  • graphql.disabled: глобальное отключение конечных точек GraphQL

Например, init команда создаст файл конфигурации с разделом среды выполнения:

dab init --database-type mssql --rest.disabled --graphql.disabled --graphql.path /gql
"runtime": {
    "rest": {
      "enabled": false,
      "path": "/api"
    },
    "graphql": {
      "allow-introspection": true,
      "enabled": false,
      "path": "/gql"
    },
}

Ключевые поля, обязательные для добавления и обновления представлений в CLI

Теперь пользователь должен предоставлять поля ключей (которые будут использоваться в качестве первичного ключа) с помощью предоставленного параметра source.key-fields при каждом добавлении нового представления базы данных (через dab add) в конфигурацию с помощью CLI. Кроме того, при каждом обновлении чего-либо в конфигурации представления (с помощью dab update) в файле конфигурации с помощью ИНТЕРФЕЙСА командной строки при обновлении изменяется что-либо, связанное с определением представления в базовой базе данных (например, тип источника, поля ключей), необходимо также указать поля ключей в команде обновления.

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

Например, dab add команда используется для добавления представления:

dab add books_view --source books_view --source.type "view" --source.key-fields "id" --permissions "anonymous:*" --rest true --graphql true

Эта команда создает конфигурацию для books_view сущности, как в следующем примере:

"books_view": {
      "source": {
        "type": "view",
        "object": "books_view",
        "key-fields":[
          "id"
        ]
      },
      "permissions": [
        {
          "role": "anonymous",
          "actions": [
            "*"
          ]
        }
      ],
      "rest": true,
      "graphql": true
    }

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

Новые возможности версии 0.5.34

Полный список заметок о выпуске для этой версии доступен на сайте GitHub: https://github.com/Azure/data-api-builder/releases/tag/v0.5.34.

Соблюдение флага REST и GraphQL на уровне среды выполнения

Добавлен новый параметр, позволяющий включать или отключать запросы REST/GraphQL для всех сущностей на уровне среды выполнения. Если этот параметр отключен глобально, никакие сущности не будут доступны через запросы REST или GraphQL независимо от параметров отдельных сущностей. Если этот параметр включен глобально, отдельные сущности доступны по умолчанию, если они не отключены явно параметрами уровня сущности.

"runtime": {
    "rest": {
      "enabled": false,
      "path": "/api"
    },
    "graphql": {
      "allow-introspection": true,
      "enabled": false,
      "path": "/graphql"
    }
  }

Идентификатор корреляции в журналах запросов

Чтобы упростить отладку, мы присоединяем идентификатор корреляции ко всем журналам, созданным во время запроса. Так как может быть выполнено много запросов, для отладки важно иметь способ идентификации журналов для конкретного запроса.

Поддержка операций с подстановочными знаками для хранимых процедур в подсистеме и CLI

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

Новые возможности версии 0.5.32

Полный список заметок о выпуске для этой версии доступен на сайте GitHub: https://github.com/Azure/data-api-builder/releases/tag/v0.5.32-beta.

Возможность настройки пути отдыха с помощью ИНТЕРФЕЙСА командной строки

В команде init появился новый параметр --rest.path для настройки пути для REST API.

dab init --database-type mssql --connection-string "Connection-String" --rest.path "rest-api" 

Эта команда настраивает конечные точки REST с префиксом rest-api. Полный путь для конечных точек REST: https://<dab-server>/rest-api/<entity-name>

Если --rest.path параметр не используется, конечные точки REST настраиваются с префиксом apiпо умолчанию . Полный путь в этом случае : https://<dab-server>/api/<entity-name>

Образ контейнера построителя API данных в MAR

Официальные образы Docker для построителя API данных для баз данных Azure теперь доступны в Реестре артефактов Майкрософт.

Инструкции по использованию опубликованных образов см. в разделе Реестр контейнеров Майкрософт — построитель API данных.

Поддержка фрагментов GraphQL

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

Дополнительные сведения о фрагментах см. в статье Запросы GraphQL.

Фрагмент, вызываемый description для типа Character , определяется далее:

fragment description on Character {
  name
  homePlanet
  primaryFunction
}

Запрос GraphQL, используюющий определенный фрагмент, можно создать, как показано ниже:

{
  Player1: Player{
    id
    playerDescription{
        ...description
    }
  }
}

Для предыдущего запроса результат содержит следующие поля:

{
 Player1: Player{
    id
    playerDescription{
        name
        homePlanet
        primaryFunction
    }
  }   
}

Включение BinSkim и исправление оповещений Policheck

BinSkim — это легкий сканер для переносимых исполняемых файлов (PE), который проверяет параметры компилятора и компоновщика и другие двоичные характеристики, относящиеся к безопасности. Задача конвейера добавляется в static-tools конвейер для выполнения проверок BinSkim при каждом запуске конвейера. Система PoliCheck — это набор средств и данных, которые помогают соблюдать требования к проверке текста и кода в рамках общей глобальной политики готовности. Оповещения, создаваемые проверками Policheck, исправлены в соответствии с конфиденциальными терминами.

Новые возможности версии 0.5.0

Полный список заметок о выпуске для этой версии доступен на сайте GitHub: https://github.com/Azure/data-api-builder/releases/tag/v0.5.0-beta.

Общедоступная схема JSON

Общедоступная схема JSON обеспечивает поддержку intellisense, если вы используете интегрированную среду разработки, например Visual Studio Code, которая поддерживает схемы JSON. Файл basic-empty-dab-config.json в папке samples имеет пример отправной точки при создании dab-config.json файла вручную.

Общедоступный Microsoft.DataApiBuilder NuGet

Microsoft.DataApiBuilder теперь доступен в виде общедоступного пакета NuGet здесь , чтобы упростить установку с помощью средства dotnet следующим образом:

dotnet tool install --global Microsoft.DataApiBuilder

Новое execute действие для хранимых процедур в Azure SQL

Новое execute действие представляется как единственное допустимое действие в permissions разделе файла конфигурации, только если тип источника поддерживает сущность stored-procedure. По умолчанию для таких сущностей разрешен только POST метод, и только операция GraphQL mutation настраивается с добавлением к их имени префикса execute . Явное указание разрешенного methods в rest разделе файла конфигурации переопределяет это поведение. Аналогичным образом для GraphQL operationgraphql в разделе можно переопределить query на . Дополнительные сведения см. в разделе Представления и хранимые процедуры.

Новый mappings раздел

mappings В разделе каждого из них entityсопоставления между именами полей объекта базы данных и соответствующими именами доступных полей определяются для конечных точек GraphQL и REST.

Формат будет следующим:

<database_field>: <entity_field>

Пример:

  "mappings":{
    "title": "descriptions",
    "completed": "done"
  }

Поле title в связанном объекте базы данных сопоставляется с полем description в типе GraphQL или в полезных данных запроса и ответа REST.

Поддержка контекста сеанса в Azure SQL

Чтобы включить дополнительный уровень безопасности (например, безопасность на уровне строк (RLS)), DAB теперь поддерживает отправку данных в базовую базу данных Sql Server через SESSION_CONTEXT. Дополнительные сведения см. в этом подробном документе по SESSION_CONTEXT: Авторизация от среды выполнения к базе данных.

Поддержка фильтрации вложенных объектов в документе в PostgreSQL

С помощью PostgreSQL теперь можно использовать связь объекта или массива, определенную в схеме, которая позволяет выполнять операции фильтрации для вложенных объектов так же, как Azure SQL.

query {
  books(filter: { series: { name: { eq: "Foundation" } } }) {
    items {
      title
      year
      pages
    }
  }
}

Поддержка скалярного списка в NoSQL Cosmos DB

Теперь для Cosmos DB добавлена возможность запрашивать List скалярные выражения.

Рассмотрим это определение типа.

type Planet @model(name:"Planet") {
    id : ID,
    name : String,
    dimension : String,
    stars: [Star]
    tags: [String!]
}

Теперь можно выполнить запрос, который получает список, например

query ($id: ID, $partitionKeyValue: String) {
    planet_by_pk (id: $id, _partitionKeyValue: $partitionKeyValue) {
        tags
    }
}

Расширенная поддержка ведения журнала с использованием уровня ведения журнала

  • Уровни журнала по умолчанию для подсистемы, когда host.mode имеет значение Production и Development , обновляются до Error и Debug соответственно.
  • Во время запуска подсистемы для каждого столбца сущности регистрируются такие сведения, как имена полей и первичный ключ. Такое поведение происходит даже при автоматическом создании сопоставления полей.
  • В сценарии локального выполнения все запросы, которые создаются и выполняются во время запуска подсистемы, регистрируются на Debug уровне.
  • Для каждой сущности регистрируются такие поля отношений, как source.fields, target.fieldsи cardinality . При наличии связей linking.object"многие-многие" регистрируются , linking.source.fieldsи linking.target.fields , выведенные из базы данных (или из файла конфигурации).
  • Для каждого входящего запроса регистрируется роль и состояние проверки подлинности запроса.
  • В CLI версия регистрируется вместе с журналами, Microsoft.DataAPIBuilder связанными с выполнением соответствующей команды.

Обновленный интерфейс командной строки

  • --no-https-redirect параметр добавляется в start команду . При использовании этого параметра можно предотвратить автоматическое перенаправление запросов из http в https .

  • В MsSql контекст сеанса можно включить с помощью --set-session-context trueinit команды . Пример команды показан в этом примере:

    dab init --database-type mssql --connection-string "Connection String" --set-session-context true
    
  • Сведения о проверке подлинности, такие как поставщик, аудитория и издатель, можно настроить с помощью параметров --auth.provider, --auth.audienceи --auth.issuer. в команде init . Пример команды показан в этом примере:

    dab init --database-type mssql --auth.provider AzureAD --auth.audience "audience" --auth.issuer "issuer"
    
  • Понятное сообщение об ошибках, когда имя сущности не указано.

Новые возможности версии 0.4.11

Полный список заметок о выпуске для этой версии доступен на сайте GitHub: https://github.com/Azure/data-api-builder/releases/tag/v0.4.11-alpha.

Обновлена схема JSON для data-source раздела

Раздел data-source в файле конфигурации обновлен так, чтобы он был согласован во всех поддерживаемых базах данных, но по-прежнему позволяет каждой базе данных иметь пользовательские конфигурации. В новом разделе options описано, как сгруппировать все свойства, относящиеся к базе данных. Пример:

{
  "$schema": "https://dataapibuilder.azureedge.net/schemas/v0.4.11-alpha/dab.draft.schema.json",
  "data-source": {
    "database-type": "cosmosdb_nosql",
    "options": {
      "database": "PlaygroundDB",
      "graphql-schema": "schema.gql"
    },
    "connection-string": "AccountEndpoint=https://localhost:8081/;AccountKey=REPLACEME;"
  }
}

Элементы, доступные в разделе , options зависят от выбранного database-type.

Поддержка фильтрации вложенных объектов в документе в Azure SQL и SQL Server

С помощью Azure SQL и SQL Server можно использовать связь объекта или массива, определенную в схеме, которая позволяет выполнять операции фильтрации для вложенных объектов.

query {
  books(filter: { series: { name: { eq: "Foundation" } } }) {
    items {
      title
      year
      pages
    }
  }
}

Улучшенная поддержка хранимых процедур

Полная поддержка хранимых процедур в REST и GraphQL. Хранимая процедура с параметрами теперь поддерживается на 100 %. Ознакомьтесь с документацией по хранимым процедурам, чтобы узнать, как использовать построитель API данных с хранимыми процедурами.

Новое database-type значение переименовано для Cosmos DB

Добавлена поддержка API PostgreSQL с Cosmos DB. В консолидированном data-source разделе атрибут database-type обозначает тип базы данных. Так как Cosmos DB поддерживает несколько API, в настоящее время поддерживаются cosmosdb_nosql типы баз данных и cosmosdb_postgresql.

  "data-source": {
    "database-type": "cosmosdb_nosql",
    "options": {
      "database": "PlaygroundDB",
      "graphql-schema": "schema.gql"
    }
  }

Переименование свойств CLI для cosmosdb_nosql

После изменений конфигурации, описанных в предыдущих разделах, теперь свойства CLI переименовываются соответствующим образом как cosmosdb_nosql-database и cosmosdb_nosql-container для API NoSQL Cosmos DB.

dab init --database-type "cosmosdb_nosql" --graphql-schema schema.gql --cosmosdb_nosql-database PlaygroundDB  --cosmosdb_nosql-container "books" --connection-string "AccountEndpoint=https://localhost:8081/;AccountKey=REPLACEME;" --host-mode "Development"

Управляемое удостоверение теперь поддерживается в Postgres

Теперь пользователь может также указать маркер доступа в конфигурации для проверки подлинности с помощью управляемого удостоверения. Кроме того, теперь пользователь просто не может указать пароль в строке подключения, и среда выполнения пытается получить маркер управляемого удостоверения по умолчанию. Если это не удается, попытка подключения выполняется без пароля в строке подключения.

Поддержка проверки подлинности пользователя Microsoft Entra ID для Azure MySQL

Добавлен маркер пользователя в качестве поля пароля для проверки подлинности в MySQL с помощью подключаемого модуля Microsoft Entra ID.

Новые возможности версии 0.3.7

Полный список заметок о выпуске для этой версии доступен на сайте GitHub: https://github.com/Azure/data-api-builder/releases/tag/v0.3.7-alpha.

Просмотр поддержки

Представления теперь поддерживаются как в REST, так и в GraphQL. Если у вас есть представление, например dbo.vw_books_details , его можно открыть с помощью следующей dab команды:

dab add BookDetail --source dbo.vw_books_details --source.type View --source.key-fields "id" --permissions "anonymous:read"

Параметр source.key-fields используется, чтобы указать, какие поля из представления используются для уникальной идентификации элемента, чтобы навигация по первичному ключу также была реализована для представлений. Разработчик, настроив DAB, включает или отключает действия (например, действие) в зависимости от того, create является ли представление обновляемым.

Поддержка хранимых процедур

Теперь для запросов REST поддерживаются хранимые процедуры. Если у вас есть хранимая процедура, например dbo.stp_get_all_cowritten_books_by_author , ее можно предоставить с помощью следующей dab команды:

dab add GetCowrittenBooksByAuthor --source dbo.stp_get_all_cowritten_books_by_author --source.type "stored-procedure" --permissions "anonymous:read" --rest true

Параметр можно передать в строку запроса URL-адреса при вызове конечной точки REST:

http://<dab-server>/api/GetCowrittenBooksByAuthor?author=isaac%20asimov

Примечание

Разработчик, настроив DAB, включает или отключает действия (например, create действие), чтобы разрешить или запретить определенные HTTP-команды при вызове хранимой процедуры. Например, для хранимой процедуры, используемой в примере, учитывая, что ее целью является возврат некоторых данных, имеет смысл разрешить read только действие .

Проверка подлинности Microsoft Entra ID

Проверка подлинности Microsoft Entra ID теперь полностью работает. Дополнительные сведения см. в статье Проверка подлинности с помощью Идентификатора Microsoft Entra.

Новый поставщик проверки подлинности симулятора для локальной проверки подлинности

Чтобы упростить тестирование запросов с проверкой подлинности при локальной разработке, доступен новый simulator поставщик проверки подлинности. Поставщик simulator — это настраиваемый поставщик проверки подлинности, который предписывает обработчику построителя API данных обрабатывать все запросы как прошедшие проверку подлинности. Дополнительные сведения см. в статье Локальная проверка подлинности.

Поддержка фильтрации вложенных объектов в документе в Azure Cosmos DB

С помощью Azure Cosmos DB можно использовать связь объекта или массива, определенную в схеме, которая позволяет выполнять операции фильтрации для вложенных объектов.

query {
  books(first: 1, filter : { author : { profile : { twitter : {eq : ""@founder""}}}})
    id
    name
  }
}