About Me

My photo
I am an MCSE in Data Management and Analytics, specializing in MS SQL Server, and an MCP in Azure. With over 19+ years of experience in the IT industry, I bring expertise in data management, Azure Cloud, Data Center Migration, Infrastructure Architecture planning, as well as Virtualization and automation. I have a deep passion for driving innovation through infrastructure automation, particularly using Terraform for efficient provisioning. If you're looking for guidance on automating your infrastructure or have questions about Azure, SQL Server, or cloud migration, feel free to reach out. I often write to capture my own experiences and insights for future reference, but I hope that sharing these experiences through my blog will help others on their journey as well. Thank you for reading!

Understanding HTTP Methods and Azure Cognitive Services: PATCH, POST, PUT, and Key Azure Services Explained


Effortless Creation and Management of Cognitive Services in Azure

Introduction

Azure's Cognitive Services provides a simplified approach to integrating AI capabilities into applications. This blog post discusses how to create a new resource that enables sentiment analysis and optical character recognition (OCR) with minimal development effort. We'll focus on using the PUT method in the HTTP request to create or update the resource efficiently.

Table of Contents

  1. Introduction to Azure Cognitive Services
  2. Key Concepts and Facts
  3. Mnemonics and Memory Techniques
  4. Story-based Memory Technique
  5. Use Case: Real-World Application
  6. Conclusion
  7. Practical Commands and Azure Portal References

Key Concepts and Facts

Introduction to Azure Cognitive Services

  • Azure Cognitive Services: A suite of APIs, SDKs, and services that developers can use to embed AI into their applications.
  • Sentiment Analysis: Evaluates the sentiment expressed in text (positive, negative, neutral).
  • Optical Character Recognition (OCR): Extracts text content from images.

Important Facts

  1. Unified Key and Endpoint: Azure Cognitive Services allows multiple services to share a single key and endpoint, simplifying management.
  2. Consolidated Billing: By using a single Cognitive Services resource for multiple services, billing is consolidated.
  3. Future-proofing: Creating a unified Cognitive Services resource facilitates adding new services like Computer Vision in the future.

Why PUT is the Correct Method

  • Idempotence: PUT is idempotent, meaning if you call it multiple times, the state of the resource remains the same. This property is crucial for reliable resource creation or updates.
  • Creation and Updates: PUT can create a new resource if it doesn't exist or update the resource if it already exists, providing flexibility.

Mnemonics and Memory Techniques

Mnemonic for Resource Setup

To remember the steps for creating a resource:

  • PUT request for creation and updates.
  • Location to specify the deployment region.
  • Unified "Cognitive Services" kind for multiple capabilities.
  • SKU "S0" for standard pricing.
  • Endpoint for API access.

Mnemonic: "PLUS E" - PUT, Location, Unified, SKU, Endpoint.

Story-based Memory Technique

Story

Imagine Alex, an IT manager, tasked with setting up an AI-powered solution for processing customer feedback and digitizing documents.

Step 1: PUT Request for Creation

Alex starts by creating or updating the resource with the PUT method.

Action: Alex uses an HTTP PUT request to create the resource.

Step 2: Selecting a Location

Alex selects "West US" for optimal compliance and performance.

Action: Configures the resource location to "West US".

Step 3: Unified Service

To simplify key management, Alex chooses "Cognitive Services" as the kind.

Action: Sets the kind to "Cognitive Services".

Step 4: Choosing the SKU

Alex selects the "S0" SKU to balance performance and cost.

Action: Configures the SKU as "S0".

Step 5: Setting Up the Endpoint

Alex configures the endpoint to access the AI capabilities using a unified API.

Action: Ensures the endpoint is correctly set for API access.

Following this approach, Alex creates a resource that supports existing needs and can accommodate future requirements with ease.

Use Case: Real-World Application

Scenario

A finance company aims to automate sentiment analysis of customer feedback and digitize paper-based documents into a searchable format.

Solution

  1. Setting Up Cognitive Services Resource

    • Utilize Azure Cognitive Services to handle both sentiment analysis and OCR, managing everything through a single resource.
  2. Implementation Steps

    • Configure the resource using a PUT request with appropriate parameters in JSON format.
    • Use the configured endpoint and key to access the services.

Practical Commands and Azure Portal References

Setting Up the Resource in Azure Portal:

  1. Go to the Azure Portal.
  2. Navigate to "Create a resource" and search for "Cognitive Services".
  3. Complete the required fields:
    • Location: West US
    • Kind: Cognitive Services
    • SKU: S0

HTTP Request to Create/Update Resource:


PUT https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/RG1/providers/Microsoft.CognitiveServices/accounts/CSI1?api-version=2017-04-18 Content-Type: application/json { "location": "West US", "kind": "CognitiveServices", "sku": { "name": "S0" }, "properties": {}, "identity": { "type": "SystemAssigned" } }

Python Example to Access OCR and Sentiment Analysis:

import requests # Set endpoints and keys ocr_endpoint = "https://<your-resource-name>.cognitiveservices.azure.com/" sentiment_endpoint = "https://<your-resource-name>.cognitiveservices.azure.com/" api_key = "<your-api-key>" # OCR request ocr_url = f"{ocr_endpoint}/vision/v3.0/ocr" headers = {"Ocp-Apim-Subscription-Key": api_key} image_url = "https://example.com/receipt.jpg" data = {"url": image_url} response = requests.post(ocr_url, headers=headers, json=data) print(response.json()) # Sentiment Analysis request sentiment_url = f"{sentiment_endpoint}/text/analytics/v3.0/sentiment" documents = {"documents": [{"id": "1", "text": "The food was great!", "language": "en"}]} response = requests.post(sentiment_url, headers=headers, json=documents) print(response.json())

Conclusion

Creating a unified Azure Cognitive Services resource for sentiment analysis and OCR with the PUT method simplifies management, consolidates billing, and supports future scalability. By following best practices and using practical commands, you ensure a robust and efficient AI integration into your applications, enhancing productivity and reducing manual effort.

Feel free to reach out if you have any questions or need further clarification on any of the steps. Happy building!


No comments: