I created a dataasset using the python azure API using the code below. The pattern is as following:
wasbs://<container-name>@<account name>.blob.core.windows.net/<folder>/*.csv
Where the account and the container are the same as used for the Azure Machine Learning Workspace.
tbl = mltable.from_delimited_files(
paths=[{"pattern": body}],
delimiter=",",
header=MLTableHeaders.all_files_same_headers,
infer_column_types=True,
include_path_column=False,
encoding=MLTableFileEncoding.utf8,
)
my_data = Data(
path=mltable_folder,
type=AssetTypes.MLTABLE,
name="Measurements",
)
my_data = ml_client.data.create_or_update(my_data)
The data asset is created succesfully and i can explore the data using the UI. Also the MLTable file looks OK with the correct pattern.
When I start a Automated ML task using the data asset and using a self created compute instance i get the following error:
Error Message: Authentication failed when trying to access the stream. Make sure you have correct permissions set up. Ok(This request is not authorized to perform this operation using this permission.)| session_id=0e120470-1498-4fc9-8201-19783974e5df
ErrorResponse
{
"error": {
"code": "UserError",
"message": "The provided path to the data in the Datastore was inaccessible. Please make sure you have the necessary access rights on the resource. Error: nError Code: ScriptExecution.StreamAccess.AuthenticationnNative Error: Dataflow visit error: ExecutionError(StreamError(PermissionDenied(Some(This request is not authorized to perform this operation using this permission.))))ntVisitError(ExecutionError(StreamError(PermissionDenied(Some(This request is not authorized to perform this operation using this permission.)))))n=> Failed with execution error: error in streaming from input data sourcesntExecutionError(StreamError(PermissionDenied(Some(This request is not authorized to perform this operation using this permission.))))nError Message: Authentication failed when trying to access the stream. Make sure you have correct permissions set up. Ok(This request is not authorized to perform this operation using this permission.)| session_id=0e120470-1498-4fc9-8201-19783974e5df",
"inner_error": {
"code": "Auth",
"inner_error": {
"code": "Authentication",
"inner_error": {
"code": "DataPathInaccessible"
}
}
}
}
}
Note: When I create a data asset using the UI with the same data and datastore, I do not get any errors and everything works fine.
I’ve tried all kinds of access settings but I can’t seem to get this one working. Anyone else know how to fix this problem?
At the time i created the compute, i didn’t create a managed identity. This should be selected on creation of the compute.