Aracılığıyla paylaş


Microsoft Graph API'lerinden gelen hataların benzetimini yapın

Microsoft Graph, Microsoft 365'te verilere ve içgörülere erişmenizi sağlayan bir API koleksiyonudur. Uygulamanızda Microsoft Graph kullanırken uygulamanızın API hatalarını nasıl işlediğini test etmelisiniz. Dev Proxy'yi kullanarak herhangi bir Microsoft Graph API'sinde hataların simülasyonunu GraphRandomErrorPlugin yapmanızı sağlar.

GraphRandomErrorPlugin, Microsoft Graph ile çalışacak şekilde iyileştirilmiştir ve Microsoft Graph'in döndürebileceği belirli hataların simülasyonunu oluşturur.

Başlamak için yapılandırma dosyanızda öğesini GraphRandomErrorPlugin etkinleştirin.

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v1.0.0/rc.schema.json",
  "plugins": [
    {
      "name": "GraphRandomErrorPlugin",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
      "configSection": "graphRandomErrorPlugin",
      "urlsToWatch": [
        "https://graph.microsoft.com/v1.0/*",
        "https://graph.microsoft.com/beta/*",
        "https://graph.microsoft.us/v1.0/*",
        "https://graph.microsoft.us/beta/*",
        "https://dod-graph.microsoft.us/v1.0/*",
        "https://dod-graph.microsoft.us/beta/*",
        "https://microsoftgraph.chinacloudapi.cn/v1.0/*",
        "https://microsoftgraph.chinacloudapi.cn/beta/*"
      ]
    }
  ]
}

İpucu

Yukarıdaki kod parçacığı, tüm Microsoft bulutlarında Microsoft Graph'a yönelik istekleri dinler. Yalnızca belirli bir Microsoft bulutunda hataların benzetimini yapmak istiyorsanız, ihtiyacınız olmayan URL'leri kaldırın.

Yapılandırma dosyanızla Dev Proxy'yi başlatın ve hataları nasıl işlediğini görmek için uygulamanızı kullanın. Her eşleşen istek için Dev Proxy, yapılandırılan hata oranını kullanarak bir hatanın benzetimini mi yoksa isteğin Microsoft Graph'a mı geçirileceğini belirler. Geliştirme Proxy'si bir hatanın benzetimini yaparken, Microsoft Graph'ın kullandığı hatalardan birini rastgele seçer ve uygulamanıza bir hata yanıtı döndürür.

Hataları simüle etmek için yapılandırın

Varsayılan olarak, GraphRandomErrorPlugin aşağıdaki hataların benzetimini yapar.

HTTP yöntemi Olası hatalar
GET 429 Too Many Requests, 500 Internal Server Error, 502 Bad Gateway, 503 Service Unavailable, , 504 Gateway Timeout
POST 429 Too Many Requests, 500 Internal Server Error, 502 Bad Gateway, , 503 Service Unavailable, 504 Gateway Timeout, 507 Insufficient Storage
PUT 429 Too Many Requests, 500 Internal Server Error, 502 Bad Gateway, , 503 Service Unavailable, 504 Gateway Timeout, 507 Insufficient Storage
PATCH 429 Too Many Requests, 500 Internal Server Error, 502 Bad Gateway, 503 Service Unavailable, , 504 Gateway Timeout
DELETE 429 Too Many Requests, 500 Internal Server Error, 502 Bad Gateway, , 503 Service Unavailable, 504 Gateway Timeout, 507 Insufficient Storage

Belirli davranışları, örneğin azaltma, test etmek istiyorsanız eklentiyi yalnızca --allowed-errors seçeneğini kullanarak ilgili hataları kullanacak şekilde yapılandırın.

devproxy --allowed-errors 429

Alternatif olarak, yapılandırma dosyanızdaki nesnede allowedErrors özelliğini yapılandırabilirsinizgraphRandomErrorPlugin.

{
  "graphRandomErrorPlugin": {
    "allowedErrors": [ 429 ]
  }
}

Microsoft Graph toplu iş isteklerindeki hataların benzetimini yapın

Dev Proxy, Microsoft Graph'a toplu isteklerdeki hataların benzetimini normal isteklerde olduğu gibi yapar. Geliştirme Proxy'si bir toplu iş isteğinde bir veya daha fazla istekte başarısız olduğunda, Microsoft Graph'ın yapacağı gibi toplu iş isteğinin tamamı için bir 424 Failed Dependency yanıt döndürür.