Implantar serviços Web Azure Machine Learning Studio (clássico) que usam módulos de importação de dados e exportação de dadosDeploy Azure Machine Learning Studio (classic) web services that use Data Import and Data Export modules

Quando você cria um experimento de previsão, normalmente adiciona uma entrada e uma saída de serviço Web.When you create a predictive experiment, you typically add a web service input and output. Ao implantar o experimento, os consumidores poderão enviar e receber dados do serviço Web por meio de entradas e saídas.When you deploy the experiment, consumers can send and receive data from the web service through the inputs and outputs. Para alguns aplicativos, os dados do cliente podem estar disponíveis a partir de um feed de dados ou já residirem em uma fonte de dados externa, como o armazenamento de Blobs do Azure.For some applications, a consumer's data may be available from a data feed or already reside in an external data source such as Azure Blob storage. Nesses casos, eles não precisam de dados de leitura e gravação usando saídas e entradas do serviço Web.In these cases, they do not need read and write data using web service inputs and outputs. Em vez disso, eles podem usar o BES (Serviço de execução de lote) para ler dados da fonte de dados usando um módulo Importar Dados e gravar os resultados de pontuação em um local de dados diferente usando um módulo Exportar Dados.They can, instead, use the Batch Execution Service (BES) to read data from the data source using an Import Data module and write the scoring results to a different data location using an Export Data module.

Os módulos Importar Dados e Exportar Dados podem ler e gravar em vários locais de dados, como uma URL da Web via HTTP, uma Consulta de Hive, um banco de dados SQL do Azure, um armazenamento de Tabelas do Azure, um armazenamento de Blobs do Azure, um provedor de Feed de Dados ou um banco de dados SQL local.The Import Data and Export data modules, can read from and write to various data locations such as a Web URL via HTTP, a Hive Query, an Azure SQL database, Azure Table storage, Azure Blob storage, a Data Feed provide, or an on-premises SQL database.

Este tópico usa o "Exemplo 5: Treinamento, teste, avaliação para classificação binária: conjunto de dados adulto" e pressupõe que o conjunto de dados já tenha sido carregado em uma tabela SQL do Azure chamada censusdata.This topic uses the "Sample 5: Train, Test, Evaluate for Binary Classification: Adult Dataset" sample and assumes the dataset has already been loaded into an Azure SQL table named censusdata.

Criar o teste de treinamentoCreate the training experiment

Quando você abre o "Exemplo 5: Treinamento, teste, avaliação para classificação binária: conjunto de dados adulto", ele usa o conjunto de dados do exemplo adulto Classificação binária de receita de censo.When you open the "Sample 5: Train, Test, Evaluate for Binary Classification: Adult Dataset" sample it uses the sample Adult Census Income Binary Classification dataset. E o experimento na tela será semelhante à imagem a seguir:And the experiment in the canvas will look similar to the following image:

Configuração inicial do experimento.

Para ler os dados da tabela SQL do Azure:To read the data from the Azure SQL table:

  1. Exclua o módulo do conjunto de dados.Delete the dataset module.

  2. Na caixa de pesquisa dos componentes, digite importar.In the components search box, type import.

  3. Na lista de resultados, adicione um módulo Importar Dados para a tela do experimento.From the results list, add an Import Data module to the experiment canvas.

  4. Conecte a saída do módulo Importar Dados à entrada do módulo Limpar Dados Ausentes módulo.Connect output of the Import Data module the input of the Clean Missing Data module.

  5. No painel de propriedades, selecione Banco de Dados SQL do Azure in the Fonte de Dados .In properties pane, select Azure SQL Database in the Data Source dropdown.

  6. Nos campos Nome do servidor de banco de dados, Nome do banco de dados, Nome de usuário e Senha, insira as informações apropriadas ao seu banco de dados.In the Database server name, Database name, User name, and Password fields, enter the appropriate information for your database.

  7. No campo Consulta de banco de dados, digite a consulta a seguir.In the Database query field, enter the following query.

    select [age],select [age],

     [workclass],
     [fnlwgt],
     [education],
     [education-num],
     [marital-status],
     [occupation],
     [relationship],
     [race],
     [sex],
     [capital-gain],
     [capital-loss],
     [hours-per-week],
     [native-country],
     [income]
    

    from dbo.censusdata;from dbo.censusdata;

  8. Na parte inferior da tela do experimento, clique em Executar.At the bottom of the experiment canvas, click Run.

Criar o experimento preditivoCreate the predictive experiment

Em seguida, configure o experimento preditivo do qual você implantará o serviço Web.Next you set up the predictive experiment from which you deploy your web service.

  1. Na parte inferior da tela do experimento, clique em Configurar o Serviço Web e selecione Serviço Web Preditivo [Recomendado] .At the bottom of the experiment canvas, click Set Up Web Service and select Predictive Web Service [Recommended].
  2. Remova os módulos Entrada do Serviço Web e Saída do Serviço Web do experimento preditivo.Remove the Web Service Input and Web Service Output modules from the predictive experiment.
  3. Na caixa de pesquisa dos componentes, digite exportar.In the components search box, type export.
  4. Na lista de resultados, adicione um módulo Exportar Dados para a tela do experimento.From the results list, add an Export Data module to the experiment canvas.
  5. Conecte a saída do módulo Modelo de Pontuação à entrada do módulo Exportar Dados.Connect output of the Score Model module the input of the Export Data module.
  6. No painel de propriedades, selecione Banco de Dados SQL do Azure no menu suspenso de destino dos dados.In properties pane, select Azure SQL Database in the data destination dropdown.
  7. Nos campos Nome do servidor de banco de dados, Nome do banco de dados, Nome da conta de usuário do servidor e Senha da conta de usuário do servidor, insira as informações apropriadas ao seu banco de dados.In the Database server name, Database name, Server user account name, and Server user account password fields, enter the appropriate information for your database.
  8. No campo Lista separada por vírgulas de colunas a serem salvas , digite Rótulos de Pontuação.In the Comma separated list of columns to be saved field, type Scored Labels.
  9. No campo Nome da tabela de dados, digite dbo.ScoredLabels.In the Data table name field, type dbo.ScoredLabels. Se a tabela não existir, ela será criado quando o experimento for executado ou o serviço Web for chamado.If the table does not exist, it is created when the experiment is run or the web service is called.
  10. No campo Lista separada por vírgulas de colunas de banco de dados , digite ScoredLabels.In the Comma separated list of datatable columns field, type ScoredLabels.

Quando você escreve um aplicativo que chama o serviço Web final, convém especificar uma consulta de entrada diferente ou a tabela de destino em tempo de execução.When you write an application that calls the final web service, you may want to specify a different input query or destination table at run time. Para configurar essas entradas e saídas, use o recurso de Parâmetros de Serviço Web para definir o módulo Importar Dados, a propriedade Fonte de dados e a propriedade de destino de dados do modo Exportar Dados.To configure these inputs and outputs, use the Web Service Parameters feature to set the Import Data module Data source property and the Export Data mode data destination property. Para obter mais informações sobre parâmetros de serviço Web, consulte a Azure Machine Learning Studio entrada de parâmetros de serviço Web no Cortana Intelligence e Machine Learning blog.For more information on Web Service Parameters, see the Azure Machine Learning Studio Web Service Parameters entry on the Cortana Intelligence and Machine Learning Blog.

Para configurar os Parâmetros de Serviço Web para a consulta de importação e a tabela de destino:To configure the Web Service Parameters for the import query and the destination table:

  1. No painel de propriedades do módulo Importar Dados, clique no ícone na parte superior direita do campo Consulta de banco de dados e selecione Definir como parâmetro de serviço Web.In the properties pane for the Import Data module, click the icon at the top right of the Database query field and select Set as web service parameter.
  2. No painel de propriedades do módulo Exportar Dados, clique no ícone na parte superior direita do campo Nome da tabela de dados e selecione Definir como parâmetro de serviço Web.In the properties pane for the Export Data module, click the icon at the top right of the Data table name field and select Set as web service parameter.
  3. Na parte inferior do painel de propriedades do módulo Exportar Dados , na seção Parâmetros de Serviço Web , clique em Consulta de banco de dados e renomeie a consulta.At the bottom of the Export Data module properties pane, in the Web Service Parameters section, click Database query and rename it Query.
  4. Clique em Nome da tabela de dados e troque seu nome para Tabela.Click Data table name and rename it Table.

Quando terminar, seu experimento deverá ser semelhante à imagem a seguir:When you are done, your experiment should look similar to the following image:

Aparência final do experimento.

Agora você pode implantar o experimento como um serviço Web.Now you can deploy the experiment as a web service.

Implantar o serviço WebDeploy the web service

Você pode implantar um serviço Web Clássico ou Novo.You can deploy to either a Classic or New web service.

Implantar um Serviço Web ClássicoDeploy a Classic Web Service

