Как запросить Azure таблицу из Azure функции с помощью PowerShell - PullRequest
1 голос
/ 26 марта 2020

У меня есть Azure Таблица с именем csvtable, которая содержит около миллиона строк. Я хочу запросить это с помощью функции Azure и вернуть одну строку.

Я пытался использовать интеграцию ввода с таблицей, но AFAIK, это только дает мне подмножество данных внутри $inputTable переменная для фильтрации.

Я также пытался включить identity и использовать Get-AzStorageTable командлеты, но это приводит к HTTP 500, я предполагаю, что это связано с тем, что управляемые удостоверения не поддержка таблицы хранения (еще?) ссылка

Код работает локально:

$storageAccountName = 'storageAccountName '
$storageAccountkey = 'storageAccountkey'
$tableName = "MyTable"
$storageContext = (New-AzStorageContext -StorageAccountName $storageAccountName -StorageAccountKey $storageAccountkey).Context

$table = (Get-AzStorageTable -Table $tableName -Context $storageContext).CloudTable

Get-AzTableRow -Table $table -CustomFilter "(PartitionKey eq '0401' and EnterpriseNumber eq '0401.021.061')"

1 Ответ

0 голосов
/ 26 марта 2020

Я закончил тем, что использовал маршрут REST API, как предложено одним из лучших комментариев .

Используя управляемую идентификацию, я даже не смог получить таблицу Azure.

Используя комбинацию клавиш StorageAccount и SAS, я мог получить таблицу, но при попытке извлечь данные с помощью Get-AzTableRow кажется, что командлет не был установлен в функции.

ОБНОВЛЕНИЕ

Мне удалось заставить его работать, добавив AzTable Модуль

Для этого на портале:

  • Нажмите root вашего функционального приложения

  • В настройках Функционального приложения , go до Средства разработки

  • Открыть Расширенные инструменты (Kudu)

  • Выбрать Консоль отладки , PowerShell (верхняя строка)

  • cd to home \ site \ wwwroot

  • добавляет пару ключей AzTable = '2.*' к .\requirements.psd1 ( используя Set-Content)

...