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


Api Policy - Create Or Update

Создает или обновляет конфигурацию политики для API.

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/policies/policy?api-version=2021-08-01

Параметры URI

Имя В Обязательно Тип Описание
apiId
path True

string

Идентификатор редакции API. Должен быть уникальным в текущем экземпляре службы Управление API. В текущей редакции имеется ; rev=n в качестве суффикса, где n — номер редакции.

Шаблон регулярного выражения: ^[^*#&+:<>?]+$

policyId
path True

PolicyIdName

Идентификатор политики.

resourceGroupName
path True

string

Имя группы ресурсов.

serviceName
path True

string

Имя службы Управление API.

Шаблон регулярного выражения: ^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$

subscriptionId
path True

string

Учетные данные подписки, которые однозначно идентифицируют подписку Microsoft Azure. Идентификатор подписки формирует часть URI для каждого вызова службы.

api-version
query True

string

Версия API для использования с клиентским запросом.

Заголовок запроса

Имя Обязательно Тип Описание
If-Match

string

ETag сущности. Не требуется при создании сущности, но требуется при обновлении сущности.

Текст запроса

Имя Обязательно Тип Описание
properties.value True

string

Содержимое политики в соответствии с форматом .

properties.format

PolicyContentFormat

Формат policyContent.

Ответы

Имя Тип Описание
200 OK

PolicyContract

Конфигурация политики API клиента успешно обновлена.

Заголовки

ETag: string

201 Created

PolicyContract

Конфигурация политики API успешно создана.

Заголовки

ETag: string

Other Status Codes

ErrorResponse

Ответ об ошибке, описывающий причину сбоя операции.

Безопасность

azure_auth

Поток OAuth2 в Azure Active Directory.

Тип: oauth2
Flow: implicit
URL-адрес авторизации: https://login.microsoftonline.com/common/oauth2/authorize

Области

Имя Описание
user_impersonation олицетворения учетной записи пользователя

Примеры

ApiManagementCreateApiPolicy
ApiManagementCreateApiPolicyNonXmlEncoded

ApiManagementCreateApiPolicy

Образец запроса

PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/5600b57e7e8880006a040001/policies/policy?api-version=2021-08-01


{
  "properties": {
    "format": "xml",
    "value": "<policies> <inbound /> <backend>    <forward-request />  </backend>  <outbound /></policies>"
  }
}

Пример ответа

{
  "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/5600b57e7e8880006a040001/policies/policy",
  "type": "Microsoft.ApiManagement/service/apis/policies",
  "name": "policy",
  "properties": {
    "value": "<policies>\r\n  <inbound />\r\n  <backend>\r\n    <forward-request />\r\n  </backend>\r\n  <outbound />\r\n</policies>"
  }
}
{
  "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/5600b57e7e8880006a040001/policies/policy",
  "type": "Microsoft.ApiManagement/service/apis/policies",
  "name": "policy",
  "properties": {
    "value": "<policies>\r\n  <inbound />\r\n  <backend>\r\n    <forward-request />\r\n  </backend>\r\n  <outbound />\r\n</policies>"
  }
}

ApiManagementCreateApiPolicyNonXmlEncoded

Образец запроса

PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/5600b57e7e8880006a040001/policies/policy?api-version=2021-08-01


{
  "properties": {
    "value": "<policies>\r\n     <inbound>\r\n     <base />\r\n  <set-header name=\"newvalue\" exists-action=\"override\">\r\n   <value>\"@(context.Request.Headers.FirstOrDefault(h => h.Ke==\"Via\"))\" </value>\r\n    </set-header>\r\n  </inbound>\r\n      </policies>",
    "format": "rawxml"
  }
}

Пример ответа

{
  "id": "/subscriptions/4c1a3bc6-89f9-46fe-a175-5d8984b25095/resourcegroups/Api-DF-West-US/providers/Microsoft.ApiManagement/service/samirmsiservice2/apis/echo-api/operations/create-resource/policies/policy",
  "type": "Microsoft.ApiManagement/service/apis/operations/policies",
  "name": "policy",
  "properties": {
    "value": "<policies>\r\n  <inbound>\r\n    <base />\r\n    <set-header name=\"newvalue\" exists-action=\"override\">\r\n      <value>\"@(context.Request.Headers.FirstOrDefault(h =&gt; h.Ke==\"Via\"))\" </value>\r\n    </set-header>\r\n  </inbound>\r\n</policies>"
  }
}
{
  "id": "/subscriptions/4c1a3bc6-89f9-46fe-a175-5d8984b25095/resourcegroups/Api-DF-West-US/providers/Microsoft.ApiManagement/service/samirmsiservice2/apis/echo-api/operations/create-resource/policies/policy",
  "type": "Microsoft.ApiManagement/service/apis/operations/policies",
  "name": "policy",
  "properties": {
    "value": "<policies>\r\n  <inbound>\r\n    <base />\r\n    <set-header name=\"newvalue\" exists-action=\"override\">\r\n      <value>\"@(context.Request.Headers.FirstOrDefault(h =&gt; h.Ke==\"Via\"))\" </value>\r\n    </set-header>\r\n  </inbound>\r\n</policies>"
  }
}

Определения

Имя Описание
ErrorFieldContract

Контракт поля ошибки.

ErrorResponse

Ответ об ошибке.

PolicyContentFormat

Формат policyContent.

PolicyContract

Сведения о контракте политики.

PolicyIdName

Идентификатор политики.

ErrorFieldContract

Контракт поля ошибки.

Имя Тип Описание
code

string

Код ошибки уровня свойства.

message

string

Удобочитаемое представление ошибки на уровне свойств.

target

string

Имя свойства.

ErrorResponse

Ответ об ошибке.

Имя Тип Описание
error.code

string

Код ошибки, определяемый службой. Это код служит в качестве подсостояния для кода ошибки HTTP, указанного в ответе.

error.details

ErrorFieldContract[]

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

error.message

string

Читаемое представление ошибки.

PolicyContentFormat

Формат policyContent.

Имя Тип Описание
rawxml

string

Содержимое является встроенным, а тип контента является документом политики в кодировке не XML.

rawxml-link

string

Документ политики не в кодировке XML и размещается в конечной точке HTTP, доступной из службы Управление API.

xml

string

Содержимое является встроенным, а типом контента является XML-документ.

xml-link

string

XML-документ политики размещается в конечной точке HTTP, доступной из службы Управление API.

PolicyContract

Сведения о контракте политики.

Имя Тип Default value Описание
id

string

Полный идентификатор ресурса. Например: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}

name

string

Имя ресурса.

properties.format

PolicyContentFormat

xml

Формат policyContent.

properties.value

string

Содержимое политики в соответствии с форматом .

type

string

Тип ресурса. Например, Microsoft.Compute/virtualMachines или Microsoft.Storage/storageAccounts.

PolicyIdName

Идентификатор политики.

Имя Тип Описание
policy

string