Implementar serviços web do Azure Machine Learning Studio (clássicos) que utilizam 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

APLICA-SE A:  Aplica-se a. Machine Learning Studio (clássico)  Não se aplica a. Aprendizagem de Máquinas Azure APPLIES TO: Applies to.Machine Learning Studio (classic) Does not apply to.Azure Machine Learning

Quando cria uma experiência preditiva, normalmente adiciona-se uma entrada e saída de serviço web.When you create a predictive experiment, you typically add a web service input and output. Quando implementa a experiência, os consumidores podem enviar e receber dados do serviço web através das 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 algumas aplicações, os dados de um consumidor podem estar disponíveis a partir de um feed de dados ou já residir numa fonte de dados externa, como o armazenamento Azure Blob.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. Nestes casos, não precisam de ler e escrever dados utilizando entradas e saídas de serviço web.In these cases, they do not need read and write data using web service inputs and outputs. Em vez disso, podem utilizar o Serviço de Execução de Lotes (BES) para ler dados da fonte de dados utilizando um módulo de Dados de Importação e escrever os resultados da pontuação para um local de dados diferente utilizando um módulo de Dados de Exportação.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 de dados de importação e exportação, podem ler e escrever para vários locais de dados, tais como um URL web via HTTP, uma Consulta de Colmeia, uma base de dados na Base de Dados Azure SQL, armazenamento de mesa Azure, armazenamento de Azure Blob, um feed de dados fornecer, ou uma base de dados do SQL Server.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, a database in Azure SQL Database, Azure Table storage, Azure Blob storage, a Data Feed provide, or a SQL Server database.

Este tópico utiliza a amostra "Amostra 5: Comboio, Teste, Avaliação para Classificação Binária: Conjunto de Dados para Adultos" e assume que o conjunto de dados já foi carregado numa tabela Azure SQL 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 a experiência de treinoCreate the training experiment

Quando abre a amostra "Amostra 5: Comboio, Teste, Avaliação para Classificação Binária: Conjunto de Dados para Adultos" utiliza a amostra de conjunto de dados de classificação binária de rendimento de censos adulto.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 a experiência na tela será semelhante à seguinte imagem:And the experiment in the canvas will look similar to the following image:

Configuração inicial da experiência.

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

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

  2. Na caixa de pesquisa de componentes, tipo importação.In the components search box, type import.

  3. Da lista de resultados, adicione um módulo de Dados de Importação à tela de experiência.From the results list, add an Import Data module to the experiment canvas.

  4. Ligue a saída do módulo de dados de importação a entrada do módulo de dados em falta.Connect output of the Import Data module the input of the Clean Missing Data module.

  5. No painel de propriedades, selecione Azure SQL Database na origem de dados.In properties pane, select Azure SQL Database in the Data Source dropdown.

  6. No nome do servidor base de dados, nome de base de dados, nome de utilizador e password, introduza as informações adequadas para a sua base de dados.In the Database server name, Database name, User name, and Password fields, enter the appropriate information for your database.

  7. No campo de consulta de base de dados, insira a seguinte consulta.In the Database query field, enter the following 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;
    
  8. Na parte inferior da tela de experiência, clique em Executar.At the bottom of the experiment canvas, click Run.

Criar a experiência preditivaCreate the predictive experiment

Em seguida, configura a experiência preditiva a partir da qual implementa o seu serviço web.Next you set up the predictive experiment from which you deploy your web service.

  1. Na parte inferior da tela de experiência, clique em Configurar o Serviço Web e selecione o 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 de entrada de serviço web e de saída de serviço web da experiência preditiva.Remove the Web Service Input and Web Service Output modules from the predictive experiment.
  3. Na caixa de pesquisa de componentes, escreva exportação.In the components search box, type export.
  4. Da lista de resultados, adicione um módulo de Dados de Exportação à tela de experiência.From the results list, add an Export Data module to the experiment canvas.
  5. Ligue a saída do módulo 'Modelo de Pontuação' a entrada do módulo de dados de exportação.Connect output of the Score Model module the input of the Export Data module.
  6. No painel de propriedades, selecione Azure SQL Database no dropdown do destino de dados.In properties pane, select Azure SQL Database in the data destination dropdown.
  7. No nome do servidor base de dados, nome de base de dados, nome da conta do utilizador do servidor e na conta de utilizador do Servidor, introduza as informações apropriadas para a sua base 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. Na lista separada da Vírgula de colunas a guardar, escreva labels.In the Comma separated list of columns to be saved field, type Scored Labels.
  9. No campo de nome da tabela de dados, escreva dbo. ScoredLabels.In the Data table name field, type dbo.ScoredLabels. Se a tabela não existir, é criada quando a experiência é executada ou o serviço web é chamado.If the table does not exist, it is created when the experiment is run or the web service is called.
  10. Na lista separada da Vírgula do campo de colunas de dados, escreva MarcouLabels.In the Comma separated list of datatable columns field, type ScoredLabels.

