Gestire il servizio Ricerca di Azure con PowerShellManage your Azure Search service with PowerShell

Questo argomento descrive i comandi di PowerShell che consentono di eseguire molte delle attività di gestione dei servizi di Ricerca di Azure.This topic describes the PowerShell commands to perform many of the management tasks for Azure Search services. Illustreremo in dettaglio come creare un servizio di ricerca, come ridimensionarlo e come gestire le relative chiavi API.We will walk through creating a search service, scaling it, and managing its API keys. Questi comandi si affiancano alle opzioni di gestione disponibili nella pagina relativa alle API REST di gestione di Ricerca di Azure.These commands parallel the management options available in the Azure Search Management REST API.

PrerequisitiPrerequisites

  • È necessario disporre di Azure PowerShell 1.0 o versioni successive.You must have Azure PowerShell 1.0 or greater. Per istruzioni, vedere Come installare e configurare Azure PowerShell.For instructions, see Install and configure Azure PowerShell.
  • In PowerShell è necessario connettersi alla sottoscrizione di Azure come descritto di seguito.You must be logged in to your Azure subscription in PowerShell as described below.

In primo luogo, è necessario accedere a Microsoft Azure con questo comando:First, you must login to Azure with this command:

Login-AzureRmAccount

Specificare l'indirizzo e-mail del proprio account Microsoft Azure e la relativa password nella finestra di dialogo di accesso a Microsoft Azure.Specify the email address of your Azure account and its password in the Microsoft Azure login dialog.

In alternativa è possibile accedere in modo non interattivo con un'entità servizio.Alternatively you can login non-interactively with a service principal.

Se sono disponibili più sottoscrizioni di Azure, è necessario impostare la sottoscrizione di Azure in uso.If you have multiple Azure subscriptions, you need to set your Azure subscription. Per visualizzare un elenco di sottoscrizioni correnti, eseguire questo comando.To see a list of your current subscriptions, run this command.

Get-AzureRmSubscription | sort SubscriptionName | Select SubscriptionName

Per specificare la sottoscrizione, eseguire il comando seguente.To specify the subscription, run the following command. Nell'esempio seguente, il nome della sottoscrizione è ContosoSubscription.In the following example, the subscription name is ContosoSubscription.

Select-AzureRmSubscription -SubscriptionName ContosoSubscription

Comandi utili per iniziareCommands to help you get started

$serviceName = "your-service-name-lowercase-with-dashes"
$sku = "free" # or "basic" or "standard" for paid services
$location = "West US"
# You can get a list of potential locations with
# (Get-AzureRmResourceProvider -ListAvailable | Where-Object {$_.ProviderNamespace -eq 'Microsoft.Search'}).Locations
$resourceGroupName = "YourResourceGroup" 
# If you don't already have this resource group, you can create it with 
# New-AzureRmResourceGroup -Name $resourceGroupName -Location $location

# Register the ARM provider idempotently. This must be done once per subscription
Register-AzureRmResourceProvider -ProviderNamespace "Microsoft.Search"

# Create a new search service
# This command will return once the service is fully created
New-AzureRmResourceGroupDeployment `
    -ResourceGroupName $resourceGroupName `
    -TemplateUri "https://gallery.azure.com/artifact/20151001/Microsoft.Search.1.0.9/DeploymentTemplates/searchServiceDefaultTemplate.json" `
    -NameFromTemplate $serviceName `
    -Sku $sku `
    -Location $location `
    -PartitionCount 1 `
    -ReplicaCount 1

# Get information about your new service and store it in $resource
$resource = Get-AzureRmResource `
    -ResourceType "Microsoft.Search/searchServices" `
    -ResourceGroupName $resourceGroupName `
    -ResourceName $serviceName `
    -ApiVersion 2015-08-19

# View your resource
$resource

# Get the primary admin API key
$primaryKey = (Invoke-AzureRmResourceAction `
    -Action listAdminKeys `
    -ResourceId $resource.ResourceId `
    -ApiVersion 2015-08-19).PrimaryKey

# Regenerate the secondary admin API Key
$secondaryKey = (Invoke-AzureRmResourceAction `
    -ResourceType "Microsoft.Search/searchServices/regenerateAdminKey" `
    -ResourceGroupName $resourceGroupName `
    -ResourceName $serviceName `
    -ApiVersion 2015-08-19 `
    -Action secondary).SecondaryKey

# Create a query key for read only access to your indexes
$queryKeyDescription = "query-key-created-from-powershell"
$queryKey = (Invoke-AzureRmResourceAction `
    -ResourceType "Microsoft.Search/searchServices/createQueryKey" `
    -ResourceGroupName $resourceGroupName `
    -ResourceName $serviceName `
    -ApiVersion 2015-08-19 `
    -Action $queryKeyDescription).Key

# View your query key
$queryKey

# Delete query key
Remove-AzureRmResource `
    -ResourceType "Microsoft.Search/searchServices/deleteQueryKey/$($queryKey)" `
    -ResourceGroupName $resourceGroupName `
    -ResourceName $serviceName `
    -ApiVersion 2015-08-19

# Scale your service up
# Note that this will only work if you made a non "free" service
# This command will not return until the operation is finished
# It can take 15 minutes or more to provision the additional resources
$resource.Properties.ReplicaCount = 2
$resource | Set-AzureRmResource

# Delete your service
# Deleting your service will delete all indexes and data in the service
$resource | Remove-AzureRmResource

Passaggi successiviNext Steps

Dopo aver creato il servizio, è possibile procedere a compilare un indice, eseguire query su un indice e infine creare e gestire la propria applicazione di ricerca che usa Ricerca di Azure.Now that your service is created, you can take the next steps: build an index, query an index, and finally create and manage your own search application that uses Azure Search.