Az Azure AI Keresés szolgáltatás kezelése a PowerShell használatával

Megjegyzés:

Azure AI Keresés a Azure portálon, REST API-kon és Azure SDK-k keresztül érhető el. Emellett a Foundry IQ-t is támogatja, amely a vállalati tartalmakat újrafelhasználható, engedélytudatos tudásbázisokká alakítja át az Microsoft Foundry portálon található ügynökök számára.

Az Azure AI Keresés létrehozásához és konfigurálásához PowerShell-parancsmagokat és szkripteket futtathat Windowson, Linuxon vagy az Azure Cloud Shellben.

Az Az.Search modullal hajtsa végre a következő feladatokat:

Az alábbi információk az előző listában nem szereplő feladatokkal kapcsolatos gyakori kérdésekre adnak választ.

A szolgáltatás nevét vagy régióját programozott módon vagy az Azure Portalon nem módosíthatja. A dedikált erőforrások a szolgáltatás létrehozásakor lesznek lefoglalva, ezért a mögöttes hardver (hely vagy csomóponttípus) módosítása új szolgáltatást igényel.

Megjegyzés:

A Search Management REST API-k és az Azure Portal támogatja a tarifacsomag módosítását. Jelenleg csak az alapszintű és a standard (S1, S2 és S3) szint között válthat.

Az eszközök és API-k nem használhatók tartalom( például index) átvitelére egyik szolgáltatásból a másikba. A szolgáltatáson belül a tartalom programozott létrehozása a Search Service REST API-val vagy egy SDK-val történik, például az Azure SDK for .NET-en keresztül. Bár nincsenek dedikált parancsok a tartalommigráláshoz, írhat olyan szkriptet, amely meghívja a REST API-t vagy egy ügyféltárat indexek új szolgáltatáson való létrehozásához és betöltéséhez.

Az előzetes verziójú felügyeleti funkciók általában nem érhetők el az Az.Search modulban. Ha előzetes verziójú funkciót szeretne használni, használja a Felügyeleti REST API-t és az előzetes verziójú API-t.

Az Az.Search modul teljes mértékben kiterjeszti az Azure PowerShellt a Search Management REST API-k stabil verzióira.

Verziók ellenőrzése és modulok betöltése

A cikkben szereplő példák interaktívak, és emelt szintű engedélyeket igényelnek. A helyi PowerShellre és az Azure PowerShellre (az Az modulra) van szükség.

A PowerShell verzióellenőrzése

Ha nem rendelkezik vele, telepítse a PowerShell legújabb verzióját.

$PSVersionTable.PSVersion

Az Azure PowerShell betöltése

Ha nem biztos benne, hogy az Az telepítve van-e, futtassa a következő parancsot ellenőrzési lépésként.

Get-InstalledModule -Name Az

Egyes rendszerek nem töltik be automatikusan a modulokat. Ha hiba történt az előző parancson, próbálja meg betölteni a modult, és ha ez nem sikerül, térjen vissza a telepítési Azure PowerShell telepítési útmutatójához , és ellenőrizze, hogy kihagyott-e egy lépést.

Import-Module -Name Az

Csatlakozás az Azure-hoz egy böngésző bejelentkezési jogkivonatával

A portál bejelentkezési hitelesítő adataival csatlakozhat egy előfizetéshez a PowerShellben. Azt is megteheti, hogy interaktivitás nélkül hitelesít egy szolgáltatásfelelőssel.

Connect-AzAccount

Ha több Azure-előfizetéssel rendelkezik, állítsa be az Azure-előfizetését. Az aktuális előfizetések listájának megtekintéséhez futtassa ezt a parancsot.

Get-AzSubscription | sort SubscriptionName | Select SubscriptionName

Az előfizetés megadásához futtassa a következő parancsot. Az alábbi példában az előfizetés neve .ContosoSubscription

Select-AzSubscription -SubscriptionName ContosoSubscription

Szolgáltatások listázása előfizetésben

