Ссылка Synapse загружает потоковый фрейм данных из контейнера Azure Cosmos DB

#azure #azure-cosmosdb #azure-synapse

#azure #azure-cosmosdb #azure-synapse

Вопрос:

Я пытаюсь использовать изменения канала в synapse, я использую ссылку synapse для подключения к cosmos,

 dfStream = spark.readStream
    .format("cosmos.oltp")
    .option("spark.synapse.linkedService", "<enter linked service name>")
    .option("spark.cosmos.container", "<enter container name>")
    .option("spark.cosmos.changeFeed.readEnabled", "true")
    .option("spark.cosmos.changeFeed.startFromTheBeginning", "true")
    .option("spark.cosmos.changeFeed.checkpointLocation", "/localReadCheckpointFolder")
    .option("spark.cosmos.changeFeed.queryName", "streamQuery")
    .load()
  

Но я получаю сообщение об ошибке ниже:

Ошибка: org.apache.hadoop.fs.azurebfs.contracts.exceptions.AbfsRestOperationException: ошибка операции: «Этот запрос не авторизован для выполнения этой операции с использованием этого разрешения»., 403, УДАЛИТЬ, https://adlsgarage7.dfs.core.windows.net/adlsgarage7/localReadCheckpointFolder/streamQuery ?

Ответ №1:

Вам необходимо разрешение на доступ в качестве участника к контейнеру учетной записи Data Lake, который был подключен к рабочей области во время создания. Вам нужен доступ ARM-участника хранилища больших двоичных объектов к учетной записи adlsgarage7 или, по крайней мере, к контейнеру adlsgarage7.

Вы также должны обязательно указать имя связанной службы, к которой вы подключаетесь, и контейнера.