Ich kann Node.js verwenden, um Daten aus Azure-Tabellen abzurufen, zu posten, zu stellen und zu löschen.Reine JavaScript- oder jQuery-Aufrufe an Azure-Tabellenspeicher
Allerdings haben sich die Anforderungen geändert, wo ich nicht Node.js verwenden können und ich brauche eine reine JavaScript oder jQuery-Lösung (ex. Ajax) nutzen, um meine REST-Abfragen gegen die Azure Table Endpoint durchführen.
Ich werde wahrscheinlich die richtigen Header, Autorisierung und mögliche SaS ... haben aber keine Beispiele im Internet gefunden, die reine Ajax (nicht .NET, sondern eine reine JavaScript-Datei) oder reine JavaScript-Lösung sind.
Als Beispiel kann ich einen Nicht-Azure-Tabellenendpunkt wie eine generische REST-Tabelle treffen und Ergebnisse zurückliefern, aber wenn ich ihn auf den Azure-Tabellenendpunkt setze, erhalte ich den erwarteten 403-Autorisierungsfehler, da ich nicht überlasse die Autorisierung in/unsicher, wo das und die richtigen Header zu setzen:
<div id="jsondatahere" ></div>
<script>
yourUrl = 'https://myaccount.table.core.windows.net/myTable()'
function Get(yourUrl){
var Httpreq = new XMLHttpRequest(); // a new request
Httpreq.open("GET",yourUrl,false);
Httpreq.send(null);
return Httpreq.responseText;
}
var json_obj = JSON.parse(Get(yourUrl));
console.log(json_obj);
console.log("this is the author name: "+json_obj.clientName);
document.getElementById("jsondatahere").innerHTML = json_obj.clientName;
</script>
mit meinem Beispiel oder jQuery Ajax, hat jemand ein Beispiel davon, wie die Berechtigungen so eingestellt, dass ich bekommen kann, posten, setzen, löschen ?
Update:
kann ich meine Tabelle abfragen, aber Probleme habe den Wert eines Knotens ausgibt, da ich bin es gewohnt, JSON verwenden.
<div id="jsondatahere" ></div>
<!-- Browersify version of Node Azure Storage Files -->
<script src="https://one.rackspace.com/download/attachments/303335292/azure-storage.common.js"></script>
<script src="https://one.rackspace.com/download/attachments/303335292/azure-storage.table.js"></script>
<script>
var tableUri = 'https://minenotyours.table.core.windows.net';
var tableService = AzureStorage.createTableServiceWithSas(tableUri, '?sv=2016-05-31&tn=myInfo&sig=DQKSL13Z%2BF9Xp3WQaBtnEpyWADw9ggWqiwhvcE6YRXE%3D&se=2017-10-10T22%3A05%3A14Z&sp=raud');
var tableQuery = new AzureStorage.TableQuery().top(200);
tableService.queryEntities('myInfo', tableQuery, null, function(error, results, response) {
if (error) {
// Query entities error
console.log(error);
} else {
for (var i = 0, entity; entity = results.entries[i]; i++) {
// Deal with entity object
console.log(entity); // Returns whole object
console.log(entity.clientName); // Returns [object Object] > clientName
console.log(response.body.value[0].clientName); // Returns Value as expected
document.getElementById("jsondatahere").innerHTML = response.body.value[0].clientName; // Outputs value to HTML
}
}
});
</script>
Wie kann ich oben den XML-Wert für entity.clientName ausgeben?
CORS Unterstützung für Tabellen, dort zu sein aussieht: https://blogs.msdn.microsoft.com/windowsazurestorage/2013/11/27/windows -azure-storage-release-introducing-cors-json-minute-metrics-and-more/Ich habe auch nur die Schnittstelle überprüft und unter "Table Service" für mein Storage-Konto listet es CORS – Kode
Ah, das ist gut zu wissen. Ich werde den vorherigen Kommentar dann löschen. Ich habe gesucht, wie Sie mit JS authentifizieren und fand diese Bibliothek, hoffentlich ist es von einiger Verwendung: https://dmrelease.blob.core.windows.net/urzestoragejssample/samples/sample-table.html –
Ja! Das ist ein guter Anfang! – Kode