Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
När du skapar din app kanske du använder API:er som fortfarande är i förhandsversion. Du använder ofta förhandsversions-API:er när du integrerar med nya funktioner som skapas tillsammans med din app. Innan du släpper appen till produktion bör du se till att du använder API:er på produktionsnivå. När du använder stabila API:er som stöds och omfattas av serviceavtal (SLA) är din app mer robust.
Om du vill kontrollera om din app använder API:er på produktionsnivå kan du använda plugin-programmet ApiCenterProductionVersionPlugin . Det här plugin-programmet jämför informationen om API-begäranden från din app med information från Azure API Center och rapporter om eventuella icke-produktions-API-begäranden. Den rekommenderar också produktionsversionen av de API:er som du använder.
Innan du börjar
För att identifiera icke-produktions-API-begäranden måste du ha en Azure API Center-instans med information om de API:er som du använder i din organisation.
Skapa en Azure API Center-instans
Innan du börjar skapar du en Azure API Center-instans och registrerar API:er som du använder i din organisation. För varje API definierar du de versioner som du använder och anger livscykelsteget.
              ApiCenterProductionVersionPlugin Använder den här informationen för att kontrollera om API:erna, som appen använder, tillhör produktions- eller icke-produktions-API:er.
Kopiera API Center-information
På sidan Översikt för Azure API Center-instans kopierar du namnet på API Center-instansen, namnet på resursgruppen och prenumerations-ID :t. Du behöver den här informationen för att konfigurera så att den ApiCenterProductionVersionPlugin kan ansluta till din Azure API Center-instans.
Konfigurera Dev Proxy
Om du vill kontrollera om din app använder API:er på produktionsnivå måste du aktivera ApiCenterProductionVersionPlugin i konfigurationsfilen för Dev Proxy. Om du vill skapa en rapport över API:er som appen använder lägger du till en reporter.
Aktivera ApiCenterProductionVersionPlugin
              devproxyrc.json Lägg till följande konfiguration i filen:
{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v1.0.0/rc.schema.json",
  "plugins": [
    {
      "name": "ApiCenterProductionVersionPlugin",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
      "configSection": "apiCenterProductionVersionPlugin"
    }
  ],
  "urlsToWatch": [
    "https://jsonplaceholder.typicode.com/*"
  ],
  "apiCenterProductionVersionPlugin": {
    "subscriptionId": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
    "resourceGroupName": "demo",
    "serviceName": "contoso-api-center",
    "workspaceName": "default"
  }
}
I egenskaperna subscriptionId, resourceGroupName och serviceName fyller du i informationen om din Azure API Center-instans.
I egenskapen urlsToWatch anger du de URL:er som appen använder.
Tips
Använd Tillägget Dev Proxy Toolkit Visual Studio Code för att enkelt hantera Dev Proxy-konfiguration.
Lägga till en reporter
              ApiCenterProductionVersionPlugin Genererar en rapport över API:er som din app använder. Om du vill visa den här rapporten lägger du till en reporter i dev proxy-konfigurationsfilen. Dev Proxy erbjuder flera reportrar. I det här exemplet använder du den oformaterade textreportern.