Az alábbi parancsok az Az.Resourcestól származnak, és az előfizetésben már kiépített meglévő erőforrásokról és szolgáltatásokról adnak vissza információkat. Ha nem tudja, hány keresési szolgáltatás van már létrehozva, ezek a parancsok visszaadják az erre vonatkozó információkat, ezzel megkímélve az Azure portal meglátogatásától.

Az első parancs az összes keresési szolgáltatást visszaadja.

Get-AzResource -ResourceType Microsoft.Search/searchServices | ft

A szolgáltatások listájából egy adott erőforrás adatait adja vissza.

Get-AzResource -ResourceName <service-name>

Az eredményeknek az alábbi kimenethez hasonlóan kell kinéznie.

Name              : my-demo-searchapp
ResourceGroupName : demo-westus
ResourceType      : Microsoft.Search/searchServices
Location          : westus
ResourceId        : /subscriptions/<alphanumeric-subscription-ID>/resourceGroups/demo-westus/providers/Microsoft.Search/searchServices/my-demo-searchapp

Importál Az.Search

Az Az.Search parancsai csak a modul betöltéséig érhetők el.

Install-Module -Name Az.Search -Scope CurrentUser

Az összes Az.Search parancs listázása

Ellenőrzési lépésként adja vissza a modulban megadott parancsok listáját.

Get-Command -Module Az.Search

Az eredményeknek az alábbi kimenethez hasonlóan kell kinéznie.

CommandType     Name                                               Version     Source                                                                
-----------     ----                                               -------     ------                                                                
Cmdlet          Get-AzSearchAdminKeyPair                           0.10.0      Az.Search                                                             
Cmdlet          Get-AzSearchPrivateEndpointConnection              0.10.0      Az.Search                                                             
Cmdlet          Get-AzSearchPrivateLinkResource                    0.10.0      Az.Search                                                             
Cmdlet          Get-AzSearchQueryKey                               0.10.0      Az.Search                                                             
Cmdlet          Get-AzSearchService                                0.10.0      Az.Search                                                             
Cmdlet          Get-AzSearchSharedPrivateLinkResource              0.10.0      Az.Search                                                             
Cmdlet          New-AzSearchAdminKey                               0.10.0      Az.Search                                                             
Cmdlet          New-AzSearchQueryKey                               0.10.0      Az.Search                                                             
Cmdlet          New-AzSearchService                                0.10.0      Az.Search                                                             
Cmdlet          New-AzSearchSharedPrivateLinkResource              0.10.0      Az.Search                                                             
Cmdlet          Remove-AzSearchPrivateEndpointConnection           0.10.0      Az.Search                                                             
Cmdlet          Remove-AzSearchQueryKey                            0.10.0      Az.Search                                                             
Cmdlet          Remove-AzSearchService                             0.10.0      Az.Search                                                             
Cmdlet          Remove-AzSearchSharedPrivateLinkResource           0.10.0      Az.Search                                                             
Cmdlet          Set-AzSearchPrivateEndpointConnection              0.10.0      Az.Search                                                             
Cmdlet          Set-AzSearchService                                0.10.0      Az.Search                                                             
Cmdlet          Set-AzSearchSharedPrivateLinkResource              0.10.0      Az.Search   

Ha a csomag régebbi verziójával rendelkezik, frissítse a modult a legújabb funkciók beszerzéséhez.

Update-Module -Name Az.Search

Keresési szolgáltatás adatainak lekérése

Az Az.Search importálása után, és ismeri a keresési szolgáltatást tartalmazó erőforráscsoportot, futtassa a Get-AzSearchService parancsot a szolgáltatásdefiníció visszaadásához, beleértve a nevet, a régiót, a réteget és a replika és a partíciók számát. Ehhez a parancshoz adja meg a keresési szolgáltatást tartalmazó erőforráscsoportot.

Get-AzSearchService -ResourceGroupName <resource-group-name>

Az eredményeknek az alábbi kimenethez hasonlóan kell kinéznie.

Name              : my-demo-searchapp
ResourceGroupName : demo-westus
ResourceType      : Microsoft.Search/searchServices
Location          : West US
Sku               : Standard
ReplicaCount      : 1
PartitionCount    : 1
HostingMode       : Default
ResourceId        : /subscriptions/<alphanumeric-subscription-ID>/resourceGroups/demo-westus/providers/Microsoft.Search/searchServices/my-demo-searchapp

Szolgáltatás létrehozása vagy törlése

A New-AzSearchService egy új keresési szolgáltatás létrehozásához használható.

New-AzSearchService -ResourceGroupName <resource-group-name> -Name <search-service-name> -Sku "Standard" -Location "West US" -PartitionCount 3 -ReplicaCount 3 -HostingMode Default

Az eredményeknek az alábbi kimenethez hasonlóan kell kinéznie.

ResourceGroupName : demo-westus
Name              : my-demo-searchapp
Id                : /subscriptions/<alphanumeric-subscription-ID>/demo-westus/providers/Microsoft.Search/searchServices/my-demo-searchapp
Location          : West US
Sku               : Standard
ReplicaCount      : 3
PartitionCount    : 3
HostingMode       : Default
Tags

A Remove-AzSearchService szolgáltatás egy szolgáltatás és annak adatainak törlésére szolgál.

Remove-AzSearchService -ResourceGroupName <resource-group-name> -Name <search-service-name>

A rendszer megkéri, hogy erősítse meg a műveletet.

