Connect private Azure Table Storage Account with AI search

Niels Bijl 0 Reputation points
2025-01-03T14:02:37.66+00:00

I have a Azure AI search instance and an Azure Table Storage Account. Both are in the Germany West Central region. Both services have a private endpoint and are connected to the same vnet and also to the same subnet.

I added the Azure Table Storage Account as a data source using the API and also created a simple test index. Now I'm trying to create an indexer but it just wont work. The error message:

Error with data source: Credentials provided in the connection string are invalid or have expired.\r\nFor more information on troubleshooting connection issues to Azure Storage accounts, please see https://go.microsoft.com/fwlink/?linkid=2049388 Please adjust your data source definition in order to proceed.

I tried re-entering the connection string and also tried to use the managed identity instead. But keep getting this error. Only when I make the storage account public everything seems to work fine, but this is not what we want.

I also added private dns zones

privatelink.table.core.windows.net
privatelink.search.windows.net

I can see in both dns zones that the A record is automatically added. Both zones are connected to the VNET.

In the storage account I also tried to set public network access to Enabled from selected vnets and ip adresses and add the vnet subnets (all of em) and the resource instance. Also checked the Allow Azure services on the trusted services list to access this storage account. All had no effect.

Can anyone please help me why this isnt working?

Azure Table Storage
Azure Table Storage
An Azure service that stores structured NoSQL data in the cloud.
176 questions
Azure AI Search
Azure AI Search
An Azure search service with built-in artificial intelligence capabilities that enrich information to help identify and explore relevant content at scale.
1,167 questions
{count} votes

1 answer

Sort by: Most helpful
  1. SnehaAgrawal-MSFT 22,171 Reputation points
    2025-01-16T07:12:29.3233333+00:00

    @Niels Bijl Thanks for reaching here! If I am understanding right you are facing below error-

    Error with data source: Credentials provided in the connection string are invalid or have expired

    So as mentioned in the document- If you are receiving the document key is invalid you may want to know that Keys can only contain letters, digits, underscore (_), dash (-), or equal sign (=). and also Document key cannot be longer than 1024 characters.

    Suggest you to Ensure all documents have valid document keys.

    Review Indexing Blob Storage for more details. If you're using the blob indexer, and your document key is the metadata_storage_path field, make sure that the indexer definition has a base64Encode mapping function with parameters equal to null, instead of the path in plain text.

    Modify the document key to meet the validation requirements.

    More Details- https://learn.microsoft.com/en-us/azure/search/cognitive-search-common-errors-warnings#error-could-not-parse-document

    Please let us know.

    0 comments No comments

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.