Skip to content

Instantly share code, notes, and snippets.

View ThomasPe's full-sized avatar

Thomas Pentenrieder ThomasPe

View GitHub Profile
@ThomasPe
ThomasPe / index.js
Last active October 3, 2018 11:04
Create | Azure Functions + NodeJs + Table Storage
// Reference to the Azure Storage SDK
const azure = require('azure-storage');
// Reference to the uuid package which helps us to create
// unique identifiers for our PartitionKey
const uuid = require('uuid/v1');
// The TableService is used to send requests to the database
const tableService = azure.createTableService();
//
const tableName = "mytable";
@ThomasPe
ThomasPe / index.js
Last active October 2, 2018 12:24
Read | Azure Functions + NodeJs + Table Storage
const azure = require('azure-storage');
const tableService = azure.createTableService();
const tableName = "mytable";
module.exports = function (context, req) {
context.log('Start ItemRead');
const id = req.query.id;
if (id) {
@ThomasPe
ThomasPe / index.js
Created October 2, 2018 11:39
Blank JavaScript Azure Function
module.exports = async function (context, req) {
context.log('JavaScript HTTP trigger function processed a request.');
context.res = {
status: 200,
body: "Result message"
};
};
@ThomasPe
ThomasPe / uploadSite.js
Created July 30, 2018 11:53
Upload html file to Azure Storage static web hosting
function uploadSite(page){
context.log("Upload site ");
var blobService = storage.createBlobService();
// create $web container
blobService.createContainerIfNotExists('$web', function(){
// upload index.html to $web container
const options = { contentSettings: { contentType: 'text/html' } }
blobService.createBlockBlobFromText("$web", "index.html", page, options, function (error) {
@ThomasPe
ThomasPe / renderSite.js
Created July 30, 2018 11:50
Render index.html from mustache templates & dynamic data
function renderSite(){
context.log("render site");
var pageFile = "";
mu.compileText('index.mustache', context.bindings.indexTemplate, function (err, parsed) {
var renderstream = mu.render(parsed, { news: mynews, links: mylinks });
renderstream.on('data', function (data) {
pageFile += data;
});
renderstream.on('end', function (data) {
context.log("done creating index.html");
@ThomasPe
ThomasPe / prepareTemplates.js
Created July 30, 2018 11:47
Preparing mustache header & footer files
function prepareTemplates(){
context.log('prepare Templates');
mu.compileText('header.mustache', context.bindings.headerTemplate, function () {
mu.compileText('footer.mustache', context.bindings.footerTemplate, function () {
renderSite();
});
});
}
@ThomasPe
ThomasPe / getData.js
Created July 30, 2018 11:37
Get WordPress data from REST API
function getData(){
context.log('get data');
var options = {
url: 'https://windowsarea.de/wp-json/wp/v2/posts',
method: 'GET',
json: true
}
request(options, function (error, response, data) {
@ThomasPe
ThomasPe / index.mustache
Created July 30, 2018 11:19
Sample index.mustache
{{> header.mustache}}
<h1>WindowsArea.de News</h1>
<ul>
{{#news}}
<li><a href="{{link}}" target="_blank">{{title.rendered}}</a></li>
{{/news}}
</ul>
<h1>My Links</h1>
@ThomasPe
ThomasPe / WebhookTriggerFunction.csx
Created January 6, 2018 20:30
A C# Azure Function for calling webhooks with basic authentication
using System;
using System.Net;
[FunctionName("GetEnvironmentVariables")]
public static void Run(TimerInfo myTimer, TraceWriter log)
{
log.Info($"C# Timer trigger function executed at: {DateTime.Now}");
string username = GetEnvironmentVariable("Webhook_Username");
string password = GetEnvironmentVariable("Webhook_Password");
@ThomasPe
ThomasPe / GetAllIntent.json
Created November 14, 2017 08:02
This is a model for getting a complete sentence from Alexa Skills Service
{
"languageModel": {
"types": [
{
"name": "CatchAllSlotType",
"values": [
{
"id": null,
"name": {
"value": "test",