{"id":18687927,"url":"https://github.com/tenmax/azurekit","last_synced_at":"2026-03-04T10:02:14.953Z","repository":{"id":134627454,"uuid":"56413314","full_name":"tenmax/azurekit","owner":"tenmax","description":"azurekit is a CLI toolkit to interact with microsoft azure blob storage. ","archived":false,"fork":false,"pushed_at":"2020-04-27T10:33:42.000Z","size":190,"stargazers_count":8,"open_issues_count":1,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-12T05:35:26.449Z","etag":null,"topics":["azure-storage-blob","cli-toolkit"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tenmax.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-04-17T01:23:04.000Z","updated_at":"2022-09-19T09:47:12.000Z","dependencies_parsed_at":null,"dependency_job_id":"2f9f3610-e8ff-4a49-aad2-8a429566ca6d","html_url":"https://github.com/tenmax/azurekit","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/tenmax/azurekit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tenmax%2Fazurekit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tenmax%2Fazurekit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tenmax%2Fazurekit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tenmax%2Fazurekit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tenmax","download_url":"https://codeload.github.com/tenmax/azurekit/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tenmax%2Fazurekit/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30078307,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-04T08:01:56.766Z","status":"ssl_error","status_checked_at":"2026-03-04T08:00:42.919Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["azure-storage-blob","cli-toolkit"],"created_at":"2024-11-07T10:34:58.341Z","updated_at":"2026-03-04T10:02:14.934Z","avatar_url":"https://github.com/tenmax.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AzureKit\n*azurekit* is a CLI toolkit to interact with [microsoft azure blob storage](https://azure.microsoft.com/en-us/documentation/articles/storage-introduction/#blob-storage). There are several commands included.\n\n1. [azruecat](#azurecat) - Output a blob content to stdout.\n2. [azuresink](#azuresink) - Pipe stdin to a azure storage blob.\n3. [azuresas](#azuresas) - Generate the Shared-Access-Signature to stdout.\n4. [azuretbl2csv](#azuretable2csv-and-azuretable2json) - Dump azure table as csv file.\n5. [azuretbl2json](#azuretable2csv-and-azuretable2json) - Dump azure table as json file.\n\n\n# Requirement\nJava 8\n\n# Getting Start\n\n1. First, you must prepare your [Connection String](https://azure.microsoft.com/en-us/documentation/articles/storage-configure-connection-string/) for your storage account. The format is\n\n\t```bash\n\tDefaultEndpointsProtocol=[http|https];AccountName=myAccountName;AccountKey=myAccountKey\n\t```\n\n2. Download from [release](https://github.com/tenmax/azurekit/releases).\n\n3. Run the commands.\n\n## AzureCat\n\nUsage\n\n1. Print a resource\n\n\t```bash\n\tazurecat https://\u003caccount-name\u003e.blob.core.windows.net/\u003ccontainer-name\u003e/\u003cblob-path\u003e\n\t```\n\n2. Concatenate and print the resources with prefix\n\n\t```bash\n\tazurecat --prefix https://\u003caccount-name\u003e.blob.core.windows.net/\u003ccontainer-name\u003e/\u003cblob-prefix\u003e\n\t```\n3. Concatenate and print the resources with prefix and the resource should match the postfix\n\n\t```bash\n\tazurecat --prefix --postfix csv https://\u003caccount-name\u003e.blob.core.windows.net/\u003ccontainer-name\u003e/\u003cblob-prefix\u003e\n\t```\n\n4. Decode the resource by gzip compression format.\n\n\t```bash\n\tazurecat -z --prefix --postfix gz https://\u003caccount-name\u003e.blob.core.windows.net/\u003ccontainer-name\u003e/\u003cblob-prefix\u003e\n\t```\n\nThe full help for `azurecat`\n\n```\nusage: azurecat [-c \u003cconnection-string\u003e] \u003cblob-uri\u003e\n -b \u003carg\u003e                Set the read buffer size in KBytes\n -c \u003carg\u003e                The connection string\n -h                      The help information\n    --postfix \u003cstring\u003e   keep only the blob which has the path with the\n                         specified postfix. The postfix only be used while\n                         prefix is used.\n    --prefix             cat all the blobs with the prefix\n -v                      The version\n -z                      The gzip format\n```\n\n\n## AzureSink\n\nUsage\n\n1. Upload the content 'helloword' to the given path\n\n```bash\necho 'helloworld' | azuresink -c \u003cconnection-string\u003e http://\u003caccount-name\u003e.blob.core.windows.net/\u003ccontainer-name\u003e/\u003cblob-path\u003e\n```\n\nThe full help for `azuresink`\n\n```\nusage: azuresink [-c \u003cconnection-string\u003e] \u003cblob-uri\u003e\n -c \u003carg\u003e   The connection string\n -f         Force upload even the blob exists\n -h         The help information\n -v         The version\n```\n\n\n## AzureSAS\n\nUsage\n\n1. Get the SAS url with 1 day expiration duration.\n\n```bash\nazuresas -c \u003cconnection-string\u003e http://\u003caccount-name\u003e.blob.core.windows.net/\u003ccontainer-name\u003e/\u003cblob-path\u003e\n```\n\nThe full help for `azuresas`\n\n```\nusage: azuresas [-c \u003cconnection-string\u003e] -e \u003cseconds\u003e \u003cblob-uri\u003e\n -c \u003carg\u003e   The connection string\n -e \u003carg\u003e   The seconds to expired. (default=86400s)\n -h         The help information\n -v         The version\n```\n\n## AzureTable2CSV and AzureTable2JSON\n\nUsage\n\n1. Dump a table\n\n\t```bash\n\tazuretbl2csv -c \u003cconnection-string\u003e https://\u003caccount-name\u003e.table.core.windows.net/\u003ctable-name\u003e\n\tazuretbl2json -c \u003cconnection-string\u003e https://\u003caccount-name\u003e.table.core.windows.net/\u003ctable-name\u003e\n\t```\n\n2. Select some columns\n\n\t```bash\n\tazuretbl2json -C \"column1,column2\" https://\u003caccount-name\u003e.table.core.windows.net/\u003ctable-name\u003e\n\t```\n3. Apply filter\n\n\t```bash\n\tazuretbl2json -f \"(PartitionKey eq 'pk1' and RowKey eq 'rk1')\" https://\u003caccount-name\u003e.table.core.windows.net/\u003ctable-name\u003e\n\t```\n\nThe full help for `azuretbl2json` \n\n```\nusage: azuretbl2json [-c \u003cconnection-string\u003e] \u003ctable-url\u003e\n -c \u003carg\u003e             The connection string\n -C \u003carg\u003e             The selected columns\n -f \u003carg\u003e             The filter string\n -H,--no-header-row   Do not output column names.\n -t \u003carg\u003e             The take count. Default=1000\n```\n\n\n# Configuration File\n\nYou can put your connection strings at `~/.azure/storagekeys` line by line\n\nHere is the example.\n\n```\nDefaultEndpointsProtocol=https;AccountName=myAccountName1;AccountKey=myAccountKey1\nDefaultEndpointsProtocol=https;AccountName=myAccountName2;AccountKey=myAccountKey2\n```\n\nthen, you can use the resource directly without connection string specified.\n\n```bash\necho 'helloworld' | azurecat https://\u003caccount-name\u003e.blob.core.windows.net/\u003ccontainer-name\u003e/\u003cblob-path\u003e\n```\n\n# Installation\n\n## Mac\n\nInstall azurekit via [Homebrew](http://brew.sh/).\n\n```bash\nbrew tap tenmax/tap\nbrew update\nbrew install azurekit\n```\n\nUpgrade azurekit\n\n```bash\nbrew update\nbrew upgrade azurekit\n```\n\n## Docker\n\nRun azurekit via [Docker](https://hub.docker.com/r/tenmax/azurekit).\n\n```bash\n docker run --rm -it tenmax/azurekit\n ```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftenmax%2Fazurekit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftenmax%2Fazurekit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftenmax%2Fazurekit/lists"}