Uppdatera din devproxyrc.json fil med en referens till platt-textreportern:
{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v1.0.0/rc.schema.json",
  "plugins": [
    {
      "name": "ApiCenterProductionVersionPlugin",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
      "configSection": "apiCenterProductionVersionPlugin"
    },
    {
      "name": "PlainTextReporter",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll"
    }
  ],
  "urlsToWatch": [
    "https://jsonplaceholder.typicode.com/*"
  ],
  "apiCenterProductionVersionPlugin": {
    "subscriptionId": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
    "resourceGroupName": "demo",
    "serviceName": "contoso-api-center",
    "workspaceName": "default"
  }
}
Kontrollera om din app använder API:er på produktionsnivå
För att kontrollera om din app använder API:er på produktionsnivå måste du ansluta till din Azure-prenumeration, köra Dev Proxy och låta den fånga upp API-begäranden från din app. Dev Proxy jämför sedan informationen om API-begäranden med informationen från Azure API Center och rapporter om eventuella icke-produktions-API:er.
Ansluta till din Azure-prenumeration
Dev Proxy använder information från Azure API Center för att avgöra om de API:er som appen använder är på produktionsnivå. För att få den här informationen behöver den en anslutning till din Azure-prenumeration. Du kan ansluta till din Azure-prenumeration på flera sätt.
Kör Dev Proxy
När du har anslutit till din Azure-prenumeration startar du Dev Proxy. Om du startar Dev Proxy från samma mapp där devproxyrc.json filen finns läser den in konfigurationen automatiskt. Annars anger du sökvägen till konfigurationsfilen med hjälp av --config-file alternativet .
När Dev Proxy startar kontrollerar den att den kan ansluta till din Azure-prenumeration. När anslutningen lyckas visas ett meddelande som liknar:
 info    Plugin ApiCenterProductionVersionPlugin connecting to Azure...
 info    Listening on 127.0.0.1:8000...
Hotkeys: issue (w)eb request, (r)ecord, (s)top recording, (c)lear screen
Press CTRL+C to stop Dev Proxy
Tryck på r för att börja spela in API-begäranden från din app.
Använda appen
Använd din app som vanligt. Dev Proxy fångar upp API-begäranden och lagrar information om dem i minnet. På kommandoraden där Dev Proxy körs bör du se information om API-begäranden som appen gör.
 info    Plugin ApiCenterProductionVersionPlugin connecting to Azure...
 info    Listening on 127.0.0.1:8000...
Hotkeys: issue (w)eb request, (r)ecord, (s)top recording, (c)lear screen
Press CTRL+C to stop Dev Proxy
◉ Recording... 
 req   ╭ GET https://jsonplaceholder.typicode.com/posts?api-version=v1.0
 api   ╰ Passed through
 req   ╭ GET https://jsonplaceholder.typicode.com/users?api-version=beta
 api   ╰ Passed through
Kontrollera API-versioner
Stoppa inspelningen genom att trycka på s. Dev Proxy ansluter till API Center-instansen och jämför informationen om begäranden med informationen från API Center.
 info    Plugin ApiCenterProductionVersionPlugin connecting to Azure...
 info    Listening on 127.0.0.1:8000...
Hotkeys: issue (w)eb request, (r)ecord, (s)top recording, (c)lear screen
Press CTRL+C to stop Dev Proxy
◉ Recording... 
 req   ╭ GET https://jsonplaceholder.typicode.com/posts?api-version=v1.0
 api   ╰ Passed through
 req   ╭ GET https://jsonplaceholder.typicode.com/users?api-version=beta
 api   ╰ Passed through
○ Stopped recording
 info    Checking if recorded API requests use production APIs as defined in API Center...
 info    Loading APIs from API Center...
 info    Analyzing recorded requests...
 warn    Request GET https://jsonplaceholder.typicode.com/users?api-version=beta uses API version beta which is defined as Preview. Upgrade to a production version of the API. Recommended versions: v1.0
 info    DONE
När Dev Proxy har slutfört analysen skapas en rapport i en fil med namnet ApiCenterProductionVersionPlugin_PlainTextReporter.txt med följande innehåll:
Non-production APIs:
  GET https://jsonplaceholder.typicode.com/users?api-version=beta
  
Production APIs:
  GET https://jsonplaceholder.typicode.com/posts?api-version=v1.0
Sammanfattning
Med hjälp av ApiCenterProductionVersionPluginkan du kontrollera om din app använder API:er på produktionsnivå. Plugin-programmet jämför informationen om API-begäranden från din app med information från Azure API Center och rapporter om eventuella icke-produktions-API-begäranden. Den rekommenderar också produktionsversionen av de API:er som du använder. Genom att verifiera vilka API:er din app använder kan du se till att din app använder stabila API:er, som stöds och omfattas av serviceavtal, vilket gör din app mer robust. Du kan köra den här kontrollen manuellt eller integrera med din CI/CD-pipeline för att säkerställa att appen använder API:er på produktionsnivå innan den släpps till produktion.
 
              
               
              
              