Quando escrever uma aplicação que ligue para o serviço web final, pode querer especificar uma consulta de entrada ou tabela de destino diferente no 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 estas entradas e saídas, utilize a funcionalidade Parâmetros de Serviço Web para definir a propriedade de fonte de dados do módulo de dados de importação e a propriedade de destino de dados do modo de exportação.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 os parâmetros do Serviço Web, consulte a entrada dos parâmetros do Serviço Web Azure Machine Learning Studio no Cortana Intelligence and 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 do Serviço Web para a consulta de importação e para a tabela de destino:To configure the Web Service Parameters for the import query and the destination table:

  1. No painel de propriedades para o módulo de dados de importação, clique no ícone no topo direito do campo de consulta database 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 para o módulo dados de exportação, clique no ícone no topo direito do campo de 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 de dados de exportação, na secção parâmetros do Serviço Web, clique na consulta de Base de Dados e rebatize-a em 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 no nome da tabela de dados e rebatize-o Tabela.Click Data table name and rename it Table.

Quando terminar, a sua experiência deve ser semelhante à seguinte imagem:When you are done, your experiment should look similar to the following image:

Último olhar de experiência.

Agora pode implementar a experiência como um serviço web.Now you can deploy the experiment as a web service.

Implementar o serviço WebDeploy the web service

Pode implementar um serviço web Clássico ou Novo.You can deploy to either a Classic or New web service.

Implementar um serviço web clássicoDeploy a Classic Web Service

Para implementar como um Serviço Web Clássico e criar uma aplicação para consumi-lo:To deploy as a Classic Web Service and create an application to consume it:

  1. Na parte inferior da tela de experiência, clique em Executar.At the bottom of the experiment canvas, click Run.

  2. Quando a execução tiver terminado, clique em Implementar o Serviço Web e selecione Implementar o Serviço Web [Clássico].When the run has completed, click Deploy Web Service and select Deploy Web Service [Classic].

  3. No painel de atendimento web, localize a sua chave API.On the web service dashboard, locate your API key. Copie e guarde-o para usar mais tarde.Copy and save it to use later.

  4. Na tabela Ponto final predefinido, clique no link de execução do 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 uma aplicação para consola C#: Novo > Project > Visual C# Windows Classic > Desktop Console > App (.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 secção código de amostra 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 amostra C# no seu ficheiro .cs Programa e remova todas as referências ao armazenamento do blob.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 API guardada anteriormente.Update the value of the apiKey variable with the API key saved earlier.

  9. Localize a declaração de pedido e atualize os valores dos Parâmetros do Serviço Web que são transmitidos aos módulos de Dados de Importação e Exportação.Locate the request declaration and update the values of Web Service Parameters that are passed to the Import Data and Export Data modules. Neste caso, você usa a consulta original, mas define um novo nome de mesa.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 a aplicação.Run the application.

Após a conclusão da execução, é adicionada uma nova tabela à base 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.

Implementar um novo serviço webDeploy a New Web Service

Nota

Para implementar um Novo serviço web tem de ter permissões suficientes na subscrição à qual implementa o serviço web.To deploy a New web service you must have sufficient permissions in the subscription to which you deploying the web service. Para obter mais informações, consulte Gerir um serviço Web utilizando o portal Azure Machine Learning Web Services.For more information, see Manage a Web service using the Azure Machine Learning Web Services portal.

Para implementar como um Novo Serviço Web e criar uma aplicação para consumi-lo:To deploy as a New Web Service and create an application to consume it:

  1. Na parte inferior da tela de experiência, clique em Executar.At the bottom of the experiment canvas, click Run.

  2. Quando a execução tiver terminado, clique em Implementar o Serviço Web e selecione Implementar o Serviço Web [Novo].When the run has completed, click Deploy Web Service and select Deploy Web Service [New].

  3. Na página 'Implementar experiência', insira um nome para o seu serviço web e selecione um plano de preços e, em seguida, clique em Implementar.On the Deploy Experiment page, enter a name for your web service, and select a pricing plan, then click Deploy.

  4. Na página Quickstart, clique em Consumir.On the Quickstart page, click Consume.

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

  6. No Visual Studio, crie uma aplicação para consola C#: Novo > Project > Visual C# Windows Classic > Desktop Console > App (.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 amostra C# no ficheiro .cs programa.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 secção informações de consumo básico.Update the value of the apiKey variable with the Primary Key located in the Basic consumption info section.

  9. Localize a declaração de pontuaçãoRequest e atualize os valores dos Parâmetros do Serviço Web que são transmitidos aos módulos de Dados de Importação e Exportação.Locate the scoreRequest declaration and update the values of Web Service Parameters that are passed to the Import Data and Export Data modules. Neste caso, você usa a consulta original, mas define um novo nome de mesa.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 a aplicação.Run the application.