NoSQL (im Allgemeinen als "Nicht nur SQL" interpretiert) ist eine grobe Taxonomie, die sich auf andere Datenbankverwaltungssysteme als verwandte Datenbankverwaltungssysteme (RDBMS) bezieht. Viele NoSQL-Datenbankverwaltungssysteme sind stark für das Speichern und Abrufen von Daten optimiert. Einige haben die Funktionalität für diese Optimierung minimiert. Eine Schlüsselwertdatenbank, in der nur ein "Wert" und ein "Schlüssel" zum Abrufen gespeichert werden können, ist ein hervorragendes Beispiel. Aus dem Wiki Einfach ausgedrückt ist die NoSQL-Datenbankumgebung ein nicht relationales, weit verbreitetes Datenbanksystem, das eine schnelle und dynamische Organisation und Analyse großer Datenmengen unterschiedlichster Typen ermöglicht. Zitat Dieser Speicherdienst, der NoSQL verwendet, wird als NoSQL-Datenspeicher bezeichnet und in Azure bereitgestellt.
Dies ist eine Fortsetzung von Letztes Mal. Ich werde das Python-Paket für die Verwendung von NoSQL erklären. Ich werde einen Teil erklären, aber für Details hier .md)
** Tabelle erstellen ** ** TableService **: Zugriff auf NoSQL-Datenspeicher in Azure ** create_table **: Tabelle erstellen
account_name = 'Name des Speicherkontos'
account_key = 'key(Jeder von mehreren Schlüsseln ist in Ordnung)'
table_service = TableService(account_name=account_name, account_key=account_key)
table_service.create_table('mytasks')
** Extrakt ** ** table_service.query_entities ('Tabellenname', '', 'Datensatzspezifikation') ** In SQL konvertiert: ** Name, Kategorie aus meinen Aufgaben auswählen; **
tasks = table_service.query_entities('mytasks', '', 'name,category')
for task in tasks:
print(task.name)
print(task.category)
** Einfügen **
table_service.insert_entity('mytasks', {'PartitionKey':name+category, 'RowKey':name, 'name':name, 'category':category})
ersetzen Ersetzen, falls in der Entität vorhanden, anderweitig einfügen Geben Sie auf die gleiche Weise ** Partitionsschlüssel ** und ** Zeilenschlüssel ** für das zweite und dritte Argument an.
task = {'name':YUKI, 'category':Friends}
table_service.insert_or_replace_entity('mytasks', name+category, name, task)
aktualisieren Sie können den Datensatz aktualisieren, indem Sie ** PartitionKey ** und ** RowKey ** angeben.
table_service.update_entity('mytasks', partition_key, row_key, {'name': name, 'category':category})
** Entität löschen ** Wenn Sie eine Entität löschen möchten, können Sie sie löschen, indem Sie ** PartitionKey ** und ** RowKey ** angeben.
table_service.delete_entity('mytasks',name+category,name)
** Tabelle löschen **
table_service.delete_table('tasktable')
Letztes Mal wurde geringfügig geändert, um eine Löschfunktion hinzuzufügen.
views.py
from django.shortcuts import render
from django.http import HttpRequest
from django.template import RequestContext
from datetime import datetime
from django.http import HttpResponse
from django.template.loader import render_to_string
from azure.storage.table import TableService, Entity
account_name = 'Speichername'
account_key = 'Speicherschlüssel'
table_service = TableService(account_name=account_name, account_key=account_key)
table_service.create_table('mytasks')
def list_tasks(request):
entities = table_service.query_entities('mytasks', '', 'name,category')
html = render_to_string('app/test.html', {'entities':entities})
return HttpResponse(html)
def add_task(request):
name = request.GET['name']
category = request.GET['category']
table_service.insert_entity('mytasks', {'PartitionKey':name+category, 'RowKey':name, 'name':name, 'category':category})
entities = table_service.query_entities('mytasks', '', 'name,category')
html = render_to_string('app/test.html', {'entities':entities})
return HttpResponse(html)
def update_task(request):
name = request.GET['name']
category = request.GET['category']
table_service.delete_entity('mytasks',name+category,name)
entities = table_service.query_entities('mytasks', '', 'name,category')
html = render_to_string('app/test.html', {'entities':entities})
return HttpResponse(html)
test.html
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<h2>My Tasks</h2> <br>
<table border="1">
<tr>
<td>Name</td>
<td>Category</td>
<td>Check</td>
</tr>
{% for entity in entities %}
<form action="update_task" method="GET">
<tr>
<td>{{entity.name}} <input type="hidden" name='name' value="{{entity.name}}"></td>
<td>{{entity.category}} <input type="hidden" name='category' value="{{entity.category}}"></td>
<td><input type="submit" value="Löschen"></td>
</tr>
</form>
{% endfor %}
</table>
<br>
<hr>
<table border="1">
<form action="add_task" method="GET">
<tr>
<td>Name:</td
><td><input type="text" name="name"></input></td>
</tr>
<tr>
<td>Category:</td>
<td><input type="text" name="category"></input></td>
</tr>
<tr>
<td><input type="submit" value="add task"></input></td>
</tr>
</form>
</table>
</body>
</html>
urls.py
urlpatterns = [
url(r'^$', 'app.views.list_tasks'),
url(r'^list_tasks$', 'app.views.list_tasks'),
url(r'^add_task$', 'app.views.add_task'),
url(r'^update_task$', 'app.views.update_task'),
]
Versuchen Sie nur die neu implementierte Löschfunktion Drücken Sie die Löschtaste, um den Datensatz zu löschen
** * Soweit ich tatsächlich überprüft habe, kann ich keine Tabellen und Datensätze im Speicher von Azure löschen. Wenn Sie die Tabelle in Azure löschen möchten, können Sie den Speicher neu erstellen. Es ist jedoch ärgerlich und schwierig, daher wird empfohlen, es programmgesteuert (mithilfe eines Pakets) zu entfernen. ** **.
Klicken Sie mit der rechten Maustaste auf das Projekt und wählen Sie ** [Veröffentlichen] **
Wählen Sie Microsoft Azure Web Apps aus. ** [Veröffentlichen] **
Erstelle eine neue App mit [Neu]!
Geben Sie ** Web App Name ** und ** App Service Plan ** einen beliebigen Namen Wenn es keine ** Ressourcengruppe ** gibt, erstellen Sie diese bitte
Überprüfen Sie einfach, ob Sie detaillierte Einstellungen vornehmen möchten, und wählen Sie ** [Weiter] ** aus Es gibt kein Problem, so wie es ist ** [Problem] ** Anschließend wird es auf Azure hochgeladen
Zum Schluss vom Azure-Portalverwaltungsbildschirm [App Service] ➡︎ [APP-Name erstellt] ➡︎ [Übersicht] ➡︎ [URL] Wenn Sie auswählen, funktioniert die zuvor erstellte Django-Anwendung! !!
Recommended Posts