Description
Error when deploying as an endpoint to AI Studio.
Cause: Setting roles for AOAI and AI Search throws the error: Resources not found. The code gives roles based on the connection name, not the resource name.
Resolution steps:
- Add to the provision.yaml:
AZURE_OPENAI_RESOURCE_NAME: "${aoai.aoai_resource_name}" # necessary for the endpoint deployment
AZURE_SEARCH_RESOURCE_NAME: "${search.search_resource_name}" # necessary for the endpoint deployment
This will update the env variables with the name of AOAI and AI Search Resources
- Modify deploy.py to give roles based on the resource names (not the connection names as originally):
-
for AOAI:
scope=f'''/subscriptions/{os.environ["AZURE_SUBSCRIPTION_ID"]}/resourceGroups/{os.environ["AZURE_RESOURCE_GROUP"]}/providers/Microsoft.CognitiveServices/accounts/{os.environ["AZURE_OPENAI_RESOURCE_NAME"]}''',
role_name="Cognitive Services OpenAI User",
principal_id=endpoint.identity.principal_id
) -
for AI Search: scope=f'''/subscriptions/{os.environ["AZURE_SUBSCRIPTION_ID"]}/resourceGroups/{os.environ["AZURE_RESOURCE_GROUP"]}/providers/Microsoft.Search/searchServices/{os.environ["AZURE_SEARCH_RESOURCE_NAME"]}''',
role_name="Search Index Data Contributor",
principal_id=endpoint.identity.principal_id
)