Dieses kleine Projekt richtet sich an Bastler und Hobbyentwickler, die einfach und unkompliziert ein paar Daten Online speichern wollen. Mögliche Anwendungsfälle sind zum Biepsiel kleine IoT Projekte, bei denen ein Sensor seine Daten für den Zugriff aus dem Internet zur Verfügung stellen soll. Dies ginge natürlich auch auf direktem Wege, aber ich bin kein Fan davon für jede Spielerei Portweiterleitungen und/oder DynDNS im Router einzurichten. In anderen Fällen sollen evtl. Konfigurationsdaten außerhalb einer Anwendung gespeichert werden, damit diese auch auf anderen Plattformen abrufbar sind. Ein konkretes Beispiel wäre eine Liste von Namen für eine selbstgebaute "Twitch who is online" App für PC und Handy. In beiden Fällen geht es darum eine sehr kleine Menge Daten an einem von unterschiedlichen Akteuren erreichbaren Ort zu speichern. Eine eigene Domain und einen Server einzurichten lohnt sich hier jedoch oft nicht. Hier bietet der Dienst eine Lösung, indem ein sogenannter "Storage" gehostet, der mittels einer einfachen API (Application Programming Interface) gelesen und beschrieben werdden kann. Der Speicher ist dabei mit 4096 Byte stark begrenzt. Es ist daher angebracht sich genau zu überlegen welche Daten wie gespeichert werden. Im zuvor genannten Beispiel ist es z.B. ratsam durch Kommas getrennte Namen statt JSON zu verwenden.
Das Anlegen eines neue Speichers kann im Menü über "Neu" erfolgen. Dabei wird ein zufälliger Code (Access Key) erzeugt, mit dem du auf deinen Speicher zugreifen kannst. Eine weitere Benutzerauthentifizierung erfolgt nicht. Überlege daher gut wo du den Access Key speicherst. TinyStorage ist für Open-Source Projekte daher weniger geeignet.
Der Fokus liegt dabei auf eine möglichst einfache Nutzung. Die API ist eine HTTP Schnittstelle die lediglich zwei Funktionen unterstützt. Bei einer HTTP GET-Anfrage, zusammen mit dem Access Key, kann der Speicher ausgelesen werden. Bei einer HTTP POST-Anfrage wird der Speicher überschrieben. Der Speicher ist dabei auf 4096 Byte gebrenzt. Dies sollte für die meisten Konfigurationsdaten und kleine IoT Bastellprojekte ausreichen.
Der Dienst ist nicht zum Speichern von wichtigen Daten gedacht! Zum einen können keine Garantien über die Verfügbarkeit gemacht werden und zum Anderen halte ich mir das Recht vor ungenutzten Speicher bei Bedarf und ohne Vorankündigung zu löschen. Zu diesem Zweck wird der Zeitpunkt des letzten schreibenden und lesenden Zugriffs auf den Speicher mitgespeichert. Ab welchen Zeiträumen genau ein Speicher als ungenutzt klassifiziert wird muss noch entschieden werden. Ein Zeitrahmen der mir derzeit vorschwebt liegt bei etwa 10 Tagen nach dem letzten schreibenden Zugriff. Solange auf dem Server noch ausreichend freien Speicher zur Verfügung ist, wird die Entscheidung jedoch vertagt. Bis dahin wird kein TinyStorage gelöscht.