indledning til openstack api -

, openstack er en åben standard cloud computing - platform.indgår i openstack er en adi, som du kan bruge til at skrive software, der forvalter en sky.du kan skrive drejebøger, der løber som arbejdspladser til automatisk at tildele servere, for eksempel, eller skrive ansøgninger, der gør det muligt for brugeren at forvalte deres egen sky servere.mulighederne er uendelige.men for at udføre sådanne opgaver, deres software har behov for at kommunikere med openstack anlæg ved hjælp af api - grænseflade.i denne lektion, jeg får dig op at køre med openstack api -.,, der er to måder, du kan bruge openstack - api - og sdk... og jeg har konstateret, at nogle mennesker bliver lidt forvirret over det, så jeg vil forsøge at forklare det.på det grundlæggende niveau, openstack tjenester udgør en grænseflade, som jeres software kan kommunikere med den tjeneste.det er en fredfyldt api - grænseflade, som betyder, at du sender url anmodninger til tjeneste til at udstede dine ordrer.formatet af vejen i url bestemmer, hvad befaler dig er udsteder.disse url - adresser bruger samme http protokol, at webbrowsere.det betyder en fredfyldt grænseflader, du kan lave nogle af anmodningerne fra en browser adresse bar, men det vil kun lykkes, hvis der ikke er sædvane at medtage med anmodning om oplysninger.- og det er ikke formålet med browser, alligevel.), men hvis det ikke er tilfældet.i stedet, vil du få anmodninger fra dit program kode, eller ved hjælp af en command-line nytteværdi såsom en kaldet krum.- er en af de nemmeste måder at sende anmodninger til tjenesteydelser.,, meget af det, jeg beskriver her oprindeligt ikke kun gælder for at openstack.disse begreber, der typisk anvendes til mange forskellige afslappende grænseflader.for eksempel, har en hel api - sælgere til at forvalte deres produkter på amazon hjemmeside.api anvender disse samme begreber, både med fredfyidte api - og sdks.,, de fleste af disse grænseflader, herunder openstack er oprettet, så anmodninger er bygget som url stier, ofte med en del, der er en kommando navn, efterfulgt af et snit, efterfulgt af yderligere parametre, adskilt af piskeslag.så må du sende anmodningen ved hjælp af en http få eller en http post.der er andre muligheder end at få og post, men det er den mest anvendte.) foruden de url selv, for en anmodning, du nogle gange sende supplerende oplysninger i form af header anmodninger, og til en stilling, du måske angive data, der sendes sammen med anmodningen i form af post - data., og den første del af url kaldes et endepunkt.forskellige tjenesteydelser forskelligt endepunkt, og du kan finde ud af det sted, fra deres online dokumentation.,,,,,, at rationalet bag sdks, mens api er den grundlæggende rørledning for meddelelse til brug ved hjælp af api kan være lidt besværlig.medmindre du gør bare et par anmodninger, undertiden med krøller til api ville være fint.men hvis du skriver ned, der er nødt til at gøre en masse opkald, vil du finde dig selv at skulle gentage mange af de samme kode igen og igen.afhængigt af det sprog, du ved, du bliver nødt til at samle de data, som de ønsker at sende med anmodning om, at bygge url, og ring til hvad biblioteker sprog har til rådighed for at gøre http anmodninger.så vil du komme tilbage en http status kodeks og en reaktion, som du måske nødt til at afkode til objekt din programmering sprog, kan forstå, er der, hvor sdks komme ind og gøre det meget lettere.i stedet for at samle url - adresser og gøre http anmodninger, vil du bare gøre funktion kræver.bag kulisserne, disse funktioner er at samle de url - adresser og oplysninger, og at de api - opkald til dig.men dig, det virker ligesom enhver anden kode i sproget.,, generelt, vil du bruge sdk, der er til rådighed for din programmeringssprog, og du vil kun anvende api - hvis der ikke er en sdk, der er til rådighed.i tilfælde af openstack, der er sdks for mest populære sprog.men før - sdk, synes jeg, at det er bedst at første undersøgelse dokumentation for api sig selv så meget, at du ved præcis, hvad sdk gør.og den måde, hvis sdk mangler noget, så ved du, hvad du har brug for at komme rundt om mangler.også, når vi taler om åben kilde her, hvis de ikke opfylder deres expecations sdk, du kunne ændre det eller oprette en ny sdk helt.,,,,, forståelse openstack api, at komme i gang med openstack, lad os først undersøge api - selv.for at bruge et openstack service, du har brug for at få bekræftet.hvordan det fungerer, afhænger af den tjeneste, du bruger.jeg besluttede at bruge rackspace for disse demonstrationer, primært fordi rackspace er en af de mest fuldstændige openstack implementeringer.(dette skyldes ganske enkelt, at openstack opstod i rackspace sammenholdt med nasa.), vil processen virker en smule anderledes med andre leverandører, kan du få oplysninger fra api dokumentation om udbydernes egne hjemmesider., for rackspace, du sender en anmodning (enten gennem krølle eller i din kode) for at få det, der kaldes en autentificering tegn.du sender sammen med deres anmodning brugernavn og password, du plejede at oprette din konto i den rackspace sky kontrolpanel.så du udstede en anmodning med det slutmål:,, https: //identitet. api -., rackspacecloud. kom /version 2.0, bruger vi denne fra linux kommandolinje med krøller.nu er det bare endpoint. du er nødt til at give yderligere oplysninger i form af dit brugernavn og password.at sende brugernavn og password, vi har en json objekt, og send det som post - data (som i sig selv betyder, at vi bruger en efter anmodning, ikke få).den json skal formateres i overensstemmelse med de json specifikation.det betyder, de pågældende navne skal være angivet, og vi bruger to citater, ikke fælles priser.så lad os prøve det.først, her er, hvad json objekt ser ud:,, ("myndigheder": {"passwordcredentials" ("brugernavn": "myrackspaceacct", "kodeord": "myrackspacepwd"}}}, hvor man erstatter myrackspaceacct og myrackspacepwd med dit brugernavn og adgangskode.at medtage disse oplysninger i en krølle ringe efter data, kan du bruge a - d kommandolinjen mulighed, og omkring json med enkelt citater, så tager det hele som linux shell enkelt parameter.du skal også specificere endepunkt, indhold, form og fortæl... vi laver en post.her er, hvad den fulde kommando ligner:,, krøller - s https: //identitet. api -., rackspacecloud.com/v2.0/tokens - x "post - d '(" myndigheder ": {", passwordcredentials "(" brugernavn ":" myrackspaceacct "," kodeord ":" myrackspacepwd "}}},') - h" content type: anvendelse /json ", - - vil gøre http anmodning og udskriv resultaterne af anmodningen.rackspace giver dig en autentificering tegn, som de kan bruge til fremtidige anmodninger (men det udløber efter 24 timer, efter som du har brug for at gøre denne anmodning), sammen med endpoints, du bruger til efterfølgende api - opkald.,, da jeg løb... befaler, jeg har en stor ting.for rummet grunde vil jeg ikke over det hele.men det vigtigste er på toppen af objekt er et medlem kaldte adgang, hvilket igen indeholder et medlem kaldte tegn.den symbolske formål indeholder et medlem kaldte id, som er den symbolske snor du bruger i fremtidige anmodninger.der er også en lejer, som du kan bruge i anmodninger, samt en udløbsdato og tid, så du ved, når du har brug for at anmode en symbolsk:,, ("adgang": {"bevis" ("id": "1234567890abcdef", "udløber": "2015-01-13t21:48:11.877z", "-": {"id": ".", "navn": "1234)," rax-auth: authenticatedby "[" kodeord "]},,,,,,,, efter adgang objekt er et objekt til servicecatalog, som indeholder alle endpoints.der er et endepunkt for hver enkelt tjeneste, du vil bruge, herunder cloudblockstorage, cloudimages, autoscale, clouddatabases, cloudbackup, cloudmonitoring, clouddns, cloudservers, cloudfilescdn, cloudfiles, og mere til.hver af disse er i sig selv en json objekt med et medlem, der publicurl, som giver endpoint.der er også en internalurl, som de kan bruge, hvis du løber på servere i rackspace netværk.desuden er der særskilte url - adresser for hver region: ord (chicago), syd (sydney), dfw (dallas), hkg (hong kong), ia (northern virginia).bemærk, at disse områder ikke er en del af openstack, men snarere er en del af rackspace og er beskrevet i rackspace dokumentation.,, at api, med stadfæstelse tegn og endepunkter i hånd, vi er klar til at lave en adi.lad os over vores servere.url, vi har, afhænger af den tjeneste, som vi ønsker at anvende.den samlede liste over tjenester, der er anført i api - dokumentation.vi ønsker en liste over vores servere, som er i beregne del af api - grænseflade.du kan se i api -, at der er en kommando, kaldet liste servere, og det ser sådan ud:,, /v2 /(tenant_id} /servere, tenant_id findes i adgang del af autentificering svar.rackspace fylder det for os i sin liste over endpoints, der gav os, som så:,, https: //ia. servere. api -., rackspacecloud.com/v2/1234,, så vi opbygger vores url ved at tilføje /servere ord til sidst:,, https: //ia. servere. api -., rackspacecloud. kom /v2 /1234 /, servere, men vi kan ikke bare sende det.vi er nødt til at finde vores godkendelse.meddelelse i dokumentationen for liste servere, at du bruger en få metode.med få metoder, du angive yderligere oplysninger, som rør.for at en autentificering tegn, du bruger hovedet kaldt x-auth-token.og så er vi klar. her er krum kommando til at opføre vores servere:,, krøller - s https: //ia. servere. api -., rackspacecloud. kom /v2 /1234 /, servere. - h "x-auth-token: 1234567890abcdef, når jeg denne sag - kommandoen, jeg kommer tilbage en liste over mine servere.jeg har kun en kører lige nu:,, ("servere": [{"id": "abcdef123456", "forbindelser": [{"href": "https: //ia. servere. api -., rackspacecloud. kom /v2 /1234 /, servere /abcdef123456", "og" "self"} {"href": "https: //ia. servere. api -., rackspacecloud. kom /1234 /, servere /abcdef123456", "og": "bogmærke"}] "navn": "cloud-server-01"}]},, som er inkluderet i hver server er forbindelser til adgang til oplysninger om de tjener sig selv.når jeg prøver at, herunder de samme - h mulighed, jeg har for et øjeblik siden fik jeg en stor json objekt, som omfatter mange detaljer om serveren, herunder dets ip - adresser (både varer og v6), oplysninger om det billede, der benyttes til at skabe server, navnet på serveren, og mere til.,, her er hvor det bliver vigtigt at vide, hvornår bruger får, og når at bruge post.normalt får for at anmode om oplysninger og post for at sende information.for at få oplysninger om de servere, vi brugte en metode.for at skabe en server, vi bruger en meget lignende url, men i stedet bruger en post - metoden.,, konklusion, det er bare skrabe overfladen af api - grænseflade.i opfølgning artikel ser vi på mere api - kommandoer, herunder hvordan til at skabe eller bestemmelse servere, og hvordan til at håndtere dem.så når vi forstår, hvad vi laver her, så skal vi prøve et par sdks.bliv hængende!,

OpenStack-API-SDK
OpenStack API application call



Previous:
Next Page: