Azure AI-Search szolgáltatás kezelése REST API-kkal

Ebből a cikkből megtudhatja, hogyan hozhat létre és konfigurálhat Azure AI-Search szolgáltatás a Felügyeleti REST API-k használatával. Csak a felügyeleti REST API-k biztosítják a korai hozzáférést az előzetes verziójú funkciókhoz.

A Felügyeleti REST API stabil és előzetes verzióban érhető el. Az előzetes verziójú funkciók elérésekor mindenképpen állítsa be az előzetes verziójú API-verziót.

Az összes Felügyeleti REST API-nak vannak példái. Ha a cikk nem foglalkozik egy feladatsal, tekintse meg inkább az API-hivatkozást .

Előfeltételek

Hozzáférési jogkivonat lekérése

A felügyeleti REST API-hívások hitelesítése a Microsoft Entra-azonosítón keresztül történik. Meg kell adnia egy hozzáférési jogkivonatot a kéréshez, valamint egy erőforrás létrehozásához és konfigurálásához szükséges engedélyeket.

Hozzáférési jogkivonatot az Azure CLI vagy az Azure PowerShell használatával hozhat létre.

  1. Nyisson meg egy parancshéjat az Azure CLI-hez.

  2. Jelentkezzen be az Azure-előfizetésbe.

    az login
    
  3. Kérje le a bérlőazonosítót és az előfizetés azonosítóját. Ha több bérlője vagy előfizetése van, győződjön meg arról, hogy a megfelelőt használja.

    az account show
    
  4. Hozzáférési jogkivonat lekérése.

    az account get-access-token --query accessToken --output tsv
    

A Visual Studio Code telepítése

Ha nem ismeri a Visual Studio Code REST-ügyfelét, ez a szakasz a telepítést is tartalmazza, hogy elvégezhesse a feladatokat ebben a rövid útmutatóban.

  1. Indítsa el a Visual Studio Code-ot, és válassza a Bővítmények csempét .

  2. Keresse meg a REST-ügyfelet, és válassza a Telepítés lehetőséget.

    Screenshot of the install command.

  3. Nyisson meg vagy hozzon létre egy vagy .http egy .rest fájlkiterjesztéssel ellátott új fájlt.

  4. Adja meg az előző lépésben lekért értékek változóit.

    @tenantId = PASTE-YOUR-TENANT-ID-HERE
    @subscriptionId = PASTE-YOUR-SUBSCRIPTION-ID-HERE
    @token = PASTE-YOUR-TOKEN-HERE
    
  5. Ellenőrizze, hogy a munkamenet működőképes-e, ha felsorolja a keresési szolgáltatásokat az előfizetésében.

     ### List search services
     GET https://management.azure.com/subscriptions/{{subscriptionId}}/providers/Microsoft.Search/searchServices?api-version=2023-11-01
          Content-type: application/json
          Authorization: Bearer {{token}}
    
  6. Válassza a Kérés elküldése elemet. A válasznak egy szomszédos panelen kell megjelennie. Ha már rendelkezik keresési szolgáltatásokkal, azok megjelennek a listában. Ellenkező esetben a lista üres, de amíg a HTTP-kód 200 OK, készen áll a következő lépésekre.

    HTTP/1.1 200 OK
    Cache-Control: no-cache
    Pragma: no-cache
    Content-Length: 22068
    Content-Type: application/json; charset=utf-8
    Expires: -1
    x-ms-ratelimit-remaining-subscription-reads: 11999
    x-ms-request-id: f47d3562-a409-49d2-b9cd-6a108e07304c
    x-ms-correlation-request-id: f47d3562-a409-49d2-b9cd-6a108e07304c
    x-ms-routing-request-id: WESTUS2:20240314T012052Z:f47d3562-a409-49d2-b9cd-6a108e07304c
    Strict-Transport-Security: max-age=31536000; includeSubDomains
    X-Content-Type-Options: nosniff
    X-Cache: CONFIG_NOCACHE
    X-MSEdge-Ref: Ref A: 12401F1160FE4A3A8BB54D99D1FDEE4E Ref B: CO6AA3150217011 Ref C: 2024-03-14T01:20:52Z
    Date: Thu, 14 Mar 2024 01:20:52 GMT
    Connection: close
    
    {
      "value": [ . . . ]
    }
    

Szolgáltatás létrehozása vagy frissítése

Létrehoz vagy frissít egy keresési szolgáltatást az aktuális előfizetés alatt. Ez a példa változókat használ a keresési szolgáltatás nevéhez és régiójához, amelyeket még nem definiáltak. Adja meg közvetlenül a neveket, vagy adjon hozzá új változókat a gyűjteményhez.

### Create a search service (provide an existing resource group)
@resource-group = my-rg
@search-service-name = my-search
PUT https://management.azure.com/subscriptions/{{subscriptionId}}/resourceGroups/{{resource-group}}/providers/Microsoft.Search/searchServices/{{search-service-name}}?api-version=2023-11-01 HTTP/1.1
     Content-type: application/json
     Authorization: Bearer {{token}}

    {
        "location": "North Central US",
        "sku": {
            "name": "basic"
        },
        "properties": {
            "replicaCount": 1,
            "partitionCount": 1,
            "hostingMode": "default"
        }
      }

S3HD-szolgáltatás létrehozása

S3HD-szolgáltatás létrehozásához használja a tulajdonságok és hostingMode a sku tulajdonságok kombinációját. Állítsa be sku a standard3 "hostingMode" értéket és a "hostingMode" értéket HighDensity.

@resource-group = my-rg
@search-service-name = my-search
PUT https://management.azure.com/subscriptions/{{subscriptionId}}/resourceGroups/{{resource-group}}/providers/Microsoft.Search/searchServices/{{search-service-name}}?api-version=2023-11-01 HTTP/1.1
     Content-type: application/json
     Authorization: Bearer {{token}}

    {
        "location": "{{region}}",
        "sku": {
          "name": "standard3"
        },
        "properties": {
          "replicaCount": 1,
          "partitionCount": 1,
          "hostingMode": "HighDensity"
        }
    }

Szerepköralapú hozzáférés konfigurálása adatsíkhoz

A következőkre vonatkozik: Keresési index adatszolgáltatója, Keresési index adatolvasója, Keresési szolgáltatás közreműködője

Ebben a lépésben konfigurálja a keresési szolgáltatást úgy, hogy felismerjen egy engedélyezési fejlécet az OAuth2 hozzáférési jogkivonatot biztosító adatkéréseken.

Ha szerepköralapú hozzáférés-vezérlést szeretne használni az adatsík-műveletekhez, állítsa be authOptionsaadOrApiKey és küldje el a kérést.

Ha kizárólag szerepköralapú hozzáférés-vezérlést szeretne használni, kapcsolja ki az API-kulcs hitelesítését egy második kérés követésével, ezúttal igaz értékre disableLocalAuth .

PATCH https://management.azure.com/subscriptions/{{subscriptionId}}/resourcegroups/{{resource-group}}/providers/Microsoft.Search/searchServices/{{search-service-name}}?api-version=2023-11-01 HTTP/1.1
     Content-type: application/json
     Authorization: Bearer {{token}}

    {
        "properties": {
            "disableLocalAuth": false,
            "authOptions": {
                "aadOrApiKey": {
                    "aadAuthFailureMode": "http401WithBearerChallenge"
                }
            }
        }
    }

Ügyfél által felügyelt kulcsszabályzat kényszerítése

Ha ügyfél által felügyelt titkosítást használ, engedélyezheti a "encryptionWithCMK" szolgáltatást a "kényszerítés" beállítással "Engedélyezve" értékre, ha azt szeretné, hogy a keresési szolgáltatás jelentse a megfelelőségi állapotát.

A szabályzat engedélyezésekor a bizalmas adatokat tartalmazó objektumokat létrehozó REST-hívások, például az adatforráson belüli kapcsolati sztring, sikertelenek lesznek, ha nincs megadva titkosítási kulcs:"Error creating Data Source: "CannotCreateNonEncryptedResource: The creation of non-encrypted DataSources is not allowed when encryption policy is enforced."

