Функция удаленной сборки Azure с таймером в Python - PullRequest
0 голосов
/ 04 октября 2019

Я работаю с функцией Timer Azure в Python, это функция на основе Linux, и я хочу написать в blob.

# __init__.py

import datetime
import logging
import random 

import azure.functions as func

import os, sys

def main(mytimer: func.TimerRequest, outputBlob: func.Out[str]):
    utc_timestamp = datetime.datetime.utcnow().replace(
        tzinfo=datetime.timezone.utc).isoformat()

    if mytimer.past_due:
        logging.info('The timer is past due!')

    logging.info('Python timer2 trigger function ran at %s %d' % (utc_timestamp, random.randint(1, 21)))

output = "Hello World!"
outputblob.set(output)

вот функция.json

{
  "scriptFile": "__init__.py",
  "bindings": [
    {
      "name": "mytimer",
      "type": "timerTrigger",
      "direction": "in",
      "schedule": "0 */5 * * * *"
    },
    {
      "type": "blob",
      "name": "outputBlob",
      "path": "lakesensecontainer/clear.txt",
      "direction": "out",
      "connection": "DefaultEndpointsProtocol=conectionstring"
    }
  ]
}

Получите эту ошибку: команде расширений требуется точка сети на вашем пути. Обязательно установите dotnet (.NET Core SDK) для вашей системы из https://www.microsoft.com/net/download., который я установил на моем локальном компьютере, но это, кажется, не имеет значения, поскольку он пытается выполнить запись на удаленный компьютер. Что мне здесь не хватает?

1 Ответ

0 голосов
/ 04 октября 2019

Мы пытаемся установить это значение по умолчанию во всех инструментах / шаблонах, но говорится, что у него нет «расширения» для триггера таймера, и пытаемся использовать dotnet для его установки. Самое простое решение (и какие настройки по умолчанию должны двигаться вперед) - это скопировать содержимое этого документа в ваш host.json, позволяя функции azure использовать «комплект», который имеет множество расширяемых функций, таких как таймеры:

https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-register#extension-bundles

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

}

...