Azure AI Search
Configure via UI
Section titled “Configure via UI”We can load data by using two different types of authentication methods:
1. API Key Authentication Mechanism
Section titled “1. API Key Authentication Mechanism”2. Service Principal Authentication Mechanism
Section titled “2. Service Principal Authentication Mechanism”Configure via API / Client
Section titled “Configure via API / Client”ds = {
‘name’: '
</TabItem><TabItem value="typescript" label="TypeScript Client" default>```Typescriptconst ds = { 'name': 'azureaisearch', 'sinkType': 'AZUREAI_SEARCH', 'component': { 'index_name': '<index_name>', 'search_service_api_key': '<api_key>', 'search_service_endpoint': '<endpoint>', 'embedding_dimension': '<embedding_dimension>', // optional (default: 1536) 'filterable_metadata_field_keys': '<insert_filterable_metadata_field_keys>', // optional }}
data_sink = await client.dataSinks.createDataSink({projectId: projectId,body: ds})
2. Service Principal Authentication Mechanism
Section titled “2. Service Principal Authentication Mechanism”ds = {
‘name’: '
</TabItem><TabItem value="typescript" label="TypeScript Client" default>```Typescriptconst ds = { 'name': '<your-name>', 'sinkType': 'AZUREAI_SEARCH', 'component': { 'index_name'='<index_name>', 'client_id'='<client_id>', 'tenant_id'='<tenant_id>', 'client_secret'='<client_secret>', 'endpoint'='<endpoint>', 'embedding_dimensionality'='<embedding_dimensionality>', // optional 'filterable_metadata_field_keys'='<filterable_metadata_field_keys>' // optional }}
data_sink = await client.dataSinks.createDataSink({projectId: projectId,body: ds})
Filterable Metadata Field Keys
Section titled “Filterable Metadata Field Keys”The filterable_metadata_field_keys
parameter specifies the fields that are used for filtering in the search service.
The type of the field specifices whether the field is a string or a number. The format is as follows:
The value being passed is just for identification purposes. The actual values of the fields will be passed during the insert operation or retrieval.
{ "field1": "string", "field2": 0 "field3": false "field4": []}
So for example, if you have a field called age
that is a number, you would specify it as follows:
{ "age": 0}
If you have a field called name
that is a string, you would specify it as follows:
{ "name": "string"}
If you have a field called is_active
that is a boolean, you would specify it as follows:
{ "is_active": false}
If you have a field called tags
that is a list, you would specify it as follows:
{ "tags": []}
Enabling Role-Based Access Control (RBAC) for Azure AI Search
Section titled “Enabling Role-Based Access Control (RBAC) for Azure AI Search”This guide will walk you through the necessary steps to enable Role-Based Access Control (RBAC) for your Azure AI Search service. This involves configuring your Azure resources and assigning the appropriate roles.
Prerequisites:
Section titled “Prerequisites:”Azure Subscription:
Ensure you have an active Azure subscription.Azure AI Search Service:
An existing Azure Cognitive Search service instance.Azure Portal Access:
You need sufficient permissions to configure RBAC settings in the Azure Portal.
Step-by-Step Guide:
Section titled “Step-by-Step Guide:”Step 1: Sign in to Azure Portal
Section titled “Step 1: Sign in to Azure Portal”Step 2: Navigate to Your Azure AI Search Service
Section titled “Step 2: Navigate to Your Azure AI Search Service”- In the Azure Portal, use the search bar to find and select “Azure AI Search”.
- Select your search service from the list.
Step 3: Access the Access Control (IAM) Settings
Section titled “Step 3: Access the Access Control (IAM) Settings”- In your search service’s navigation menu, select Access control (IAM).
- You will see a list of roles assigned to the service.
Step 4: Assign Roles to Users or Applications
Section titled “Step 4: Assign Roles to Users or Applications”- Click on + Add and select Add role assignment.
- In the Role dropdown, select a suitable role. For example:
Search Service Contributor:
Can manage the search service but not access its content.Search Service Data Contributor:
Can manage the search service and access its content.Search Service Data Reader:
Can access the content of the search service but cannot manage it.
- In the Assign access to dropdown, choose whether you are assigning the role to a user, group, or service principal.
- In the Select field, find and select the user, group, or service principal you want to assign the role to.
- Click Save to apply the role assignment.
Step 5: Enable Role Based Access Control
Section titled “Step 5: Enable Role Based Access Control”- Select Settings and then select Keys in the left navigation pane.
- Choose Role-based control or Both if you’re currently using keys and need time to transition clients to role-based access control.