Azure AI 搜索 - 容器名称对于 cosmosdb 类型无效

问题描述 投票:0回答:1

我正在尝试在azure ai搜索服务中创建一个指向cosmosdb容器的数据源,但我总是收到错误容器名称xxx对于cosmosdb类型无效。 cosmodb 容器名为“suppliers_clients_projections”。

我尝试使用 REST API 和 Azure 门户,但两种情况下都出现相同的错误。

REST Api 请求示例:

POST https://[service name].search.windows.net/datasources?api-version=2024-07-01
    Content-Type: application/json  
    api-key: [admin key]  
{
        "name": "<my-datasource-name>",
        "container": {
            "name": "suppliers_clients_projections",
            "query": "select c.id, c.name, c.isDeleted, c._ts FROM c WHERE c._ts >= 
 @HighWaterMark ORDER BY c._ts"
        },
        "type": "cosmosdb",
        "credentials": {
            "connectionString": "<my-cosmosdb-cs>"
        },
        "dataChangeDetectionPolicy": {
            "@odata.type": "#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy",
            "highWaterMarkColumnName": "_ts"
        },
        "dataDeletionDetectionPolicy": {
            "@odata.type": "#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy",
            "softDeleteColumnName": "isDeleted",
            "softDeleteMarkerValue": "true"
        }
    }

奇怪的是,使用相同的方法我成功地为名为“products”的容器创建了一个数据源。 第一个容器可能有什么问题?

azure-cosmosdb azure-ai-search
1个回答
0
投票

同意@amit_g,当名称包含空格和下划线时,我还重现了集合的问题,它引发了错误,但对于连字符( - )它有效,因此命名约定就像字母,数字,破折号( - )。

这可能是 Azure AI 搜索的限制,但要获得更多进一步支持,您可以在此处向 Microsoft 提出支持请求。

如果有限制,您需要更改 cosmos db 中容器的名称。但不幸的是,无法重命名容器,您需要使用其他名称重新创建容器并在其中添加项目,您可以使用其他 azure 服务,例如 Azure 数据工厂,您可以使用

Copy activity
从一个容器传输所有项目容器到另一个容器。

© www.soinside.com 2019 - 2024. All rights reserved.