#!/bin/bash

# Delete blobs older than N days
CONTAINER_NAME="my-logs-container"
ACCOUNT_NAME="myaccount"
DAYS_OLD=30

# Calculate date threshold (requires GNU date)
DATE_THRESHOLD=$(date -d "-$DAYS_OLD days" +%Y-%m-%dT%H:%M:%SZ)

echo "Deleting blobs in $CONTAINER_NAME older than $DATE_THRESHOLD..."

# List blobs and filter by date (using JMESPath query is tricky for dates, so we iterate)
# Note: For large containers, Lifecycle Management policies are better. This is for ad-hoc cleanup.

az storage blob list \
    --account-name $ACCOUNT_NAME \
    --container-name $CONTAINER_NAME \
    --query "[?properties.creationTime < '$DATE_THRESHOLD'].name" \
    -o tsv | while read BLOB_NAME; do
    
    echo "Deleting $BLOB_NAME"
    az storage blob delete \
        --account-name $ACCOUNT_NAME \
        --container-name $CONTAINER_NAME \
        --name "$BLOB_NAME" --auth-mode login
done
