英文:
Authorization Error with LightIngest in Azure Data Explorer
问题
I am trying to ingest historical data from a Storage Data Lake Gen2 to a Dabatase in Azure Data Explorer. The provided solution is to use a tool LightIngest to ingest large amounts of data.
It gives you the command to execute it using the tool LightIngest.exe
LightIngest.exe "https://ingest-mycluster.centralus.kusto.windows.net/;Fed=True"
-database:"DataBaseName" -table:"TableName" -source:"https://mydatalake.blob.core.windows.net/mycontainer?sv=mysas"
-format:"parquet" -prefix:"2022" -pattern:"*" -ingestionMappingRef:"MyMapping" -tag:"XXXX"
I downloaded the tool from the URL provided in Download LightIngest.
I execute the command but It fails with the following error message:
IngestSingle failed: Forbidden (403-Forbidden): {
"error": {
"code": "Forbidden",
"message": "Caller is not authorized to perform this action",
"@type": "Kusto.Common.Svc.Exceptions.UnauthorizedOperationException",
"@message": "Principal 'aaduser=XXXX;XXXX' is not authorized to perform operation 'Ingest' on 'any database'."
It says that the following Principal (which is not my user Object Id from AAD and I don't even recognize that Principal) is not authorized to perform any action in the database.
I also added my user to the database with the following command:
.add database DataBaseName users ('aaduser=myemail@email.com') 'User (AAD)'
But still getting the error.
Am I missing something? Any ideas on how to solve this?
Thanks!
英文:
I am trying to ingest historical data from a Storage Data Lake Gen2 to a Dabatase in Azure Data Explorer. The provided solution is to use a tool LightIngest to ingest large amounts of data.
It gives you the command to execute it using the tool LightIngest.exe
LightIngest.exe "https://ingest-mycluster.centralus.kusto.windows.net/;Fed=True"
-database:"DataBaseName" -table:"TableName" -source:"https://mydatalake.blob.core.windows.net/mycontainer?sv=mysas"
-format:"parquet" -prefix:"2022" -pattern:"*" -ingestionMappingRef:"MyMapping" -tag:"XXXX"
I downloaded the tool from the URL provided in Download LightIngest.
I execute the command but It fails with the following error message:
IngestSingle failed: Forbidden (403-Forbidden): {
"error": {
"code": "Forbidden",
"message": "Caller is not authorized to perform this action",
"@type": "Kusto.Common.Svc.Exceptions.UnauthorizedOperationException",
"@message": "Principal 'aaduser=XXXX;XXXX' is not authorized to perform operation 'Ingest' on 'any database'."
It says that the following Principal (which is not my user Object Id from AAD and I don't even recognize that Principal) is not authorized to perform any action in the database.
I also added my user to the database with the following command:
.add database DataBaseName users ('aaduser=myemail@email.com') 'User (AAD)'
But still getting the error.
Am I missing something? Any ideas on how to solve this?
Thanks!
答案1
得分: 1
数据库用户权限不足以将数据导入数据库中的任何表格。您需要具有表格导入者权限或数据库导入者权限。
参见:文档
要在连接字符串中指定租户 ID,请查看示例中的 "authority ID" 这里。
英文:
database-user permissions are insufficient for ingesting data into any table in the database. you'll need either table-ingestor permissions, or database-ingestor permissions.
see: documentation
To specify the tenant ID in the connection string, look for "authority ID" in the examples here
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论