Para implantar como um serviço Web Clássico e criar um aplicativo para consumi-lo:To deploy as a Classic Web Service and create an application to consume it:

  1. Na parte inferior da tela do experimento, clique em Executar.At the bottom of the experiment canvas, click Run.

  2. Após a conclusão da execução, clique em Implantar Serviço Web e selecione Implantar Serviço Web [Clássico] .When the run has completed, click Deploy Web Service and select Deploy Web Service [Classic].

  3. No painel do serviço Web, localize sua chave de API.On the web service dashboard, locate your API key. Copie e salve-a para uso posterior.Copy and save it to use later.

  4. Na tabela Ponto de Extremidade Padrão, clique no link Execução em Lote para abrir a Página de Ajuda da API.In the Default Endpoint table, click the Batch Execution link to open the API Help Page.

  5. No Visual Studio, crie um aplicativo de console C#: Novo > Projeto > Visual C# > Área de Trabalho Clássica do Windows > Aplicativo de Console (.NET Framework) .In Visual Studio, create a C# console application: New > Project > Visual C# > Windows Classic Desktop > Console App (.NET Framework).

  6. Na Página de Ajuda da API, encontre a seção Código de Exemplo na parte inferior da página.On the API Help Page, find the Sample Code section at the bottom of the page.

  7. Copie e cole o código de exemplo C# no arquivo Program.cs e remova todas as referências ao armazenamento de blobs.Copy and paste the C# sample code into your Program.cs file, and remove all references to the blob storage.

  8. Atualize o valor da variável apiKey com a chave de API que você salvou anteriormente.Update the value of the apiKey variable with the API key saved earlier.

  9. Localize a declaração de solicitação e atualize os valores dos Parâmetros de Serviço Web que são passados para os módulos Importar Dados e Exportar Dados.Locate the request declaration and update the values of Web Service Parameters that are passed to the Import Data and Export Data modules. Nesse caso, você usa a consulta original, mas definirá um novo nome de tabela.In this case, you use the original query, but define a new table name.

     var request = new BatchExecutionRequest()
     {
         GlobalParameters = new Dictionary<string, string>() {
             { "Query", @"select [age], [workclass], [fnlwgt], [education], [education-num], [marital-status], [occupation], [relationship], [race], [sex], [capital-gain], [capital-loss], [hours-per-week], [native-country], [income] from dbo.censusdata" },
             { "Table", "dbo.ScoredTable2" },
         }
     };
    
  10. Execute o aplicativo.Run the application.

Após a conclusão da execução, uma nova tabela será adicionada ao banco de dados que contém os resultados da pontuação.On completion of the run, a new table is added to the database containing the scoring results.

Implantar um serviço Web NovoDeploy a New Web Service

Observação

Para implantar um novo serviço Web, você precisa ter permissões suficientes na assinatura na qual o serviço Web está sendo implantado.To deploy a New web service you must have sufficient permissions in the subscription to which you deploying the web service. Para saber mais, confira Gerenciar um serviço Web usando o portal de Serviços Web do Azure Machine Learning.For more information, see Manage a Web service using the Azure Machine Learning Web Services portal.

Para implantar como um serviço Web Novo e criar um aplicativo para consumi-lo:To deploy as a New Web Service and create an application to consume it:

  1. Na parte inferior da tela do experimento, clique em Executar.At the bottom of the experiment canvas, click Run.

  2. Após a conclusão da execução, clique em Implantar Serviço Web e selecione Implantar Serviço Web [Novo] .When the run has completed, click Deploy Web Service and select Deploy Web Service [New].

  3. Na página Implantar Experimento, insira um nome para o serviço Web e selecione um plano de preços, depois clique em Implantar.On the Deploy Experiment page, enter a name for your web service, and select a pricing plan, then click Deploy.

  4. Na página Início rápido, clique em Consumir.On the Quickstart page, click Consume.

  5. Na seção Código de Exemplo, clique em Lote.In the Sample Code section, click Batch.

  6. No Visual Studio, crie um aplicativo de console C#: Novo > Projeto > Visual C# > Área de Trabalho Clássica do Windows > Aplicativo de Console (.NET Framework) .In Visual Studio, create a C# console application: New > Project > Visual C# > Windows Classic Desktop > Console App (.NET Framework).

  7. Copie e cole o código de exemplo de C# no arquivo Program.cs.Copy and paste the C# sample code into your Program.cs file.

  8. Atualize o valor da variável apiKey com a Chave Primária localizada na seção Informações básicas de consumo.Update the value of the apiKey variable with the Primary Key located in the Basic consumption info section.

  9. Localize a declaração scoreRequest e atualize os valores dos Parâmetros de Serviço Web que são passados para os módulos Importar Dados e Exportar Dados.Locate the scoreRequest declaration and update the values of Web Service Parameters that are passed to the Import Data and Export Data modules. Nesse caso, você usa a consulta original, mas definirá um novo nome de tabela.In this case, you use the original query, but define a new table name.

     var scoreRequest = new
     {
         Inputs = new Dictionary<string, StringTable>()
         {
         },
         GlobalParameters = new Dictionary<string, string>() {
             { "Query", @"select [age], [workclass], [fnlwgt], [education], [education-num], [marital-status], [occupation], [relationship], [race], [sex], [capital-gain], [capital-loss], [hours-per-week], [native-country], [income] from dbo.censusdata" },
             { "Table", "dbo.ScoredTable3" },
         }
     };
    
  10. Execute o aplicativo.Run the application.