установить имя BLOB-объекта для функции Azure с помощью PowerShell

Я пытаюсь установить (изменить) имя файла большого двоичного объекта в функции Azure с помощью PowerShell.

Отлично работает function.json

{
  "bindings": [
    {
      "name": "InputBlob",
      "type": "blobTrigger",
      "direction": "in",
      "path": "container-src/{name}.{ext}",
      "connection": "stacqadbdev_STORAGE"
    },
    {
      "name": "OutputBlob",
      "type": "blob",
      "direction": "out",
      "path": "container-dest/{name}",
      "connection": "stacqadbdev_STORAGE"
    }
  ]
}

который просто «копирует» имя большого двоичного объекта в другой контейнер.

Как только я хочу изменить blobname назначения на что-то, что рассчитывается в моей функции, я терплю неудачу.

Я пытался установить

{
  "bindings": [
    {
      "name": "InputBlob",
      "type": "blobTrigger",
      "direction": "in",
      "path": "container-src/{name}",
      "connection": "stacqadbdev_STORAGE"
    },
    {
      "name": "OutputBlob",
      "type": "blob",
      "direction": "out",
      "path": "container-dest/{newname}",
      "connection": "stacqadbdev_STORAGE"
    }
  ]
}

и сборка $ newname в моем run.ps1

При выполнении Push-OutputBinding -Name $OutputBlob -Value $Blob возникает проблема, заключающаяся в том, что он хочет иметь массив Byte [], который не имеет свойств для его имени или около того.

Итак, конфигурация привязок просто принимает параметры, заданные вводом. Передача чего-то другого, кроме Byte [] - Array, невозможна ... Вот почему я всегда получаю

Executed 'Functions.CreateVaultEntry' (Failed, Id=775e61ce-b001-4278-a8d8-1c90ea63c062, Duration=91ms)
System.Private.CoreLib: Exception while executing function: Functions.CreateVaultEntry. 
Microsoft.Azure.WebJobs.Host: No value for named parameter 'newfilename'.

Я просто хочу взять inputBlob, изменить его имя и написать его как outputBlob с другим именем.


person Matthias Fleschütz    schedule 26.09.2020    source источник
comment
Не могли бы вы указать, где вы используете newfilename   -  person Markus Meyer    schedule 27.09.2020
comment
Я пытался установить newname как var в моем коде функции, но мне кажется, что я не могу вычислить полное новое имя файла в моей функции. Я вообще пытался добавить метку времени к имени для целей архивирования.   -  person Matthias Fleschütz    schedule 30.12.2020


Ответы (1)


Что такое newname?

Когда ваша функция запускается и в триггере вы привязываетесь к {name}, тогда ваши другие привязки будут знать {name}, но {newname} не имеет смысла.

Возможно, вы хотите container-dest/{name}_output

Дополнительная информация.

person Alex Gordon    schedule 27.09.2020
comment
Я пытался установить newname как var в моем коде функции, но мне кажется, что я не могу вычислить полное новое имя файла в моей функции. Я вообще пытался добавить метку времени к имени для целей архивирования - person Matthias Fleschütz; 30.12.2020