Confirm
Are you sure you want to remove Search Service 'pstestazuresearch01'?
[Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"): y

Szolgáltatás létrehozása IP-szabályokkal

A biztonsági követelményektől függően előfordulhat, hogy egy konfigurált IP-tűzfallal rendelkező keresőszolgáltatást szeretne létrehozni. Ehhez először határozza meg az IP-szabályokat, majd adja át őket a paraméternek az IPRuleList alább látható módon.

$ipRules = @([pscustomobject]@{Value="55.5.63.73"},
		[pscustomobject]@{Value="52.228.215.197"},
		[pscustomobject]@{Value="101.37.221.205"})

 New-AzSearchService -ResourceGroupName <resource-group-name> `
                      -Name <search-service-name> `
                      -Sku Standard `
                      -Location "West US" `
                      -PartitionCount 3 -ReplicaCount 3 `
                      -HostingMode Default `
                      -IPRuleList $ipRules

Szolgáltatás létrehozása rendszer által hozzárendelt felügyelt identitással

Bizonyos esetekben, például amikor felügyelt identitással csatlakozik egy adatforráshoz, be kell kapcsolnia a rendszer által hozzárendelt felügyelt identitást. Ez úgy történik, hogy hozzáadja a -IdentityType SystemAssigned parancshoz.

New-AzSearchService -ResourceGroupName <resource-group-name> `
                      -Name <search-service-name> `
                      -Sku Standard `
                      -Location "West US" `
                      -PartitionCount 3 -ReplicaCount 3 `
                      -HostingMode Default `
                      -IdentityType SystemAssigned

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

Az S3HD-szolgáltatás létrehozásához az és -Sku kombinációját használják. Állítsa be a -Sku értékét Standard3-re, és a -HostingMode értékét HighDensity-ra.

New-AzSearchService -ResourceGroupName <resource-group-name> `
                      -Name <search-service-name> `
                      -Sku Standard3 `
                      -Location "West US" `
                      -PartitionCount 1 -ReplicaCount 3 `
                      -HostingMode HighDensity

Szolgáltatás létrehozása privát végponttal

Az Azure AI Keresés privát végpontjai lehetővé teszik, hogy egy virtuális hálózaton lévő ügyfél biztonságosan hozzáférjen a keresési indexben lévő adatokhoz privát kapcsolaton keresztül. A privát végpont a keresési szolgáltatás virtuális hálózati címteréből származó IP-címet használ. Az ügyfél és a keresési szolgáltatás közötti hálózati forgalom a virtuális hálózaton keresztül halad át, a Microsoft gerinchálózatán pedig egy privát kapcsolaton keresztül, kiküszöbölve a nyilvános internetről való kitettséget. További információ: Privát végpont létrehozása az Azure AI Keresés szolgáltatáshoz.

Az alábbi példa bemutatja, hogyan hozhat létre keresési szolgáltatást privát végponttal.

Először helyezzen üzembe egy keresési szolgáltatást, és állítsa be PublicNetworkAccess értékét Disabled.

$searchService = New-AzSearchService `
    -ResourceGroupName <search-service-resource-group-name> `
    -Name <search-service-name> `
    -Sku Standard `
    -Location "West US" `
    -PartitionCount 1 -ReplicaCount 1 `
    -HostingMode Default `
    -PublicNetworkAccess Disabled

Ezután hozzon létre egy virtuális hálózatot, egy privát hálózati kapcsolatot és a privát végpontot.

# Create the subnet
$subnetConfig = New-AzVirtualNetworkSubnetConfig `
    -Name <subnet-name> `
    -AddressPrefix 10.1.0.0/24 `
    -PrivateEndpointNetworkPolicies Disabled 

# Create the virtual network
$virtualNetwork = New-AzVirtualNetwork `
    -ResourceGroupName <vm-resource-group-name> `
    -Location "West US" `
    -Name <virtual-network-name> `
    -AddressPrefix 10.1.0.0/16 `
    -Subnet $subnetConfig

# Create the private network connection
$privateLinkConnection = New-AzPrivateLinkServiceConnection `
    -Name <private-link-name> `
    -PrivateLinkServiceId $searchService.Id `
    -GroupId searchService

# Create the private endpoint
$privateEndpoint = New-AzPrivateEndpoint `
    -Name <private-endpoint-name> `
    -ResourceGroupName <private-endpoint-resource-group-name> `
    -Location "West US" `
    -Subnet $virtualNetwork.subnets[0] `
    -PrivateLinkServiceConnection $privateLinkConnection

Végül hozzon létre egy privát DNS-zónát.

## Create private dns zone
$zone = New-AzPrivateDnsZone `
    -ResourceGroupName <private-dns-resource-group-name> `
    -Name "privatelink.search.windows.net"

## Create dns network link
$link = New-AzPrivateDnsVirtualNetworkLink `
    -ResourceGroupName <private-dns-link-resource-group-name> `
    -ZoneName "privatelink.search.windows.net" `
    -Name "myLink" `
    -VirtualNetworkId $virtualNetwork.Id

## Create DNS configuration 
$config = New-AzPrivateDnsZoneConfig `
    -Name "privatelink.search.windows.net" `
    -PrivateDnsZoneId $zone.ResourceId

## Create DNS zone group
New-AzPrivateDnsZoneGroup `
    -ResourceGroupName <private-dns-zone-resource-group-name> `
    -PrivateEndpointName <private-endpoint-name> `
    -Name 'myZoneGroup' `
    -PrivateDnsZoneConfig $config

A privát végpontok PowerShellben való létrehozásával kapcsolatos további információkért tekintse meg ezt a Privát hivatkozás rövid útmutatót.

Privátvégpont-kapcsolatok kezelése

A privát végpontkapcsolat létrehozásán túl Get, Set, és Remove is kezelheti a kapcsolatot.

A Get-AzSearchPrivateEndpointConnection egy privát végpontkapcsolat lekérésére és állapotának megtekintésére szolgál.

Get-AzSearchPrivateEndpointConnection -ResourceGroupName <search-service-resource-group-name> -ServiceName <search-service-name>

Set-AzSearchPrivateEndpointConnection a kapcsolat frissítésére használatos. Az alábbi példa egy privát végpontkapcsolat elutasítását állítja be:

Set-AzSearchPrivateEndpointConnection -ResourceGroupName <search-service-resource-group-name> -ServiceName <search-service-name> -Name <pe-connection-name> -Status Rejected  -Description "Rejected"

A Remove-AzSearchPrivateEndpointConnection a privát végpontkapcsolat törlésére szolgál.

 Remove-AzSearchPrivateEndpointConnection -ResourceGroupName <search-service-resource-group-name> -ServiceName <search-service-name> -Name <pe-connection-name>

Rendszergazdai kulcsok újragenerálása

A New-AzSearchAdminKey a rendszergazdai API-kulcsok cserélésére szolgál. Két rendszergazdai kulcs jön létre minden szolgáltatással a hitelesített hozzáféréshez. Minden kéréshez kulcsokra van szükség. Mindkét rendszergazdai kulcs funkcionálisan egyenértékű, így teljes írási hozzáférést biztosít egy keresési szolgáltatáshoz, amely bármilyen információt lekérhet, vagy bármilyen objektumot létrehozhat és törölhet. Két kulcs létezik, így az egyiket a másik cseréjekor használhatja.

Egyszerre csak egyet lehet újragenerálni, vagy kulcsként primarysecondary megadva. A zavartalan szolgáltatás érdekében ne felejtse el frissíteni az összes ügyfélkódot úgy, hogy egy másodlagos kulcsot használjon az elsődleges kulcs átgördülése közben. Ne módosítsa a kulcsokat a repülés közben.

Ahogy várható volt, ha az ügyfélkód frissítése nélkül hozza létre újra a kulcsokat, a régi kulcsot használó kérések sikertelenek lesznek. Az összes új kulcs újragenerálása nem zárja ki véglegesen a szolgáltatásból, és továbbra is hozzáférhet a szolgáltatáshoz az Azure Portalon keresztül. Az elsődleges és másodlagos kulcsok újragenerálása után frissítheti az ügyfélkódot az új kulcsok használatára, és a műveletek ennek megfelelően folytatódnak.

Az API-kulcsok értékeit a szolgáltatás hozza létre. Nem adhat meg egyéni kulcsot az Azure AI Keresés használatához. Hasonlóképpen, a rendszergazdai API-kulcsoknak nincs felhasználó által definiált neve. A kulcsra mutató hivatkozások rögzített karakterláncok, vagyis primary vagy secondary.

New-AzSearchAdminKey -ResourceGroupName <search-service-resource-group-name> -ServiceName <search-service-name> -KeyKind Primary

Az eredményeknek az alábbi kimenethez hasonlóan kell kinéznie. A rendszer mindkét kulcsot visszaadja, annak ellenére, hogy egyszerre csak egyet módosít.

Primary                    Secondary
-------                    ---------
<alphanumeric-guid>        <alphanumeric-guid>  

Lekérdezési kulcsok létrehozása vagy törlése

A New-AzSearchQueryKey használatával lekérdezési API-kulcsokat hozhat létre az ügyfélalkalmazásokból egy Azure AI Keresés-indexbe való írásvédett hozzáféréshez. A lekérdezési kulcsok egy adott index hitelesítésére szolgálnak a keresési eredmények lekéréséhez. A lekérdezési kulcsok nem biztosítanak írásvédett hozzáférést a szolgáltatás egyéb elemeihez, például indexhez, adatforráshoz vagy indexelőhöz.

Nem adhat meg kulcsot az Azure AI Keresés használatához. Az API-kulcsokat a szolgáltatás hozza létre.

New-AzSearchQueryKey -ResourceGroupName <search-service-resource-group-name> -ServiceName <search-service-name> -Name <query-key-name> 

Méretarányos replikák és partíciók

A Set-AzSearchService a replikák és partíciók növelésére vagy csökkentésére szolgál a szolgáltatáson belüli számlázható erőforrások újraállításához. A replikák vagy partíciók növelése megnöveli a számlát, amelynek rögzített és változó díjai vannak. Ha ideiglenesen több feldolgozási teljesítményre van szüksége, növelheti a replikákat és a partíciókat a számítási feladat kezeléséhez. Az Áttekintés portál oldalának figyelési területe csempékkel rendelkezik a lekérdezések késéséről, a másodpercenkénti lekérdezésekről és a szabályozásról, ami azt jelzi, hogy az aktuális kapacitás megfelelő-e.

Eltarthat egy ideig a források hozzáadása vagy eltávolítása. A kapacitás módosítása a háttérben történik, ami lehetővé teszi a meglévő számítási feladatok folytatását. A bejövő kérésekhez a rendszer azonnal extra kapacitást használ, és nincs szükség további konfigurációra.

A kapacitás csökkentése zavaró hatással lehet. Javasoljuk, hogy a kapacitás csökkentése előtt állítsa le az összes indexelési és indexelő feladatot az elveszett kérelmek elkerülése érdekében. Ha ez nem lehetséges, érdemes lehet fokozatosan csökkenteni a kapacitást, egyszerre egy replikát és partíciót, amíg el nem éri az új célszinteket.

A parancs elküldése után nem lehet félúton leállni. A szám módosítása előtt meg kell várnia, amíg a parancs befejeződik.

Set-AzSearchService -ResourceGroupName <search-service-resource-group-name> -Name <search-service-name> -PartitionCount 6 -ReplicaCount 6

Az eredményeknek az alábbi kimenethez hasonlóan kell kinéznie.

ResourceGroupName : demo-westus
Name              : my-demo-searchapp
Location          : West US
Sku               : Standard
ReplicaCount      : 6
PartitionCount    : 6
HostingMode       : Default
Id                : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/demo-westus/providers/Microsoft.Search/searchServices/my-demo-searchapp

Az Azure AI Keresés API-kkal létrehozott biztonságos erőforrások privát végpontjait megosztott privát kapcsolati erőforrásoknak nevezzük. Ennek az az oka, hogy "megosztja" az erőforráshoz való hozzáférést, például egy tárfiókot, amely integrálva van az Azure Private Link szolgáltatással.

Ha indexelővel indexeli az adatokat az Azure AI Keresésben, és az adatforrás egy magánhálózaton található, létrehozhat egy kimenő privát végpontkapcsolatot az adatok eléréséhez.

Itt található az Azure-erőforrások teljes listája, amelyhez kimenő privát végpontokat hozhat létre az Azure AI Keresésből a kapcsolódó csoportazonosító értékekkel együtt.

A New-AzSearchSharedPrivateLinkResource a megosztott privát kapcsolati erőforrás létrehozásához használható. Ne feledje, hogy a parancs futtatása előtt szükség lehet némi konfigurációra az adatforráshoz.

New-AzSearchSharedPrivateLinkResource -ResourceGroupName <search-serviceresource-group-name> -ServiceName <search-service-name> -Name <spl-name> -PrivateLinkResourceId /subscriptions/<alphanumeric-subscription-ID>/resourceGroups/<storage-resource-group-name>/providers/Microsoft.Storage/storageAccounts/myBlobStorage -GroupId <group-id> -RequestMessage "Please approve" 

A Get-AzSearchSharedPrivateLinkResource lehetővé teszi a megosztott privát kapcsolat erőforrásainak lekérését és állapotuk megtekintését.

Get-AzSearchSharedPrivateLinkResource -ResourceGroupName <search-service-resource-group-name> -ServiceName <search-service-name> -Name <spl-name>

Használat előtt jóvá kell hagynia a kapcsolatot a következő paranccsal.

Approve-AzPrivateEndpointConnection `
    -Name <spl-name> `
    -ServiceName <search-service-name> `
    -ResourceGroupName <search-service-resource-group-name> `
    -Description = "Approved"

A Remove-AzSearchSharedPrivateLinkResource a megosztott privát kapcsolat erőforrásának törlésére szolgál.

$job = Remove-AzSearchSharedPrivateLinkResource -ResourceGroupName <search-service-resource-group-name> -ServiceName <search-service-name> -Name <spl-name> -Force -AsJob

$job | Get-Job

A megosztott privát kapcsolat erőforrásainak beállításával kapcsolatos részletes információkért tekintse meg az indexelő kapcsolatok privát végponton keresztüli létrehozásáról szóló dokumentációt.

Következő lépések

Index létrehozása, index lekérdezése az Azure Portal, REST API-k vagy .NET SDK használatával.