Использование функции Azure в режиме таймера для заполнения таблицы хранения

Я пытаюсь отправить данные в таблицу хранилища Azure с помощью функции с расписанием таймера в node.js.

module.exports = function (context, myTimer, outputTable) {
    var timeStamp = new Date().toISOString();
    context.log('JavaScript timer trigger function ran!', timeStamp);   

   context.bindings.outputTable = [];
    for (var i = 1; i < 10; i++) {
        context.bindings.outputTable.push({
            PartitionKey: "Test",
            RowKey: i.toString(),
            Name: "Name " + i
        });
    }
};

function.js:

{
  "bindings": [
    {
      "name": "myTimer",
      "type": "timerTrigger",
      "direction": "in",
      "schedule": "0 5 * * * *"
    },
    {
      "type": "table",
      "name": "outputTable",
      "tableName": "contmaticfunc",
      "connection": "contmatic9acd_STORAGE",
      "direction": "out"
    }
  ]
}

Код работает без ошибок, но я не вижу данных в таблице. Я не уверен насчет функции аргумента outputTable. Я что-нибудь упускаю?

С наилучшими пожеланиями


person John    schedule 22.08.2019    source источник
comment
Не могли бы вы сказать мне, какую версию приложения-функции Azure вы используете?   -  person Jim Xu    schedule 23.08.2019


Ответы (1)


Согласно моему тесту, мы можем использовать следующие шаги для отправки данных в таблицу хранилища Azure.

  1. Добавление хранилища таблиц Azure в качестве выходного сигнала

введите здесь описание изображения 2. Код

module.exports = async function (context, myTimer,outputTable) {
    var timeStamp = new Date().toISOString();

    if (myTimer.IsPastDue)
    {
        context.log('JavaScript is running late!');
    }
    context.log('JavaScript timer trigger function ran!', timeStamp);   

    context.bindings.outputTable = [];
  for (var i = 1; i < 10; i++) {
        context.bindings.outputTable.push({
            PartitionKey: "MyTest"+ i,
            RowKey: i.toString(),
            Name: "Name " + i
        });
    }

    context.done();
};

введите здесь описание изображения

  1. Проверять

Я использую PowerShell, чтобы проверить это

Install-Module AzTable

$groupName=""
$accountName=""
$tableName=""
Connect-AzAccount

$table = Get-AzTableTable -resourceGroup $groupName -storageAccountName $accountName -TableName $tableName
Get-AzTableRow -Table $table 

введите здесь описание изображения

person Jim Xu    schedule 23.08.2019