Optimizing Azure Table Storage: Automated Data Clean-up using a PowerShell script with Azure Automat
Scenario
This blog’s aim is to manage Table Storage data efficiently. Imagine you have a large Azure Table Storage that accumulates logs from various applications or any unused older data. Over time, this data grows significantly, making it necessary to periodically clean up old entries to maintain performance and manage costs. You decide to automate this process using Azure Automation. However, lifecycle management policies are limited to the Blob service only.
By scheduling a PowerShell script, you can efficiently delete outdated data from your Azure Table Storage without manual intervention. This approach ensures that your storage remains optimized, and your applications continue to run smoothly.
Below is the PowerShell script which delete Table Entities based on Timestamp: -
|
Connect-AzAccount -Identity $SubscriptionID = "xxxxxxxxxxxxxxxxxx" $StorageAccount = "xxxxxxxxxxxxxxxxxxx" foreach ($table in $alltablename) {
#DISCLAIMER |
Here are the steps to schedule a PowerShell script in Azure Automation :-
-
Create an Azure Automation Account by following the link:
-
Add Modules to Azure Automation Account:
- Navigate to the created automation account page.
- Go to the "Modules" tab under the "Shared Resources" section and choose the "Add a module" option.
- You can either manually import modules from your local machine or import inbuilt modules from the gallery.
- In this article, we will proceed with the gallery option.
- Search for the Storage Modules.
- Add the module with recommended Runtime version.
-
Create a PowerShell Runbook:
- In the Azure Portal, navigate to your Automation Account.
- Under "Process Automation", select "Runbooks".
- Click on "Create a runbook".
- Enter a name for the runbook, select "PowerShell" as the Runbook type, and click "Create".
- Once Runbook is created, in the "Edit PowerShell Runbook" page.
- Enter your PowerShell script and click "Publish".
-
Schedule the Runbook:
- Go to the respective Runbook and choose the "Link to schedule" option.
- Select the "Link a schedule to your Runbook" option and choose the appropriate schedule.
- If you go ahead wit Schedule option, you can create a new schedule by specifying the name, description, start date, time, time zone, and repeating information.
- Go to the respective Runbook and choose the "Link to schedule" option.
-
Monitor the Runbook:
- You can monitor the runbook's execution by going to the Jobs section under Process Automation in your Automation account.
- Here, you can see the status of the runbook jobs, view job details, and troubleshoot any issues.
These steps should help you schedule your PowerShell script in Azure Automation. If you have any more questions or need further assistance, feel free to ask!
References :-
Published on:
Learn moreRelated posts
Introducing Azure HorizonDB - PostgreSQL
Run enterprise Postgres workloads on Azure HorizonDB with around 3x the throughput of self-managed deployments — zone-resilient by default, no...
Azure DevOps and GitHub: Journeying into the AI Era
AI is changing how software gets planned, built, and reviewed. As teams adopt agentic development, the platform underneath those workflows mat...
Introducing azure-functions-skills: An AI-Era Workspace for Azure Functions (Preview)
azure-functions-skills gives GitHub Copilot CLI, Claude Code, Codex CLI, and VS Code the skills, MCP configuration, hooks, and instructions ne...
Announcing the Public Preview of Integrated Embeddings in Azure Cosmos DB: Build AI Apps With Embeddings That Stay in Sync
AI applications built on Azure Cosmos DB depend on embeddings for grounded results. Keeping them in sync with your data is the hard part: it m...
Introducing OmniVec: An Open-Source Embedding Platform for AI Apps on Azure
Today we are open-sourcing OmniVec, a platform for building and operating the embedding pipelines that keep the vector representation of your ...
Azure Cosmos DB All Versions and Deletes Change Feed Mode is Now Generally Available
Modern applications don’t just write data and move on. They react to it. A new order triggers an inventory update. A profile change sync...
Change Partition Keys in Azure Cosmos DB is Now Generally Available
We’re excited to announce the general availability of Change Partition Key in Azure Cosmos DB for NoSQL, now with online copy support. Y...
Announcing the General Availability of Per Partition Automatic Failover for Azure Cosmos DB NoSQL
Today, we are excited to announce the General Availability of Per Partition Automatic Failover (PPAF) for Azure Cosmos DB NoSQL API. PPAF is a...
Public Preview: AI-powered Azure Cosmos DB Migration Assistant for RDBMS to NoSQL
Today, we are excited to announce the public preview of the Azure Cosmos DB Migration Assistant for RDBMS to NoSQL, now available in the Azure...
Azure Cosmos DB MCP Toolkit Is Now Generally Available — Bringing Your Database to AI Agents at Scale
Since we introduced the Azure Cosmos DB MCP Toolkit at Ignite 2025 in preview, the response has been clear: developers want a straightforward ...