Øvelse – Fjern topptekstinformasjon
Selskaper som publiserer nett-API-er, må ofte kontrollere HTTP-overskriftene som API-ene returnerer, fortrinnsvis uten å skrive om API-kildekoden.
Regjeringen bestemmer seg for å dele folketellingsdata med sine etater gjennom RESTful API-er. De kritiske kravene er at dataene deles på en sikker måte og enkelt kan endres for å legge til rette for rask integrering. Som kundeemneutvikler må du opprette en API-gateway. Du bruker gatewayen til å publisere en RESTful Census API som viser et OpenAPI-endepunkt ved hjelp av moderne sikkerhetsstandarder.
Her vil du:
- Publiser en RESTful Census API.
- Distribuer en gateway for API-administrasjon.
- Vis census-API-en gjennom gateway-endepunktet.
- Fjern en topptekst fra svaret.
Viktig
Du trenger ditt eget Azure-abonnement for å fullføre denne øvelsen, og du kan pådra deg kostnader. Hvis du ikke allerede har et Azure-abonnement, kan du opprette en gratis konto før du begynner.
Distribuer nett-API-en for folketelling
Du utviklet en .NET Core-app som returnerer sensitiv folketellingsinformasjon. Appen inkluderer Swashbuckle for å generere OpenAPI-dokumentasjon.
La oss starte med å kjøre et skript for å være vert for RESTful API-en vår i Azure for å spare tid. Skriptet utfører følgende trinn:
- Det oppretter en Azure App Service-plan i det kostnadsfrie nivået.
- Det oppretter en nett-API i en Azure App Service, som er konfigurert for Git-distribusjon fra et lokalt repositorium.
- Den angir legitimasjon for distribusjon på kontonivå for appen vår.
- Den konfigurerer Git lokalt.
- Den distribuerer nett-API-en vår til apptjenesteforekomsten vår.
Logg på Azure-portalen.
Velg Cloud Shell-ikonet på Azure-oppgavelinjen for å åpne Azure Cloud Shell.
Hvis du vil klone repo som inneholder kilden for appen vår, kjører du følgende
git clone
-kommando i Cloud Shell:git clone https://github.com/MicrosoftDocs/mslearn-protect-apis-on-api-management.git
Hvis du vil navigere til repo-mappen lokalt, kjører du følgende kommando:
cd mslearn-protect-apis-on-api-management
Som navnet antyder, er setup.sh skriptet du kjører for å opprette test-API-en vår. Dette skriptet genererer en offentlig nettapp som viser et OpenAPI-grensesnitt:
bash setup.sh
Skriptet tar omtrent et minutt å kjøre. Når skriptet er ferdig, vises to NETTADRESSEr som du kan bruke til å teste appdistribusjonen. Vær oppmerksom på at under distribusjonen installeres alle avhengigheter som kreves for at appen skal kjøre, automatisk på den eksterne apptjenesten.
Hvis du vil teste at appen vår distribueres riktig, kopierer og limer du inn den første nettadressen fra Cloud Shell-utdata i nettleseren. Nettleseren skal vise Swagger-brukergrensesnittet for appen vår og deklarere følgende RESTful-endepunkter:
- api/census, som returnerer en folketelling og tilknyttede personer
- api/census/{censusYear}, som returnerer en folketelling og tilknyttede personer for det angitte året
- api/personer/{reference}, som returnerer detaljert informasjon om en bestemt person
Til slutt kopierer du den siste nettadressen fra Cloud Shell-utdata. Denne URL-adressen er swagger JSON URL-adressen, som du trenger senere i denne øvelsen.
Distribuer en API-gateway
Neste trinn i denne øvelsen er å opprette en API-gateway i Azure-portalen. I neste del bruker du denne gatewayen til å publisere API-en:
Logg på Azure-portalen.
Velg Opprett en ressurspå Azure Portal-menyen eller på Hjemmeside-siden. Ruten Opprett en ressurs vises.
Velg Integrationi den venstre menyruten, og skriv deretter inn API Management i søkeboksen search services and marketplace. Velg API Management-kortet i resultatene, og velg Opprett. En rute med tittelen Opprett API Management-tjeneste vises.
Skriv inn følgende verdier for hver innstilling på fanen Grunnleggende.
Innstilling Verdi Prosjektdetaljer Abonnement Velg abonnementet Ressursgruppe Velg en ny eller eksisterende ressursgruppe. En ressursgruppe er en logisk beholder som inneholder relaterte ressurser for en Azure-løsning. forekomstdetaljer Område Velg et tilgjengelig område. Ressursnavn Skriv inn apim-CensusData<random number>
. Erstatt<random number>
med din egen serie med tall, slik at navnet er globalt unikt.Organisasjonsnavn Skriv inn Government-Census
. Navnet på organisasjonen for bruk i utviklerportalen og e-postvarsler. (Utviklerportalen og varsler er ikke tilgjengelige i alle tjenestenivåer.)Administrator-e-post E-postadressen som skal motta alle systemvarsler. prisnivå Prisnivå Velg Consumption (99.95% SLA)
fra rullegardinlisten.Notat
Forbruksnivået gir rask distribusjon for testing og har en prismodell for betal for bruk. Den generelle API-administrasjonsopplevelsen ligner på de andre prisnivåene.
Velg Se gjennom + opprett. Når valideringen er passert, velger du Opprett. Distribusjon kan ta flere minutter. Når distribusjonen er fullført, er API Management-forekomsten oppført i Azure-ressursene dine. Velg Gå til ressurs for å vise ruten for API Management-tjenesten.
Importere API-en
Nå importerer du census-API-en til API Management Gateway:
I den venstre menyruten i API-administrasjonsforekomsten velger du API-erunder API-er, og deretter + Legg til API-.
Velg OpenAPIunder Opprett fra definisjon. Dialogboksen Opprett fra OpenAPI-spesifikasjon vises.
Lim inn swagger JSON-nettadressen du lagret tidligere i øvelsen, i OpenAPI-spesifikasjon feltet.
Notat
Legg merke til at når du tar fanen ut av boksen, fylles noen av de andre feltene ut for deg. OpenAPI-spesifikasjonen fyller ut de fleste av de nødvendige tilkoblingsdetaljene.
La de andre innstillingene stå som standard, og velg deretter Opprett.
Test API-en
La oss se hvilke data som returneres fra API-en som standard:
Velg Alle ressurserpå Azure-portalen-menyen eller fra Home-siden, og velg deretter API-administrasjonsforekomsten.
Velg API-erunder API-eri den venstre menyruten, og velg folketellingsdatai den midterste ruten.
Velg Test-fanen på den øverste menylinjen, og velg deretter GetLatestCensus-operasjonen.
Velg Send.
Legg merke til at x-drevet av vises i svaret, og viser at rammeverket er ASP.NET.
Fjerne topptekster
Nå legger vi til en policy for å fjerne x-drevet av topptekst fra svar sendt av API-en:
Velg folketellingsdata på nytt, og velg fanen Utforming i den øverste menylinjen.
Velg Alle operasjoner, og velg ikonet under <. Xml-redigeringsprogrammet for policy vises.
Erstatt standardkoden
<outbound>
med denne koden:<outbound> <set-header name="x-powered-by" exists-action="delete" /> <base /> </outbound>
Velg Lagre.
Test fjerning av overskrifter
Nå skal du kunne kjøre en test for å demonstrere at topptekstene er fjernet:
Velg folketellingsdata på nytt, og velg Test-fanen i den øverste menylinjen.
Velg GetLatestCensus-operasjonen, og velg deretter Send.
Toppteksten x-drevet av bør ikke være i HTTP-svaret.