У меня есть пул без сервера Azure Analytics (где я являюсь администратором). У меня также есть доступ к ADLS Gen-2 через ACL (список управления доступом) для определенного списка папок [На изображении ниже - все зеленые поля представляют доступ, который я имеют ]
Я работаю под оператором SQL в Synapse Studio (бессерверный пул)
ВЫБЕРИТЕ ТОП 100 * ИЗ OPENROWSET (BULK 'https://SAFINCAL.dfs.core.windows.net/Container-2/Post-Sale/shipments/2021/*.parquet', FORMAT = 'PARQUET') КАК [результат]
Я получаю сообщение об ошибке ниже
Начато выполнение запроса в строке 1
Невозможно открыть файл https://SAFINCAL.dfs.core.windows.net/Container-2/Post-Sale/shipments/2021/*.parquet, поскольку он не существует или используется другим процессом. Посетите эту статью, чтобы узнать больше об этой ошибке. Общее время выполнения: 00: 00: 12.269.
В статье указывается на https://docs.microsoft.com/en-us/azure/synapse-analytics/sql/resources-self-help-sql-on-demand#query-fails-because-file-cannot-be-open
Решение, предложенное в статье, - получить участника Storage Blob Data Contributor. Возникающий у меня вопрос - если я получу участника Storage Blob Data Contributor, то в конечном итоге я могу получить доступ ко всему контейнеру, что противоречит цели доступа ACL, предоставляемого на уровне папки (выделенные зеленым цветом поля)
Это правильное понимание? Если да, то как мне убедиться, что я все еще могу запрашивать данные в папке доставки из пула без сервера Azure Synapse Analytics, не добавляя себя в качестве участника / читателя для всей учетной записи контейнера / хранилища
Спасибо
Container-1
вopenrowset
опечаткой? Остальная часть каталога предполагает, что вы должны указатьContainer-2
. - person iamdave   schedule 18.02.2021