O que é uma API do Azure?

Azure é uma plataforma de computação em nuvem oferecida pela Microsoft com mais de 200 serviços disponíveis. O Azure fornece várias bibliotecas de cliente e uma API REST para acessar esses serviços. Há um nível gratuito para colocá-lo em funcionamento, que permite acessar vários serviços gratuitos, muitos dos quais permanecem gratuitos, desde que você não exceda alguns limites mensais bastante generosos. Vamos usar o serviço “Pesquisa Cognitiva” para realizar a análise de imagens. O serviço de pesquisa cognitiva é um nível sempre gratuito, então você nunca deve precisar pagar por ele.

Como obtemos uma chave de assinatura para acessar a API do Azure?

Para acessar a API REST do Azure, precisamos de uma chave de assinatura. A chave de assinatura é uma chave atribuída a um 'recurso'. Portanto, precisamos primeiro criar um recurso. Para criar um recurso, você precisa de uma Assinatura do Azure ativa. Visite este link para criar uma assinatura:

https://azure.microsoft.com/free/cognitive-services/

Depois de configurar a assinatura do Azure, você deve criar um Recurso de Visão do Computador. Certifique-se de ter selecionado a região geográfica correta, porque você não pode alterar isso mais tarde. Visite este link para criar o recurso:

https://portal.azure.com/#create/Microsoft.CognitiveServicesComputerVision

Para obter a chave de assinatura do seu recurso, abra o recurso e vá para “Chaves e pontos de extremidade”. Lá você pode ver duas chaves e o local que precisa para fazer nossa chamada REST API.

Como fazer uma solicitação à API REST do Azure usando Delphi REST Client?

Chamar a API REST do Delphi Client é fácil. Você só precisa definir alguns parâmetros e pode executá-lo mesmo em tempo de design. Vamos fazer um aplicativo DEMO. Primeiro, arraste e solte esses componentes em um fórum.

TRESTClient

TRESTRequest

TRESTResponse

Além disso, coloque alguns controles de entrada para obter o URL da API, a chave de assinatura e o URL da imagem. Colocar um TButton para iniciar o pedido. O tipo de conteúdo do Cliente REST deve ser “application / json“. Agora defina as propriedades do cliente e da resposta do TRESTRequest componente para o cliente e componentes de resposta que colocamos anteriormente. Defina também o método como “rmPOST“.

O código do botão Iniciar é assim:

procedimento TfrmMain.btnStartClick (Sender: TObject); var lparam: Trestrequestparameter; imgProcessed: bool; jsonObj, jsonStatus: TJSONObject; begin memResponse.Lines.Clear; RESTClient.BaseURL: = edAPIURL.Text; RESTRequest.Method: = rmpost; imgProcessed: = false; tente RESTRequest.Params.Clear; RESTResponse.RootElement: = ''; lparam: = RESTRequest.Params.AddItem; lparam.name: = 'Ocp-Apim-Subscription-Key'; lparam.Value: = edSubKey.Text; lparam.ContentType: = ctNone; lparam.Kind: = pkHTTPHEADER; // Este é importante, caso contrário, '==' obterá a codificação url lparam.Options: = [poDoNotEncode];
     lparam: = RESTRequest.Params.AddItem; 
     lparam.name: = 'dados'; 
     lparam.Value: = '{"url": "' + edImgURL.Text + '"}'; 
     lparam.ContentType: = ctAPPLICATION_JSON; 
     lparam.Kind: = pkGETorPOST; 
     RESTRequest.Execute; 
     se não for RESTResponse.Status.Success, então showmessage (RESTResponse.StatusText + '' + inttostr (RESTResponse.StatusCode)) 
senão 
começar   
    memResponse.Lines.Add (RESTResponse.JSONText); 
fim;
finalmente terminar; fim;

Este código adicionará um novo parâmetro ao TRESTRequest e definirá a chave de assinatura. A chave de assinatura deve ser passada como um cabeçalho HTTP e o nome deve ser “Ocp-Apim-Subscription-Key“. O parâmetro de valor é a chave de assinatura que copiamos anteriormente. Também é importante incluir a opção “poDoNotEncode“, Caso contrário, ele irá codificar a chave. Além disso, o URL base do TRESTClient precisa ser definido. Quando inserimos a URL base do Cliente Azure, devemos considerar a região do nosso recurso. Deve ser o subdomínio da URL. O URL base terá esta aparência.

https://eastus.api.cognitive.microsoft.com/vision/v3.2/analyze?visualFeatures=Description

Substituir "Eastus”Com a sua região ou irá não trabalhos. Além disso, existem vários parâmetros que você pode passar por este URL. Visite este link para encontrar todos os parâmetros.

https://docs.microsoft.com/en-us/azure/cognitive-services/computer-vision/vision-api-how-to-topics/howtocallvisionapi

Nesta demonstração passamos “visualFeatures = Descrição”Que irá descrever nossa imagem em uma frase. Além disso, temos que passar nosso URL de imagem no formato JSON. Para fazer isso, adicione um novo parâmetro ao TRESTRequest e defina o tipo de conteúdo para “ctAPPLICATION_JSON”, Defina o nome para“url”E o valor neste formato:

{"url": "IMAGE_URL"}

Nosso aplicativo final deve ser assim.

API de análise de imagem em ação

Você pode baixar o aplicativo DEMO no GitHub: https://github.com/checkdigits/ImageAnalysisClient_example


Bem, experimente você mesmo e veja - é a maneira mais rápida de adicionar análise de imagem aos seus aplicativos Windows, macOS e móveis?

perto

Reduza o tempo de desenvolvimento e chegue ao mercado mais rapidamente com RAD Studio, Delphi ou C ++ Builder.
Projeto. Código. Compilar. Implante.
Iniciar avaliação gratuita   Aprimore hoje

   Delphi Community Edition grátis   Edição gratuita da comunidade C ++ Builder