application/json
ou application/x-www-form-urlencoded
. RESTAPICLIENT recevra et traitera ensuite la réponse de l'API externe en mappant le contenu de la réponse avec les paramètres OUT définis.APP_URL
, qui correspond au point de terminaison de l'API REST.
APP_REQUEST_CONTENT_TYPE
) est application/json
. Le type de contenu application/x-www-form-urlencoded
est également supporté.
APP_METHOD
) est GET. D'autres méthodes de requête (POST
, PUT
, DELETE
, etc...) sont également supportées.
APP_RESPONSE_IGNORE_ERROR
est défini et que sa valeur est Y
, l'erreur est ignorée et les paramètres OUT définis (APP_RESPONSE_STATUS
ou APP_RESPONSE_CONTENT
) sont mappés. Sinon, une exception sera levée.
RestApiClientRequestTimeout
dans le fichier web.config
. Le délai d'expiration de la demande peut également être défini dans le paramètre IN APP_TIMEOUT
; le délai d'expiration maximum est de 60 000 millisecondes (1 heure).
✏️ Note : Cette valeur de délai d'expiration doit être inférieure à la valeur de délai d'expiration de la demande IIS.
APP_HEADER_xxx
, où xxx
est le nom du champ d'en-tête. Pour plus d'informations, voir la section Paramètres d'en-tête.
APP_REQUEST_CONTENT_FILE
ou APP_REQUEST_CONTENT
. Lorsque les deux paramètres sont définis, le paramètre APP_REQUEST_CONTENT_FILE
est prioritaire. Pour plus d'informations sur ces paramètres, voir la section Charge utile de demande.
APP_RESPONSE_CONTENT_FILE
ou APP_RESPONSE_CONTENT
. Les deux paramètres peuvent être définis en même temps. Pour plus d'informations sur ces paramètres, voir la section Charge utile de réponse.
RestApiClientLogLevel
dans le fichier web.config
sur 0
pour désactiver la journalisation, 1
pour les logs simples ou 2
pour les logs de débogage; la valeur par défaut est 0
.
RestApiClientMaxResponseLength
dans le fichier web.config
.
RestApiClientEnableFilesCleanUp
sur N
dans le fichier web.config
; la valeur par défaut est Y
.
APP_URL
APP_TIMEOUT
RestapiClientRequestTimeout
dans le fichier web.config
.APP_METHOD
GET
. POST
, PUT
, DELETE
, HEAD
et PATCH
sont également supportés.APP_REQUEST_CONTENT_TYPE
application/json
et application/x-www-form-urlencoded
); la valeur par défaut est application/json
.APP_RESPONSE_IGNORE_ERROR
Y
, l'application ignore l'erreur lorsqu'une exception WebException
se produit ou que l'API externe renvoie un statut de réponse supérieur ou égal à 300
; la valeur par défaut est N
.APP_URL
facultatifsAPP_URL_xxx
xxx
est le nom du paramètre d'URLAPP_URL
https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}
APP_URL_subscriptionId
457a2a46-7a7f-4afa-940d-8779e1425fa8
APP_URL_resourceGroupName
dev-group-advantys
APP_URL_topicName
dev-topic
APP_URL
:APP_HEADER_xxx
xxx
est le nom du champ d'en-têteAPP_HEADER_Authorization
Bearer AbCdEf123456
APP_HEADER_location
canadaeast
APP_HEADER_xxx
.APP_AUTH_BASIC_USERNAME
APP_AUTH_BASIC_PASSWORD
APP_AUTH_BASIC_USERNAME
APP_AUTH_BEARER_TOKEN
APP_AUTH_AZ_SAS_TOKEN
APP_AUTH_BEARER_TOKEN
équivaut à définir le paramètre d'en-tête APP_HEADER_Authorization
. application/json
ni application/x-www-form-urlencoded
. Vous pouvez définir la charge de cette demande dans une donnée de type File ou Text ou directement dans la valeur de texte.APP_REQUEST_CONTENT_FILE
APP_REQUEST_CONTENT
APP_REQUEST_CONTENT_FILE
a la priorité sur APP_REQUEST_CONTENT
.
APP_REQUEST_CONTENT
a la priorité sur les paramètres IN utilisés pour créer une charge utile JSON ou encodée en URL.application/x-www-form-urlencoded
comme type de contenu.param1
value1
param2
value2
param1
value1
param2
value2
APP_REQUEST_CONTENT_PAYLOAD_NAME
payload
APP_REQUEST_CONTENT_PAYLOAD_NAME
est seulement supporté avec le type de contenu de demande application/x-www-form-urlencoded
.application/json
comme type de contenu.person.address.street
160 Guy Street
person.address.zipcode
J4G 1U4
person.age
30
person.name
John
APP_REQUEST_CONTENT_IS_ARRAY
sur Y
.APP_REQUEST_CONTENT_IS_ARRAY
Y
, l'application convertit la charge utile de la demande JSON en un tableau; la valeur par défaut est N
APP_REQUEST_CONTENT_IS_ARRAY
défini sur Y
générera la charge utile de demande suivante :__JSON
ci-dessous.person.spokenlanguages
) suivi du suffixe __X
, où X
est le numéro d'index du tableau.person.spokenlanguages__0
french
person.spokenlanguages__1
english
person.spokenlanguages__2
chinese
"spokenlanguages": [{"spokenlanguage":"french"}, {"spokenlanguage":"english"}]
) dans une propriété JSON, voir la section suivante.person.spokenlanguages__9999
).
person.spokenlanguages__90
, person.spokenlanguages__30
). La valeur du paramètre __30 sera le premier paramètre de tableau et __90
sera le deuxième.
person.spokenlanguages
etperson.spokenlanguages__0
).
__X
utilise deux caractères de soulignement.
__JSON
person.children
) suivi du suffixe __JSON
avec l'objet ou le tableau JSON comme valeur de paramètre.person.children__JSON
[{"name": "child 1"}, {"name": "child 2"}]
person.children
etperson.children__JSON
).
__JSON
utilise deux caractères de soulignement.APP_RESPONSE_STATUS
APP_RESPONSE_CONTENT_TYPE
APP_RESPONSE_CONTENT_FILE
APP_RESPONSE_CONTENT
APP_RESPONSE_CONTENT_IS_ARRAY
Y
si la charge JSON est un tableauapplication/json
.person.address.street
DATA_STREET
person.address.zipcode
DATA_ZIPCODE
person.age
DATA_AGE
person.name
DATA_NAME
|
(en utilisant le paramètre IN APP_JSONPATH_DELIMITER
). Pour obtenir cette information, les paramètres suivants doivent être définis :APP_JSONPATH_DELIMITER
|
PARAM1__JSONPATH
person.children[?(@.name == 'Charles')].children[*].children[?(@.age > 7)].name
DATA1_VALUE
(value will be: George|Charlotte
)PARAM1__JSONPATH
, le nom de PARAM1
n'est pas pertinent, mais il doit être suivi du suffixe __JSONPATH
(deux traits de soulignement sont utilisés dans le suffixe).
APP_JSONPATH_DELIMITER
est une virgule (,
) lorsque ce paramètre n'est pas défini.GET_TOKEN
: Obtention d'un jeton d'accès OAuth 2.0access_token
et sera utilisé lors de la création d'une rubrique Event Grid dans la section suivante.APP_URL
https://login.microsoftonline.com/{tenandId}/oauth2/token
APP_URL_tenantId
a6e70c61-fabd-4885-89f7-97121e92db7f
APP_METHOD
POST
APP_REQUEST_CONTENT_TYPE
application/x-www-form-urlencoded
grant_type
client_credentials
client_id
b7e29e2f-6e2b-4375-9684-8151431d4ca6
client_secret
lxy/IwKyTedHUWMeeUtyCtu7/YUy0rNGoY3NNWXXotI=
resource
https://management.core.windows.net/
access_token
DATA_ACCESS_TOKEN
access_token
est mappé avec la propriété JSON access_token
.CREATE_TOPIC
: création d'une rubrique Event GridAPP_URL
https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}?api-version={api-version}
APP_URL_subscriptionId
235765d9-5d62-43f4-a730-2ed71a3f8adb
APP_URL_resourceGroupName
dev-group-advantys
APP_URL_topicName
new-topic-example
APP_URL_api-version
2018-09-15-preview
APP_METHOD
PUT
APP_REQUEST_CONTENT_TYPE
application/json
APP_AUTH_BEARER_TOKEN
DATA_ACCESS_TOKEN
location
canadaeast
Impossible de créer le canal sécurisé SSL / TLS
, le chiffrement renforcé doit être activé en exécutant le code suivant dans PowerShell :