PATCH https://management.azure.com/subscriptions/{{subscriptionId}}/resourcegroups/{{resource-group}}/providers/Microsoft.Search/searchServices/{{search-service-name}}?api-version=2023-11-01 HTTP/1.1
     Content-type: application/json
     Authorization: Bearer {{token}}
     
     {
        "properties": {
            "encryptionWithCmk": {
            "enforcement": "Disabled",
            "encryptionComplianceStatus": "Compliant"
            },
        }
    }

Szemantikai rangsorolás letiltása

Bár a szemantikai rangsorolás alapértelmezés szerint nincs engedélyezve , a szolgáltatás szintjén zárolhatja a funkciót.

### disable semantic ranking
PATCH https://management.azure.com/subscriptions/{{subscriptionId}}/resourcegroups/{{resource-group}}/providers/Microsoft.Search/searchServices/{{search-service-name}}?api-version=2023-11-01 HTTP/1.1
     Content-type: application/json
     Authorization: Bearer {{token}}
     
     {
        "properties": {
            "semanticSearch": "Disabled"
        }
    }

Olyan számítási feladatok letiltása, amelyek adatokat küldnek külső erőforrásokba

Az Azure AI Search külső adatforrásokra ír a tudástár frissítésekor, a hibakeresési munkamenet állapotának mentésekor vagy a gyorsítótárazás bővítésekor. Az alábbi példa szolgáltatásszinten tiltja le ezeket a számítási feladatokat.

### disable-external-access
PATCH https://management.azure.com/subscriptions/{{subscriptionId}}/resourcegroups/{{resource-group}}/providers/Microsoft.Search/searchServices/{{search-service-name}}?api-version=2023-11-01 HTTP/1.1
     Content-type: application/json
     Authorization: Bearer {{token}}
     
     {
        "properties": {
            "publicNetworkAccess": "Disabled"
        }
    }

Keresési szolgáltatás törlése

### delete a search service
DELETE https://management.azure.com/subscriptions/{{subscriptionId}}/resourcegroups/{{resource-group}}/providers/Microsoft.Search/searchServices/{{search-service-name}}?api-version=2023-11-01 HTTP/1.1
     Content-type: application/json
     Authorization: Bearer {{token}}

Rendszergazdai API-kulcsok listázása

### List admin keys
POST https://management.azure.com/subscriptions/{{subscriptionId}}/resourcegroups/{{resource-group}}/providers/Microsoft.Search/searchServices/{{search-service-name}}/listAdminKeys?api-version=2023-11-01 HTTP/1.1
     Content-type: application/json
     Authorization: Bearer {{token}}

Rendszergazdai API-kulcsok ismételt létrehozása

Egyszerre csak egy rendszergazdai API-kulcsot lehet újragenerálni.

### Regnerate admin keys
POST https://management.azure.com/subscriptions/{{subscriptionId}}/resourcegroups/{{resource-group}}/providers/Microsoft.Search/searchServices/{{search-service-name}}/regenerateAdminKey/primary?api-version=2023-11-01 HTTP/1.1
     Content-type: application/json
     Authorization: Bearer 

Lekérdezési API-kulcsok létrehozása

### Create a query key
@query-key-name = myQueryKey
POST https://management.azure.com/subscriptions/{{subscriptionId}}/resourcegroups/{{resource-group}}/providers/Microsoft.Search/searchServices/{{search-service-name}}/createQueryKey/{name}?api-version=2023-11-01 HTTP/1.1
     Content-type: application/json
     Authorization: Bearer {{token}}

Privát végpontkapcsolatok listázása

### List private endpoint connections
GET https://management.azure.com/subscriptions/{{subscriptionId}}/resourcegroups/{{resource-group}}/providers/Microsoft.Search/searchServices/{{search-service-name}}/privateEndpointConnections?api-version=2023-11-01 HTTP/1.1
     Content-type: application/json
     Authorization: Bearer {{token}}

Keresési műveletek listázása

### List search operations
GET https://management.azure.com/subscriptions/{{subscriptionId}}/resourcegroups?api-version=2021-04-01 HTTP/1.1
  Content-type: application/json
  Authorization: Bearer {{token}}

Következő lépések

A keresési szolgáltatás konfigurálása után a következő lépések közé tartozik egy index létrehozása vagy egy index lekérdezése a portál, a REST API-k vagy az Azure SDK használatával.