[
{
"id": "BlobTrigger-CSharp",
"runtime": "2",
"files": {
"readme.md": "# BlobTrigger - C#\r\n\r\nThe `BlobTrigger` makes it incredibly easy to react to new Blobs inside of Azure Blob Storage. This sample demonstrates a simple use case of processing data from a given Blob using C#.\r\n\r\n## How it works\r\n\r\nFor a `BlobTrigger` to work, you provide a path which dictates where the blobs are located inside your container, and can also help restrict the types of blobs you wish to return. For instance, you can set the path to `samples/{name}.png` to restrict the trigger to only the samples path and only blobs with \".png\" at the end of their name.\r\n\r\n## Learn more\r\n\r\n Documentation",
"run.csx": "public static void Run(Stream myBlob, string name, ILogger log)\r\n{\r\n log.LogInformation($\"C# Blob trigger function Processed blob\\n Name:{name} \\n Size: {myBlob.Length} Bytes\");\r\n}\r\n",
"sample.dat": "samples-workitems/workitem.txt"
},
"function": {
"bindings": [
{
"name": "myBlob",
"type": "blobTrigger
"direction": "in",
"path": "samples-workitems/{name}",
"connection": ""
}
]
},
"metadata": {
"defaultFunctionName": "BlobTrigger",
"description": "$BlobTrigger_description",
"name": "Azure Blob Storage trigger",
"language": "C#",
"category": [
"$temp_category_core",
"$temp_category_dataProcessing"
],
"categoryStyle": "blob",
"enabledInTryMode": true,
"userPrompt": [
"connection",
"path"
],
"extensions": [
{
"id": "Microsoft.Azure.WebJobs.Extensions.Storage",
"version": "3.0.10"
}
]
}
},
{
"id": "BlobTrigger-Custom",
"runtime": "2",
"files": {},
"function": {
"bindings": [
{
"name": "myBlob",
"type": "blobTrigger",
"direction": "in",
"path": "samples-workitems/{name}",
"connection": ""
}
]
},
"metadata": {
"defaultFunctionName": "BlobTrigger",
"description": "$BlobTrigger_description",
"name": "Azure Blob Storage trigger",
"language": "Custom",
"category": [
"$temp_category_core",
"$temp_category_dataProcessing"
],
"categoryStyle": "blob",
"enabledInTryMode": true,
"userPrompt": [
"connection",
"path"
],
"extensions": [
{
"id": "Microsoft.Azure.WebJobs.Extensions.Storage",
"version": "3.0.10"
}
]
}
},
{
"id": "BlobTrigger-JavaScript",
"runtime": "2",
"files": {
"index.js": "module.exports = async function (context, myBlob) {\r\n context.log(\"JavaScript blob trigger function processed blob \\n Blob:\", context.bindingData.blobTrigger, \"\\n Blob Size:\", myBlob.length, \"Bytes\");\r\n};",
"readme.md": "# BlobTrigger - JavaScript\r\n\r\nThe `BlobTrigger` makes it incredibly easy to react to new Blobs inside of Azure Blob Storage. This sample demonstrates a simple use case of processing data from a given Blob using JavaScript.\r\n\r\n## How it works\r\n\r\nFor a `BlobTrigger` to work, you provide a path which dictates where the blobs are located inside your container, and can also help restrict the types of blobs you wish to return. For instance, you can set the path to `samples/{name}.png` to restrict the trigger to only the samples path and only blobs with \".png\" at the end of their name.\r\n\r\n## Learn more\r\n\r\n Documentation",
"sample.dat": "samples-workitems/workitem.txt"
},
"function": {
"bindings": [
{
"name": "myBlob",
"type": "blobTrigger",
"direction": "in",
"path": "samples-workitems/{name}",
"connection": ""
}
]
},
"metadata": {
"defaultFunctionName": "BlobTrigger",
"description": "$BlobTrigger_description",
"name": "Azure Blob Storage trigger",
"language": "JavaScript",
"category": [
"$temp_category_core",
"$temp_category_dataProcessing"
],
"categoryStyle": "blob",
"enabledInTryMode": true,
"userPrompt": [
"connection",
"path"
],
"extensions": [
{
"id": "Microsoft.Azure.WebJobs.Extensions.Storage",
"version": "3.0.10"
}
]
}
},
{
"id": "BlobTrigger-PowerShell",
"runtime": "2",
"files": {
"readme.md": "# BlobTrigger - PowerShell\r\n\r\nThe `BlobTrigger` makes it incredibly easy to react to new Blobs inside of [Azure Blob Storage](https://azure.microsoft.com/en-us/services/storage/blobs/).\r\nThis sample demonstrates a simple use case of processing data from a given Blob using PowerShell.\r\n\r\n## How it works\r\n\r\nFor a `BlobTrigger` to work, you provide a path which dictates where the blobs are located inside your container, and can also help restrict the types of blobs you wish to return. For instance, you can set the path to `samples/{name}.png` to restrict the trigger to only the samples path and only blobs with \".png\" at the end of their name.\r\n\r\n## Learn more\r\n\r\n Documentation\r\n",
"run.ps1": "# Input bindings are passed in via param block.\r\nparam([byte[]] $InputBlob, $TriggerMetadata)\r\n\r\n# Write out the blob name and size to the information log.\r\nWrite-Host \"PowerShell Blob trigger function Processed blob! Name: $($TriggerMetadata.Name) Size: $($InputBlob.Length) bytes\"\r\n",
"sample.dat": "samples-workitems/workitem.txt"
},
"function": {
"bindings": [
{
"name": "InputBlob",
"type": "blobTrigger",
"direction": "in",
"path": "samples-workitems/{name}",
"connection": ""
}
]
},
"metadata": {
"defaultFunctionName": "BlobTrigger",
"description": "$BlobTrigger_description",
"name": "Azure Blob Storage trigger",
"language": "PowerShell",
"category": [
"$temp_category_core",
"$temp_category_dataProcessing"
],
"categoryStyle": "blob",
"enabledInTryMode": true,
"userPrompt": [
"connection",
"path"
],
"extensions": [
{
"id": "Microsoft.Azure.WebJobs.Extensions.Storage",
"version": "3.0.10"
}
]
}
},
{
"id": "BlobTrigger-Python",
"runtime": "2",
"files": {
"readme.md": "# BlobTrigger - Python\r\n\r\nThe `BlobTrigger` makes it incredibly easy to react to new Blobs inside of Azure Blob Storage. This sample demonstrates a simple use case of processing data from a given Blob using Python.\r\n\r\n## How it works\r\n\r\nFor a `BlobTrigger` to work, you provide a path which dictates where the blobs are located inside your container, and can also help restrict the types of blobs you wish to return. For instance, you can set the path to `samples/{name}.png` to restrict the trigger to only the samples path and only blobs with \".png\" at the end of their name.\r\n\r\n## Learn more\r\n\r\n Documentation",
"sample.dat": "samples-workitems/workitem.txt",
"__init__.py": "import logging\r\n\r\nimport azure.functions as func\r\n\r\n\r\ndef main(myblob: func.InputStream):\r\n logging.info(f\"Python blob trigger function processed blob \\n\"\r\n f\"Name: {myblob.name}\\n\"\r\n f\"Blob Size: {myblob.length} bytes\")\r\n"
},
"function": {
"scriptFile": "__init__.py",
"bindings": [
{
"name": "myblob",
"type": "blobTrigger",
"direction": "in",
"path": "samples-workitems/{name}",
"connection": ""
}
]
},
"metadata": {
"defaultFunctionName": "BlobTrigger",
"description": "$BlobTrigger_description",
"name": "Azure Blob Storage trigger",
"language": "Python",
"category": [
"$temp_category_core",
"$temp_category_dataProcessing"
],
"categoryStyle": "blob",
"enabledInTryMode": true,
"userPrompt": [
"connection",
"path"
],
"filters": [
"Python3"
],
"extensions": [
{
"id": "Microsoft.Azure.WebJobs.Extensions.Storage",
"version": "3.0.10"
}
]
}
},
{
"id": "BlobTrigger-TypeScript",
"runtime": "2",
"files": {
"index.ts": "import { AzureFunction, Context } from \"@azure/functions\"\r\n\r\nconst blobTrigger: AzureFunction = async function (context: Context, myBlob: any): Promise {\r\n context.log(\"Blob trigger function processed blob \\n Name:\", context.bindingData.name, \"\\n Blob Size:\", myBlob.length, \"Bytes\");\r\n};\r\n\r\nexport default blobTrigger;\r\n",
"readme.md": "# BlobTrigger - TypeScript\r\n\r\nThe `BlobTrigger` makes it incredibly easy to react to new Blobs inside of Azure Blob Storage. This sample demonstrates a simple use case of processing data from a given Blob using TypeScript.\r\n\r\n## How it works\r\n\r\nFor a `BlobTrigger` to work, you provide a path which dictates where the blobs are located inside your container, and can also help restrict the types of blobs you wish to return. For instance, you can set the path to `samples/{name}.png` to restrict the trigger to only the samples path and only blobs with \".png\" at the end of their name.\r\n\r\n## Learn more\r\n\r\n Documentation",
"sample.dat": "samples-workitems/workitem.txt"
},
"function": {
"bindings": [
{
"name": "myBlob",
"type": "blobTrigger",
"direction": "in",
"path": "samples-workitems/{name}",
"connection": ""
}
]
},
"metadata": {
"defaultFunctionName": "BlobTrigger",
"description": "$BlobTrigger_description",
"name": "Azure Blob Storage trigger",
"language": "TypeScript",
"category": [
"$temp_category_core",
"$temp_category_dataProcessing"
],
"categoryStyle": "blob",
"enabledInTryMode": true,
"userPrompt": [
"connection",
"path"
],
"extensions": [
{
"id": "Microsoft.Azure.WebJobs.Extensions.Storage",
"version": "3.0.10"
}
]
}
},
{
"id": "CosmosDBTrigger-CSharp",
"runtime": "2",
"files": {
"run.csx": "#r \"Microsoft.Azure.DocumentDB.Core\"\r\nusing System;\r\nusing System.Collections.Generic;\r\nusing Microsoft.Azure.Documents;\r\n\r\npublic static void Run(IReadOnlyList input, ILogger log)\r\n{\r\n if (input != null && input.Count > 0)\r\n {\r\n log.LogInformation(\"Documents modified \" + input.Count);\r\n log.LogInformation(\"First document Id \" + input[0].Id);\r\n }\r\n}\r\n"
},
"function": {
"bindings": [
{
"type": "cosmosDBTrigger",
"name": "input",
"direction": "in",
"connectionStringSetting": "",
"databaseName": "",
"collectionName": "",
"leaseCollectionName": "leases",
"createLeaseCollectionIfNotExists": true
}
]
},
"metadata": {
"defaultFunctionName": "CosmosTrigger",
"description": "$CosmosDBTrigger_description",
"name": "Azure Cosmos DB trigger",
"language": "C#",
"category": [
"$temp_category_core",
"$temp_category_dataProcessing"
],
"categoryStyle": "cosmosDB",
"enabledInTryMode": false,
"userPrompt": [
"connectionStringSetting",
"databaseName",
"collectionName",
"leaseCollectionName",
"createLeaseCollectionIfNotExists"
],
"extensions": [
{
"id": "Microsoft.Azure.WebJobs.Extensions.CosmosDB",
"version": "3.0.5"
}
]
}
},
{
"id": "CosmosDBTrigger-Custom",
"runtime": "2",
"files": {},
"function": {
"bindings": [
{
"type": "cosmosDBTrigger",
"name": "documents",
"direction": "in",
"leaseCollectionName": "leases",
"connectionStringSetting": "",
"databaseName": "",
"collectionName": "",
"createLeaseCollectionIfNotExists": true
}
]
},
"metadata": {
"defaultFunctionName": "CosmosTrigger",
"description": "$CosmosDBTrigger_description",
"name": "Azure Cosmos DB trigger",
"language": "Custom",
"category": [
"$temp_category_core",
"$temp_category_dataProcessing"
],
"categoryStyle": "cosmosDB",
"enabledInTryMode": false,
"userPrompt": [
"connectionStringSetting",
"databaseName",
"collectionName",
"leaseCollectionName",
"createLeaseCollectionIfNotExists"
],
"extensions": [
{
"id": "Microsoft.Azure.WebJobs.Extensions.CosmosDB",
"version": "3.0.5"
}
]
}
},
{
"id": "CosmosDBTrigger-JavaScript",
"runtime": "2",
"files": {
"index.js": "module.exports = async function (context, documents) {\r\n if (!!documents && documents.length > 0) {\r\n context.log('Document Id: ', documents[0].id);\r\n }\r\n}\r\n",
"sample.dat": "[\r\n\t{\r\n\t\t\"id\": \"sample\"\r\n\t}\r\n]"
},
"function": {
"bindings": [
{
"type": "cosmosDBTrigger",
"name": "documents",
"direction": "in",
"leaseCollectionName": "leases",
"connectionStringSetting": "",
"databaseName": "",
"collectionName": "",
"createLeaseCollectionIfNotExists": true
}
]
},
"metadata": {
"defaultFunctionName": "CosmosTrigger",
"description": "$CosmosDBTrigger_description",
"name": "Azure Cosmos DB trigger",
"language": "JavaScript",
"category": [
"$temp_category_core",
"$temp_category_dataProcessing"
],
"categoryStyle": "cosmosDB",
"enabledInTryMode": false,
"userPrompt": [
"connectionStringSetting",
"databaseName",
"collectionName",
"leaseCollectionName",
"createLeaseCollectionIfNotExists"
],
"extensions": [
{
"id": "Microsoft.Azure.WebJobs.Extensions.CosmosDB",
"version": "3.0.5"
}
]
}
},
{
"id": "CosmosDBTrigger-PowerShell",
"runtime": "2",
"files": {
"run.ps1": "# Input bindings are passed in via param block.\r\nparam($Documents, $TriggerMetadata)\r\n\r\nif ($Documents.Count -gt 0) {\r\n Write-Host \"Document Id: $($Documents[0].id)\"\r\n}\r\n",
"sample.dat": "[\r\n\t{\r\n\t\t\"id\": \"sample\"\r\n\t}\r\n]\r\n"
},
"function": {
"bindings": [
{
"type": "cosmosDBTrigger",
"name": "Documents",
"direction": "in",
"leaseCollectionName": "leases",
"connectionStringSetting": "",
"databaseName": "",
"collectionName": "",
"createLeaseCollectionIfNotExists": true
}
]
},
"metadata": {
"defaultFunctionName": "CosmosTrigger",
"description": "$CosmosDBTrigger_description",
"name": "Azure Cosmos DB trigger",
"language": "PowerShell",
"category": [
"$temp_category_core",
"$temp_category_dataProcessing"
],
"categoryStyle": "cosmosDB",
"enabledInTryMode": false,
"userPrompt": [
"connectionStringSetting",
"databaseName",
"collectionName",
"leaseCollectionName",
"createLeaseCollectionIfNotExists"
],
"extensions": [
{
"id": "Microsoft.Azure.WebJobs.Extensions.CosmosDB",
"version": "3.0.5"
}
]
}
},
{
"id": "CosmosDBTrigger-Python",
"runtime": "2",
"files": {
"sample.dat": "[\r\n\t{\r\n\t\t\"id\": \"sample\"\r\n\t}\r\n]",
"__init__.py": "import logging\r\n\r\nimport azure.functions as func\r\n\r\n\r\ndef main(documents: func.DocumentList) -> str:\r\n if documents:\r\n logging.info('Document id: %s', documents[0]['id'])\r\n"
},
"function": {
"scriptFile": "__init__.py",
"bindings": [
{
"type": "cosmosDBTrigger",
"name": "documents",
"direction": "in",
"leaseCollectionName": "leases",
"connectionStringSetting": "",
"databaseName": "",
"collectionName": "",
"createLeaseCollectionIfNotExists": true
}
]
},
"metadata": {
"defaultFunctionName": "CosmosTrigger",
"description": "$CosmosDBTrigger_description",
"name": "Azure Cosmos DB trigger",
"language": "Python",
"category": [
"$temp_category_core",
"$temp_category_dataProcessing"
],
"categoryStyle": "cosmosDB",
"enabledInTryMode": false,
"userPrompt": [
"connectionStringSetting",
"databaseName",
"collectionName",
"leaseCollectionName",
"createLeaseCollectionIfNotExists"
],
"extensions": [
{
"id": "Microsoft.Azure.WebJobs.Extensions.CosmosDB",
"version": "3.0.5"
}
],
"filters": [
"Python3"
]
}
},
{
"id": "CosmosDBTrigger-TypeScript",
"runtime": "2",
"files": {
"index.ts": "import { AzureFunction, Context } from \"@azure/functions\"\r\n\r\nconst cosmosDBTrigger: AzureFunction = async function (context: Context, documents: any[]): Promise {\r\n if (!!documents && documents.length > 0) {\r\n context.log('Document Id: ', documents[0].id);\r\n }\r\n}\r\n\r\nexport default cosmosDBTrigger;\r\n",
"sample.dat": "[\r\n\t{\r\n\t\t\"id\": \"sample\"\r\n\t}\r\n]"
},
"function": {
"bindings": [
{
"type": "cosmosDBTrigger",
"name": "documents",
"direction": "in",
"leaseCollectionName": "leases",
"connectionStringSetting": "",
"databaseName": "",
"collectionName": "",
"createLeaseCollectionIfNotExists": true
}
]
},
"metadata": {
"defaultFunctionName": "CosmosTrigger",
"description": "$CosmosDBTrigger_description",
"name": "Azure Cosmos DB trigger",
"language": "TypeScript",
"category": [
"$temp_category_core",
"$temp_category_dataProcessing"
],
"categoryStyle": "cosmosDB",
"enabledInTryMode": false,
"userPrompt": [
"connectionStringSetting",
"databaseName",
"collectionName",
"leaseCollectionName",
"createLeaseCollectionIfNotExists"
],
"extensions": [
{
"id": "Microsoft.Azure.WebJobs.Extensions.CosmosDB",
"version": "3.0.5"
}
]
}
},
{
"id": "DurableFunctionsActivity-CSharp",
"runtime": "2",
"files": {
"run.csx": "/*\r\n * This function is not intended to be invoked directly. Instead it will be\r\n * triggered by an orchestrator function.\r\n * \r\n * Before running this sample, please:\r\n * - create a Durable orchestration function\r\n * - create a Durable HTTP starter function\r\n */\r\n\r\n#r \"Microsoft.Azure.WebJobs.Extensions.DurableTask\"\r\n\r\npublic static string Run(string name)\r\n{\r\n return $\"Hello {name}!\";\r\n}"
},
"function": {
"bindings": [
{
"name": "name",
"type": "activityTrigger",
"direction": "in"
}
]
},
"metadata": {
"defaultFunctionName": "Hello",
"description": "$DurableFunctionsActivity_description",
"name": "Durable Functions activity",
"language": "C#",
"category": [
"$temp_category_core",
"$temp_category_durableFunctions"
],
"categoryStyle": "other",
"enabledInTryMode": false,
"userPrompt": [],
"extensions": [
{
"id": "Microsoft.Azure.WebJobs.Extensions.DurableTask",
"version": "1.8.6"
}
]
}
},
{
"id": "DurableFunctionsActivity-JavaScript",
"runtime": "2",
"files": {
"index.js": "/*\r\n * This function is not intended to be invoked directly. Instead it will be\r\n * triggered by an orchestrator function.\r\n * \r\n * Before running this sample, please:\r\n * - create a Durable orchestration function\r\n * - create a Durable HTTP starter function\r\n * - run 'npm install durable-functions' from the wwwroot folder of your\r\n * function app in Kudu\r\n */\r\n\r\nmodule.exports = async function (context) {\r\n return `Hello ${context.bindings.name}!`;\r\n};"
},
"function": {
"bindings": [
{
"name": "name",
"type": "activityTrigger",
"direction": "in"
}
]
},
"metadata": {
"defaultFunctionName": "Hello",
"description": "$DurableFunctionsActivity_description",
"name": "Durable Functions activity",
"language": "JavaScript",
"category": [
"$temp_category_core",
"$temp_category_durableFunctions"
],
"categoryStyle": "other",
"enabledInTryMode": false,
"userPrompt": [],
"extensions": [
{
"id": "Microsoft.Azure.WebJobs.Extensions.DurableTask",
"version": "1.8.6"
}
]
}
},
{
"id": "DurableFunctionsActivity-PowerShell",
"runtime": "2",
"files": {
"run.ps1": "param($name)\r\n\r\n\"Hello $name!\"\r\n"
},
"function": {
"bindings": [
{
"name": "name",
"type": "activityTrigger",
"direction": "in"
}
]
},
"metadata": {
"defaultFunctionName": "Hello",
"description": "$DurableFunctionsActivity_description",
"name": "Durable Functions activity (preview)",
"language": "PowerShell",
"category": [
"$temp_category_core",
"$temp_category_durableFunctions"
],
"categoryStyle": "other",
"enabledInTryMode": false,
"userPrompt": [],
"extensions": [
{
"id": "Microsoft.Azure.WebJobs.Extensions.DurableTask",
"version": "1.8.6"
}
]
}
},
{
"id": "DurableFunctionsActivity-Python",
"runtime": "2",
"files": {
"__init__.py": "# This function is not intended to be invoked directly. Instead it will be\r\n# triggered by an orchestrator function.\r\n# Before running this sample, please:\r\n# - create a Durable orchestration function\r\n# - create a Durable HTTP starter function\r\n# - add azure-functions-durable to requirements.txt\r\n# - run pip install -r requirements.txt\r\n\r\nimport logging\r\n\r\n\r\ndef main(name: str) -> str:\r\n return f\"Hello {name}!\"\r\n"
},
"function": {
"scriptFile": "__init__.py",
"bindings": [
{
"name": "name",
"type": "activityTrigger",
"direction": "in"
}
]
},
"metadata": {
"defaultFunctionName": "Hello",
"description": "$DurableFunctionsActivity_description",
"name": "Durable Functions activity",
"language": "Python",
"category": [
"$temp_category_core",
"$temp_category_durableFunctions"
],
"categoryStyle": "other",
"enabledInTryMode": false,
"userPrompt": [],
"extensions": [
{
"id": "Microsoft.Azure.WebJobs.Extensions.DurableTask",
"version": "1.8.6"
}
]
}
},
{
"id": "DurableFunctionsActivity-TypeScript",
"runtime": "2",
"files": {
"index.ts": "/*\r\n * This function is not intended to be invoked directly. Instead it will be\r\n * triggered by an orchestrator function.\r\n * \r\n * Before running this sample, please:\r\n * - create a Durable orchestration function\r\n * - create a Durable HTTP starter function\r\n * - run 'npm install durable-functions' from the wwwroot folder of your\r\n * function app in Kudu\r\n */\r\n\r\nimport { AzureFunction, Context } from \"@azure/functions\"\r\n\r\nconst activityFunction: AzureFunction = async function (context: Context): Promise {\r\n return `Hello ${context.bindings.name}!`;\r\n};\r\n\r\nexport default activityFunction;\r\n"
},
"function": {
"bindings": [
{
"name": "name",
"type": "activityTrigger",
"direction": "in"
}
]
},
"metadata": {
"defaultFunctionName": "Hello",
"description": "$DurableFunctionsActivity_description",
"name": "Durable Functions activity",
"language": "TypeScript",
"category": [
"$temp_category_core",
"$temp_category_durableFunctions"
],
"categoryStyle": "other",
"enabledInTryMode": false,
"userPrompt": [],
"extensions": [
{
"id": "Microsoft.Azure.WebJobs.Extensions.DurableTask",
"version": "1.8.6"
}
]
}
},
{
"id": "DurableFunctionsHttpStart-CSharp",
"runtime": "2",
"files": {
"run.csx": "#r \"Microsoft.Azure.WebJobs.Extensions.DurableTask\"\r\n#r \"Newtonsoft.Json\"\r\n\r\nusing System.Net;\r\n\r\npublic static async Task Run(\r\n HttpRequestMessage req,\r\n DurableOrchestrationClient starter,\r\n string functionName,\r\n ILogger log)\r\n{\r\n // Function input comes from the request content.\r\n dynamic eventData = await req.Content.ReadAsAsync