mirror of
https://github.com/Portabase/portabase.git
synced 2026-07-14 11:16:13 +02:00
51 lines
2.0 KiB
Bash
Executable File
51 lines
2.0 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
#
|
|
# azurite-list.sh — enumerate every container and blob in a local Azurite emulator.
|
|
#
|
|
# Usage:
|
|
# ./azurite-list.sh # list containers + blobs
|
|
# ./azurite-list.sh -v # also print blob size, last-modified, content-type
|
|
#
|
|
|
|
set -euo pipefail
|
|
|
|
export AZURE_STORAGE_CONNECTION_STRING="DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;QueueEndpoint=http://127.0.0.1:10001/devstoreaccount1;TableEndpoint=http://127.0.0.1:10002/devstoreaccount1;"
|
|
|
|
VERBOSE=0
|
|
[[ "${1:-}" == "-v" || "${1:-}" == "--verbose" ]] && VERBOSE=1
|
|
|
|
command -v az >/dev/null 2>&1 || { echo "ERROR: 'az' CLI not found in PATH." >&2; exit 1; }
|
|
command -v jq >/dev/null 2>&1 || { echo "ERROR: 'jq' not found in PATH." >&2; exit 1; }
|
|
|
|
if ! az storage container list --num-results 1 >/dev/null 2>&1; then
|
|
echo "ERROR: Cannot reach Azurite at 127.0.0.1:10000. Is the container running?" >&2
|
|
echo " Start it with: docker start azurite" >&2
|
|
exit 1
|
|
fi
|
|
|
|
containers=$(az storage container list --query "[].name" -o tsv)
|
|
|
|
if [[ -z "$containers" ]]; then
|
|
echo "(no containers found in this emulator)"
|
|
exit 0
|
|
fi
|
|
|
|
while IFS= read -r container; do
|
|
echo "📦 container: $container"
|
|
|
|
if [[ "$VERBOSE" -eq 1 ]]; then
|
|
az storage blob list --container-name "$container" \
|
|
--query "[].{name:name, bytes:properties.contentLength, modified:properties.lastModified, type:properties.contentSettings.contentType}" \
|
|
-o json \
|
|
| jq -r '.[] | " • \(.name) [\(.bytes) bytes] \(.type // "?") \(.modified)"'
|
|
else
|
|
az storage blob list --container-name "$container" \
|
|
--query "[].{name:name, bytes:properties.contentLength}" \
|
|
-o json \
|
|
| jq -r '.[] | " • \(.name) [\(.bytes) bytes]"'
|
|
fi
|
|
|
|
count=$(az storage blob list --container-name "$container" --query "length(@)" -o tsv)
|
|
[[ "$count" -eq 0 ]] && echo " (empty)"
|
|
echo
|
|
done <<< "$containers" |