Cloud Computing Anbietervergleich
wird
SignatureMethod
Hier wird die Verschlüsselung der Anfrage angegeben
SignatureVersion
Die Version der Signatur, die für die Anfrage verwendet wird
Timestamp
Datum und Uhrzeit der Anfrage
Version
Die API-Version, die verwendet wird
Tabelle 1.13: Gemeinsame API-Parameter
Will man eine Queue erstellen, benötigt man den Parameter QueueName . Ferner kann man die Zeit, in der Nachrichten beim Empfangen unsichtbar werden, über den Parameter DefaultVisibilityTimeout einstellen. Standardmäßig ist dieser Wert auf 30 Sekunden eingestellt. In Listing 1.1 wird eine Queue mit dem Namen codeForce erstellt, bei der der Parameter DefaultVisibilityTimeout auf 2 Minuten gestellt wird. Die Parameter, die für diese Operation zu den Standardparametern hinzukommen, sind unterstrichen.
http://sqs.eu-west-1.amazonaws.com/
?Action=CreateQueue
&DefaultVisibilityTimeout=40
&QueueName=codeForce
&Version=2009-02-01
&SignatureMethod=HmacSHA256
&Expires=2010-10-10T21%3A00%3A00GMT
&AWSAccessKeyId=My_Access_Key_REPLACE
&SignatureVersion=2
&Signature=My_Signature_REPLACE
Listing 1.1: Beispiel einer Queue-Erstellung
In Listing 1.1 wurden AWSAccesKeyId und Signature aus Datenschutzgründen nicht angegeben. Damit diese Abfrage funktioniert, ist es notwendig, sie durch die eigenen Keys zu ersetzen. Wie für REST-Abfragen üblich, hat jeder Request auch eine Response, die folgenderaßen aussehen kann:
http://sqs.eu-west-1.amazonaws.com/214557641132/
codeForce
3b61c89a-145b-1278-8a9b-aa7a7e64bb81
Listing 1.2: Beispiel einer Response
Die Response liefert den vollständigen URL der neu erstellten Queue zurück. Als Metadaten kommen lediglich noch die RequestId zurück.
Ähnlich verhält es sich, wenn man Listen anzeigen will. Hierfür wird die Aktion ListQueues aufgerufen. Zu den Standardparametern gesellt sich hier noch der Parameter QueueNamePrefix , der Parameter, der die zurückgelieferten Queues auf Queues einschränkt, die mit dem übergebenen Parameter übereinstimmen. In der Response kommt eine Enumeration der verschiedenen Queues am Server. Hierbei können maximal 1000 Queues abgefragt werden.
Ferner gibt es einige Operationen, die direkt auf die Queues ausgeführt werden können und in Tabelle 1.14 beschrieben sind.
Operation
Beschreibung
GetQueueAttributes
Gibt die Attribute einer Liste zurück. Mögliche Parameter sind: All, ApproximateNumberOfMessages, ApproximateNumberOfMessagesNotVisible, VisibilityTimeout, CreatedTimestamp, LastModifiedTimestamp, Policy, MaximumMessageSize und MessageRetentionPeriod
SetQueueAttributes
Setzt Attribute auf eine Queue. Mögliche Parameter sind: Visibility, Timeout, Policy, MaximumMessageSize und MessageRetentionPeriod.
DeleteQueue
Löscht eine Queue. Hierfür sind keine Parameter notwendig.
Tabelle 1.14: Operationen auf Queues
Damit andere Accounts (Amazon Web Service Accounts) auf die Nachrichten des eigenen Accounts zugreifen können, gibt es die Möglichkeit, Zugriffsrechte zu vergeben oder zu entziehen. Das regeln die beiden Funktionen RemovePermission und AddPermission . Letzteres benötigt eine Bezeichnung (Parameter Label ), eine Account-ID und den Namen einer Aktion. Der Name einer Aktion kann SendMessage , ReceiveMessage , DeleteMessage , ChangeMessageVisibility , GetQueueAtttributes oder „*“ für alles sein.
Schlussendlich gibt es Operationen, die auf Nachrichten direkt angewendet werden können ( Tabelle 1.15 ).
Operation
Beschreibung
ChangeMessageVisibility
Verändert die Zeit, in der eine Nachricht unsichtbar ist. Notwendige Parameter sind hier der ReceiptHandle (MessageId) und die VisibilityTimeout
DeleteMessage
Löscht eine Nachricht. Als Parameter wird der ReceiptHandle benötigt.
ReceiveMessage
Hiermit werden Nachrichten abgefragt. Optionale Parameter regeln hier die VisibilityTimeout (Zeit, in der die Nachrichten unsichtbar sind), MaxNumberOfMessages (maximale Anzahl der Nachrichten, jedoch maximal 10) und die Attribute, die zurückgeliefert werden sollen.
SendMessage
Versendet eine Nachricht. Hierbei wird der Parameter „MessageBody“ zusätzlich benötigt. Er kann bis zu 8 KB groß sein.
Tabelle 1.15: Operationen auf Nachrichten
All diese Operationen laufen auf einem sehr niedrigen Level. Amazon bietet auch einige High-Level APIs an, die all das stark vereinfachen. Für Simple Queue Service
Weitere Kostenlose Bücher