0
votes

I am trying to run an azure function on my local machine using Visual Studio Code. My main.py looks like this:

import logging

import azure.functions as func

def main(event: func.EventHubEvent):
    logging.info('Python EventHub trigger processed an event: %s', event.get_body().decode('utf-8'))

My host.json file looks like this:

{
  "version": "2.0",
  "extensionBundle": {
    "id": "Microsoft.Azure.Functions.ExtensionBundle",
    "version": "[1.*, 2.0.0)"
  }
}

My function.json looks something like this:

{
  "scriptFile": "main.py",
  "bindings": [
    {
      "type": "eventHubTrigger",
      "name": "event",
      "direction": "in",
      "eventHubName": "myhubName",
      "connection": "myHubConnection",
      "cardinality": "many",
      "consumerGroup": "$Default"
    }
  ]
}

The problem is when I run this, it throws me the following error:

A host error has occurred at Microsoft.AspNetCore.DataProtection: An error occurred while trying to encrypt the provided data. Refer to the inner exception for more information. Microsoft.AspNetCore.DataProtection: The key ring does not contain a valid default protection key. The data protection system cannot create a new key because auto-generation of keys is disabled. Value cannot be null. Parameter name: provider

I am not sure what I am I missing ? Any help is appreciated

1

1 Answers

0
votes

The problem was with the Azure Storage account:

Make sure the local.settings.json has the correct credentials for the storage account

{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "MyStorageKey",
    "FUNCTIONS_WORKER_RUNTIME": "python",
  }
}