{"id":20463204,"url":"https://github.com/devwithkrishna/python-storage-containers","last_synced_at":"2025-10-09T22:11:22.849Z","repository":{"id":211755369,"uuid":"729782061","full_name":"devwithkrishna/python-storage-containers","owner":"devwithkrishna","description":"azure storage blob modifications using python sdk and create workflow","archived":false,"fork":false,"pushed_at":"2024-12-05T06:02:24.000Z","size":100,"stargazers_count":1,"open_issues_count":4,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-17T01:02:09.421Z","etag":null,"topics":["azure-sdk-for-python","azure-storage-acount","blob","github-workflow","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/devwithkrishna.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":"2023-12-10T10:48:16.000Z","updated_at":"2024-09-10T16:03:47.000Z","dependencies_parsed_at":"2024-05-18T11:31:13.299Z","dependency_job_id":"e8fd70f9-5b25-439b-a095-b1b91ad443bd","html_url":"https://github.com/devwithkrishna/python-storage-containers","commit_stats":null,"previous_names":["devwithkrishna/python-storage-blob","devwithkrishna/python-storage-containers"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/devwithkrishna/python-storage-containers","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devwithkrishna%2Fpython-storage-containers","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devwithkrishna%2Fpython-storage-containers/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devwithkrishna%2Fpython-storage-containers/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devwithkrishna%2Fpython-storage-containers/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/devwithkrishna","download_url":"https://codeload.github.com/devwithkrishna/python-storage-containers/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devwithkrishna%2Fpython-storage-containers/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279002126,"owners_count":26083307,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-09T02:00:07.460Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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-sdk-for-python","azure-storage-acount","blob","github-workflow","python"],"created_at":"2024-11-15T13:09:53.842Z","updated_at":"2025-10-09T22:11:22.813Z","avatar_url":"https://github.com/devwithkrishna.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# python-storage-blob\n\nazure storage container modifications using python sdk and create workflow\n\n## Pre requesites\n\n * this program expects the storage account access key to be configured as a secret in kv\n    - This is a best practice to not hardcode any sensitive values into public repositories and\n      leverage key vault.\n\n## What does the code do?\n\n* It can create container in storage account\n* it can delete a container from storage account\n* It can create a SAS token for an expiry time using SP credentials\n* it can recover a deleted container (soft delete enabled on storage account) from name\n* it can recover all deleted containers in storage account\n* it can list all containers and last modified date\n* it can copy contents of a container to another (blob contents alone)\n\n\n## What is the new features to be added? \n\n* * --\u003e this will be done in a seperate repo for blob operations \n\n* Uploading a blobs / directory\n* deleting blobs / directory inside container\n* Listing blobs / directory inside container \n* Downloading blobs / directory\n* Copying blobs / directory\n\n## Parameters\n\n| parameter name| positional params| optional params | description                                                                                                   |\n|---------------|------------------|-----------------|---------------------------------------------------------------------------------------------------------------|\n|storage_account| yes              | no              | storage account we are dealing with                                                                           |\n|time_limit_of_sas_token| yes      | no              | time limit for SAS token to be alive in hours                                                                 |\n|keyvault_name |       yes         | no              | keyvault in which storage account key is stored as a secret                                                   |\n|secret_name   | yes               | no              | secret name of storage account access key in key vault                                                        |\n|container_name| no                | yes             | used for creating / deleting a container/ recovering a deleted container                                      |\n|action        |  yes             | no              | create_container / delete_container / list_containers / recover_container / recover_all_deleted_containers / copy_data_from_one_container_to_another |\n\n\n## How to run the code\n\n    - Program is still in development, will add later\n\n   ```\n   pipenv run python3 storage_containers.py --keyvault_name architects-keyvault \\\n                                            --secret_name ARM-ACCESS-KEY \\\n                                            --time_limit_of_sas_token 0.5 \\\n                                            --storage_account techarchitectssa \\\n                                            --container_name test2 \\\n                                            --action recover_all_deleted_containers \n                                                                  \n   ```\n\n   ```\n    pipenv run python3 storage_containers.py --keyvault_name \u003ckeyvault name\u003e --secret_name \u003csecret name\u003e --time_limit_of_sas_token \u003cSAS token validity time\u003e --storage_account \u003cstorage account name\u003e --container_name \u003ccontainer name\u003e --action \u003caction\u003e \n   ```\n\n\n### Jira ticket associated\n\n[jira story - DEVOPS-16](https://devwithkrishna.atlassian.net/jira/software/projects/DEVOPS/boards/1?selectedIssue=DEVOPS-16)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevwithkrishna%2Fpython-storage-containers","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdevwithkrishna%2Fpython-storage-containers","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevwithkrishna%2Fpython-storage-containers/lists"}