Innehållsförteckning:
- Transport av data
- Innan du kan göra något med AWS, måste du veta vilka uppgifter (tillgängliga med metoder) är tillgängliga. API-dokumentationen kan ge dig en översikt över vad du kan göra, men den faktiska listan med tillgängliga metoder är flexibel och varierar beroende på kontext. Du kanske till exempel inte kan utföra vissa uppgifter med vissa tjänster eftersom du saknar en säker anslutning eller du inte har konfigurerat tjänsten för att stödja den önskade uppgiften.
- Förfrågningar och svar följer de välbekanta mönster som används med andra webbtjänster. Men AWS är noga med att se till att du vet att REST är bara arkitekturen och att API-förfrågningar lägger till något för att REST; det vill säga de representerar ett annat lager. I många fall ser du REST / query, som refererar till REST som används med ett API-samtal av någon typ.
Video: 5G: 2020-talets mobilsystem klipper sladden till allt 2024
För att interagera med AWS på något meningsfullt sätt måste du kommunicera med det. Kommunikation sker på flera nivåer, som inkluderar:
- Transport: Detta är det underliggande lagret som faktiskt överför data mellan parterna.
- Discovery: För att interagera med AWS behöver du veta vilka metoder som finns tillgängliga. Upptäckningsnivån låter dig använda en gemensam URL för att begära listan över tillgängliga metoder för en viss tjänst i antingen XML eller JSON som en lista med hyperlänkar.
- Begäran: När du vet vilka metoder som finns tillgängliga kan du göra en förfrågan, och AWS ger ett svar.
Du kan enkelt bryta kommunikationen till fler lager, men dessa lager representerar den mest grundläggande och väsentliga uppdelningen. Att förstå dessa lager är tillräckligt för att skriva robusta applikationer med AWS. (Eftersom dina applikationer blir större och mer komplexa, och AWS lägger till mer funktionalitet, kan du behöva arbeta med ytterligare lager.)
Transport av data
Den första kommunikationsproblemet du måste ta upp är fråga om transport. AWS stöder HTTP för osäkra förfrågningar och HTTPS för säkra förfrågningar för vissa tjänster, inklusive de i följande lista:
I de flesta fall producerar SSL (Secure Sockets Layer) i form av HTTPS-förfrågningar det bästa resultatet eftersom informationen förblir säker över Internet. Om de uppgifter du behöver inte är konfidentiella, kan du ibland uppnå bättre applikationshastighet med hjälp av HTTP istället. I vissa fall måste du använda HTTP eftersom tjänsten inte stöder HTTPS, så var noga med att kontrollera servicedokumentationen innan du gör några antaganden.
De flesta utvecklare känner till både HTTP och HTTPS genom skrivbords- och webbläsarprogramutveckling. Men vad du kanske inte vet är att AWS stöder Message Queuing Telemetry Transport (MQTT). Detta publicerings- / prenumerationsmeddelande för transportprotokoll riktar sig till behoven hos begränsade enheter, t.ex. de som används för att utföra saker för saker som rör saker för saker (IoT) och maskin till maskin (M2M).Kolla in mer information om MQTT på och AWS-vyn av den. AWS tillåter användning av MQTT med ett antal tjänster, inklusive
- Amazon Simple Storage Service
- Amazon DynamoDB
- Amazon Kinesis
- AWS Lambda
- Amazon Simple Notification Service
- Amazon Simple Queue Service > Observera en API-metodlista
Innan du kan göra något med AWS, måste du veta vilka uppgifter (tillgängliga med metoder) är tillgängliga. API-dokumentationen kan ge dig en översikt över vad du kan göra, men den faktiska listan med tillgängliga metoder är flexibel och varierar beroende på kontext. Du kanske till exempel inte kan utföra vissa uppgifter med vissa tjänster eftersom du saknar en säker anslutning eller du inte har konfigurerat tjänsten för att stödja den önskade uppgiften.
En av anledningarna till att du vill använda REST är att den inte kartlägger Skapa, läs, uppdatera och radera (CRUD) -förfrågningar direkt till HTTP som ett protokoll gör (skapa ett oföränderligt kontrakt som du måste ändra varje tid du behöver göra en förändring). Du gör en förfrågan med en standardwebbadress med en GET-förfrågan och får en lista över hypermedia-länkar till de faktiska metallsamtalen. Artikeln om Hypermedia som applikationsstat (HATEOAS) beskriver hur denna process fungerar mer detaljerat.
REST grundades ursprungligen på XML för att tillhandahålla listan över länkar till specifika metodsamtal, men med hjälp av Hypermedia Access Language (HAL) kan du använda JSON istället, vilket är lättare att förstå. AWS förlitar sig för närvarande på XML för någon form av API-fråga eftersom de flesta utvecklare tycks förstå XML bättre. är det ursprungliga formatet för AWS. Den här artikeln innehåller detaljer om REST API.
Vid ett tillfälle tillhandahöll AWS omfattande stöd för Simple Object Access Protocol (SOAP). Faktum är att du fortfarande kan använda SOAP för att göra förfrågningar, men bara genom att använda HTTPS. I andra fall stöder AWS inte längre SOAP alls (ett exempel på avskrivning för EC2-tjänsten).
Gör en förfrågan
Förfrågningar och svar följer de välbekanta mönster som används med andra webbtjänster. Men AWS är noga med att se till att du vet att REST är bara arkitekturen och att API-förfrågningar lägger till något för att REST; det vill säga de representerar ett annat lager. I många fall ser du REST / query, som refererar till REST som används med ett API-samtal av någon typ.
Du måste skriva under de flesta REST-förfrågningar du gör till AWS. Vissa tjänster, till exempel Simple Storage Service (S3), tillåter anonyma förfrågningar. För att erhålla någon betydande mängd information måste du emellertid tillhandahålla signerade (autentiserade) förfrågningar. I denna artikel beskrivs emellertid hur man använder en sådan begäran för att åtgärda ett säkerhetsproblem med en S3-hink.
När du gör en förfrågan med CLI eller en SDK, skriver miljön din begäran om dig. Även om förfrågan fortfarande är undertecknad behöver du inte oroa sig för att utföra uppgiften manuellt. Du kan läsa mer om signeringsuppgifter på.