如何使用令牌而不是API密钥进行Azure SearchClient认证?
我正在尝试使用searchClient这个库:
service_endpoint = os.environ["AZURE_SEARCH_SERVICE_ENDPOINT"]
index_name = os.environ["AZURE_SEARCH_INDEX_NAME"]
key = os.environ["AZURE_SEARCH_API_KEY"]
search_client = SearchClient(service_endpoint, index_name, AzureKeyCredential(key))
有没有办法通过传递一个令牌来创建searchClient,而不是使用API密钥?或者有没有其他方法可以在不使用这个API密钥的情况下进行认证?
1 个回答
1
正如 @Gaurav Mantri 提到的,你需要使用 DefaultAzureCredential
来通过令牌进行授权。
这里是修正后的代码:
from azure.search.documents import SearchClient
from azure.identity import DefaultAzureCredential
credential = DefaultAzureCredential()
endpoint = "https://<resource_name>.search.windows.net"
index_name = "hotels-2"
client = SearchClient(endpoint=endpoint, index_name=index_name, credential=credential)
DefaultAzureCredential
通过多种方式进行身份验证。想了解更多,可以点击 这里。
输出结果:
确保你提供了访问 AI 搜索服务所需的所有角色。