Azure-Samples / Azure-Samples/rag-data-openai-python-promptflow

evaluate.py: Documentation is missing required permission "Storage Blob Data Contributor"

Open
#35 4 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
290
Forks
152
PR merge metrics
No merged PRs in 30d

Description

> Please provide us with the following information:
> ---------------------------------------------------------------

### This issue is for a: (mark with an `x`)
```
- [x] bug report -> please search issues before submitting
- [ ] feature request
- [x] documentation issue or request
- [ ] regression (a behavior that used to work and stopped in a new release)
```

### Minimal steps to reproduce
> run python.evaluate.py with a normal development user (not the user who owns the subscrption)
During upload, we get an exception because the Role "Storage Blob Data Contributor" is missing.

Fix: add the Role "Storage Blob Data Contributor" to the resource group.
We should add this information into the documentation

### Any log messages given by the failure
>.venv) PS C:\work\Azure-Samples\rag-data-openai-python-promptflow\tutorial> python evaluate.py
[2024-09-03 14:00:08 +0200][promptflow._sdk._orchestrator.run_submitter][INFO] - Upload run to cloud: True
Prompt flow service has started...
You can view the traces in local from http://127.0.0.1:23333/v1.0/ui/traces/?#run=main_copilot_wrapper_w7ddcjbq_20240903_140008_012850
You can view the traces in azure portal since trace destination is set to: azureml://subscriptions/..../resourceGroups/rg-cla3....ai/providers/Microsoft.MachineLearningServices/workspaces/contoso-outdoor-proj. The link will be printed once the run is finished.
[2024-09-03 14:00:51 +0200][promptflow._sdk._orchestrator.run_submitter][INFO] - Submitting run main_copilot_wrapper_w7ddcjbq_20240903_140008_012850, log path: C:\Users\....\.promptflow\.runs\main_copilot_wrapper_w7ddcjbq_20240903_140008_012850\logs.txt
[2024-09-03 14:02:17 +0200][promptflow._sdk._orchestrator.run_submitter][INFO] - Uploading run 'main_copilot_wrapper_w7ddcjbq_20240903_140008_012850' to cloud...
Traceback (most recent call last):
File "C:\Users\....\.venv\Lib\site-packages\promptflow\azure\operations\_async_run_uploader.py", line 439, in _upload_single_blob
await blob_client.upload_blob(f, overwrite=self.overwrite)
File "C:\Users\....\.venv\Lib\site-packages\azure\core\tracing\decorator_async.py", line 94, in wrapper_use_tracer
return await func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\....\.venv\Lib\site-packages\azure\storage\blob\aio\_blob_client_async.py", line 419, in upload_blob
return await upload_block_blob(**options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\....\.venv\Lib\site-packages\azure\storage\blob\aio\_upload_helpers.py", line 172, in upload_block_blob
process_storage_error(error)
File "C:\Users\....\.venv\Lib\site-packages\azure\storage\blob\_shared\response_handlers.py", line 184, in process_storage_error
exec("raise error from None") # pylint: disable=exec-used # nosec
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "", line 1, in
azure.core.exceptions.HttpResponseError: This request is not authorized to perform this operation using this permission.
RequestId:e174f5a1-501e-008a-5bf9-fd9754000000
Time:2024-09-03T12:02:22.2867000Z
ErrorCode:AuthorizationPermissionMismatch
Content: AuthorizationPermissionMismatchThis request is not authorized to perform this operation using this permission.
RequestId:e174f5a1-501e-008a-5bf9-fd9754000000
Time:2024-09-03T12:02:22.2867000Z

### Expected/desired behavior
>

### OS and Version?
> Windows 7, 8 or 10. Linux (which distribution). macOS (Yosemite? El Capitan? Sierra?)

### Versions
>

### Mention any other details that might be useful

> ---------------------------------------------------------------
> Thanks! We'll be in touch soon.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with evaluate.py and the documentation describing its Azure resource-group setup. Confirm the upload failure for a normal development user, then update the relevant setup instructions to require the "Storage Blob Data Contributor" role. Done means the permission requirement is documented clearly enough to prevent this authorization error.

Written by the indexing model from the issue text.

Assessment

Tech stack
azure, python
Domain
cloud, documentation
Issue type
Documentation
Difficulty
1/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.