Новые возможности версии 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
Полный список всех изменений и улучшений см. на этих страницах выпуска:
- 06.02.2024 — версия 0.10.23
- 31.01.2024 — версия 0.10.21
- 07.12.2023 — версия 0.10.11
Кэширование в памяти
В версии 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
проверку файлов конфигурации на наличие ошибок или несоответствий, что улучшает рабочий процесс разработки.
Действия по проверке
- Проверка схемы
- Проверка свойств конфигурации
- Проверка разрешений конфигурации
- Проверка подключения к базе данных
- Проверка метаданных сущностей
Функции предварительной версии
Новые возможности версии 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
Полный список всех изменений и улучшений см. на этих страницах выпуска:
- 0.8.52: страница выпуска GitHub
- 0.8.51: страница выпуска GitHub
- 0.8.50: страница выпуска GitHub
- 0.8.49: страница выпуска GitHub
Добавлена поддержка env-файла.
Переменные среды защищают секреты от раскрытия обычного текста и позволяют менять значения в разных параметрах. Однако эти переменные должны быть заданы в области пользователя или компьютера, что может привести к "кровотечению" переменной между проектами, если имена переменных дублируются. Лучшей альтернативой являются файлы среды. Дополнительные сведения см. в блоге о файлах среды в построителе API данных.
Новые возможности версии 0.7.6
В этой статье описываются заметки о выпуске 0.7.6.
Запросы на вытягивание GitHub
- Устранение проблемы с запретом доступа фильтра для Cosmos
- Исправление ошибок для проверки подлинности поля Azure Cosmos DB, когда graphql имеет значение true, include — *.
Начальная поддержка создания документа описания 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
: предоставление пользовательского пути GraphQLrest.disabled
: глобальное отключение конечных точек RESTgraphql.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
}
Замена ссылки на службу хранилища Azure ссылками GitHub
Так как 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 operation
graphql
в разделе можно переопределить 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 true
init
команды . Пример команды показан в этом примере: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
}
}