{"id":"f3fc70f9-c36f-40bc-8730-ccdf85b378ae","shortId":"svwSFF","kind":"skill","title":"azure-storage-file-share-py","tagline":"Azure Storage File Share SDK for Python. Use for SMB file shares, directories, and file operations in the cloud.","description":"# Azure Storage File Share SDK for Python\n\nManage SMB file shares for cloud-native and lift-and-shift scenarios.\n\n## Installation\n\n```bash\npip install azure-storage-file-share\n```\n\n## Environment Variables\n\n```bash\nAZURE_STORAGE_CONNECTION_STRING=DefaultEndpointsProtocol=https;AccountName=...;AccountKey=...\n# Or\nAZURE_STORAGE_ACCOUNT_URL=https://<account>.file.core.windows.net\n```\n\n## Authentication\n\n### Connection String\n\n```python\nfrom azure.storage.fileshare import ShareServiceClient\n\nservice = ShareServiceClient.from_connection_string(\n    os.environ[\"AZURE_STORAGE_CONNECTION_STRING\"]\n)\n```\n\n### Entra ID\n\n```python\nfrom azure.storage.fileshare import ShareServiceClient\nfrom azure.identity import DefaultAzureCredential\n\nservice = ShareServiceClient(\n    account_url=os.environ[\"AZURE_STORAGE_ACCOUNT_URL\"],\n    credential=DefaultAzureCredential()\n)\n```\n\n## Share Operations\n\n### Create Share\n\n```python\nshare = service.create_share(\"my-share\")\n```\n\n### List Shares\n\n```python\nfor share in service.list_shares():\n    print(f\"{share.name}: {share.quota} GB\")\n```\n\n### Get Share Client\n\n```python\nshare_client = service.get_share_client(\"my-share\")\n```\n\n### Delete Share\n\n```python\nservice.delete_share(\"my-share\")\n```\n\n## Directory Operations\n\n### Create Directory\n\n```python\nshare_client = service.get_share_client(\"my-share\")\nshare_client.create_directory(\"my-directory\")\n\n# Nested directory\nshare_client.create_directory(\"my-directory/sub-directory\")\n```\n\n### List Directories and Files\n\n```python\ndirectory_client = share_client.get_directory_client(\"my-directory\")\n\nfor item in directory_client.list_directories_and_files():\n    if item[\"is_directory\"]:\n        print(f\"[DIR] {item['name']}\")\n    else:\n        print(f\"[FILE] {item['name']} ({item['size']} bytes)\")\n```\n\n### Delete Directory\n\n```python\nshare_client.delete_directory(\"my-directory\")\n```\n\n## File Operations\n\n### Upload File\n\n```python\nfile_client = share_client.get_file_client(\"my-directory/file.txt\")\n\n# From string\nfile_client.upload_file(\"Hello, World!\")\n\n# From file\nwith open(\"local-file.txt\", \"rb\") as f:\n    file_client.upload_file(f)\n\n# From bytes\nfile_client.upload_file(b\"Binary content\")\n```\n\n### Download File\n\n```python\nfile_client = share_client.get_file_client(\"my-directory/file.txt\")\n\n# To bytes\ndata = file_client.download_file().readall()\n\n# To file\nwith open(\"downloaded.txt\", \"wb\") as f:\n    data = file_client.download_file()\n    data.readinto(f)\n\n# Stream chunks\ndownload = file_client.download_file()\nfor chunk in download.chunks():\n    process(chunk)\n```\n\n### Get File Properties\n\n```python\nproperties = file_client.get_file_properties()\nprint(f\"Size: {properties.size}\")\nprint(f\"Content type: {properties.content_settings.content_type}\")\nprint(f\"Last modified: {properties.last_modified}\")\n```\n\n### Delete File\n\n```python\nfile_client.delete_file()\n```\n\n### Copy File\n\n```python\nsource_url = \"https://account.file.core.windows.net/share/source.txt\"\ndest_client = share_client.get_file_client(\"destination.txt\")\ndest_client.start_copy_from_url(source_url)\n```\n\n## Range Operations\n\n### Upload Range\n\n```python\n# Upload to specific range\nfile_client.upload_range(data=b\"content\", offset=0, length=7)\n```\n\n### Download Range\n\n```python\n# Download specific range\ndownload = file_client.download_file(offset=0, length=100)\ndata = download.readall()\n```\n\n## Snapshot Operations\n\n### Create Snapshot\n\n```python\nsnapshot = share_client.create_snapshot()\nprint(f\"Snapshot: {snapshot['snapshot']}\")\n```\n\n### Access Snapshot\n\n```python\nsnapshot_client = service.get_share_client(\n    \"my-share\",\n    snapshot=snapshot[\"snapshot\"]\n)\n```\n\n## Async Client\n\n```python\nfrom azure.storage.fileshare.aio import ShareServiceClient\nfrom azure.identity.aio import DefaultAzureCredential\n\nasync def upload_file():\n    credential = DefaultAzureCredential()\n    service = ShareServiceClient(account_url, credential=credential)\n    \n    share = service.get_share_client(\"my-share\")\n    file_client = share.get_file_client(\"test.txt\")\n    \n    await file_client.upload_file(\"Hello!\")\n    \n    await service.close()\n    await credential.close()\n```\n\n## Client Types\n\n| Client | Purpose |\n|--------|---------|\n| `ShareServiceClient` | Account-level operations |\n| `ShareClient` | Share operations |\n| `ShareDirectoryClient` | Directory operations |\n| `ShareFileClient` | File operations |\n\n## Best Practices\n\n1. **Use connection string** for simplest setup\n2. **Use Entra ID** for production with RBAC\n3. **Stream large files** using chunks() to avoid memory issues\n4. **Create snapshots** before major changes\n5. **Set quotas** to prevent unexpected storage costs\n6. **Use ranges** for partial file updates\n7. **Close async clients** explicitly\n\n## When to Use\nThis skill is applicable to execute the workflow or actions described in the overview.\n\n## Limitations\n- Use this skill only when the task clearly matches the scope described above.\n- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.\n- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.","tags":["azure","storage","file","share","antigravity","awesome","skills","sickn33","agent-skills","agentic-skills","ai-agent-skills","ai-agents"],"capabilities":["skill","source-sickn33","skill-azure-storage-file-share-py","topic-agent-skills","topic-agentic-skills","topic-ai-agent-skills","topic-ai-agents","topic-ai-coding","topic-ai-workflows","topic-antigravity","topic-antigravity-skills","topic-claude-code","topic-claude-code-skills","topic-codex-cli","topic-codex-skills"],"categories":["antigravity-awesome-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/sickn33/antigravity-awesome-skills/azure-storage-file-share-py","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add sickn33/antigravity-awesome-skills","source_repo":"https://github.com/sickn33/antigravity-awesome-skills","install_from":"skills.sh"}},"qualityScore":"0.700","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 34928 github stars · SKILL.md body (5,147 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-24T18:50:34.532Z","embedding":null,"createdAt":"2026-04-18T21:33:14.212Z","updatedAt":"2026-04-24T18:50:34.532Z","lastSeenAt":"2026-04-24T18:50:34.532Z","tsv":"'/file.txt':241,277 '/share/source.txt':344 '/sub-directory':181 '0':372,385 '1':481 '100':387 '2':488 '3':496 '4':506 '5':512 '6':520 '7':374,527 'access':403 'account':70,103,108,436,467 'account-level':466 'account.file.core.windows.net':343 'account.file.core.windows.net/share/source.txt':342 'accountkey':66 'accountnam':65 'action':544 'applic':538 'ask':582 'async':417,428,529 'authent':73 'avoid':503 'await':453,457,459 'azur':2,7,26,52,59,68,86,106 'azure-storage-file-shar':51 'azure-storage-file-share-pi':1 'azure.identity':98 'azure.identity.aio':425 'azure.storage.fileshare':78,94 'azure.storage.fileshare.aio':421 'b':263,369 'bash':48,58 'best':479 'binari':264 'boundari':590 'byte':219,260,279 'chang':511 'chunk':298,303,307,501 'clarif':584 'clear':557 'client':138,141,144,162,165,188,191,234,237,270,273,346,349,407,410,418,443,448,451,461,463,530 'close':528 'cloud':25,39 'cloud-nat':38 'connect':61,74,83,88,483 'content':265,322,370 'copi':337,352 'cost':519 'creat':114,158,392,507 'credenti':110,432,438,439 'credential.close':460 'criteria':593 'data':280,292,368,388 'data.readinto':295 'def':429 'defaultazurecredenti':100,111,427,433 'defaultendpointsprotocol':63 'delet':148,220,332 'describ':545,561 'dest':345 'dest_client.start':351 'destination.txt':350 'dir':208 'directori':19,156,159,170,173,175,177,180,183,187,190,194,199,205,221,224,227,240,276,474 'directory_client.list':198 'download':266,299,375,378,381 'download.chunks':305 'download.readall':389 'downloaded.txt':288 'els':211 'entra':90,490 'environ':56,573 'environment-specif':572 'execut':540 'expert':578 'explicit':531 'f':132,207,213,255,258,291,296,317,321,327,399 'file':4,9,17,21,28,35,54,185,201,214,228,231,233,236,245,249,257,262,267,269,272,282,285,294,301,309,314,333,336,338,348,383,431,447,450,455,477,499,525 'file.core.windows.net':72 'file_client.delete':335 'file_client.download':281,293,300,382 'file_client.get':313 'file_client.upload':244,256,261,366,454 'gb':135 'get':136,308 'hello':246,456 'https':64 'id':91,491 'import':79,95,99,422,426 'input':587 'instal':47,50 'issu':505 'item':196,203,209,215,217 'larg':498 'last':328 'length':373,386 'level':468 'lift':43 'lift-and-shift':42 'limit':549 'list':123,182 'local-file.txt':252 'major':510 'manag':33 'match':558 'memori':504 'miss':595 'modifi':329,331 'my-directori':171,178,192,225,238,274 'my-shar':120,145,153,166,411,444 'name':210,216 'nativ':40 'nest':174 'offset':371,384 'open':251,287 'oper':22,113,157,229,358,391,469,472,475,478 'os.environ':85,105 'output':567 'overview':548 'partial':524 'permiss':588 'pip':49 'practic':480 'prevent':516 'print':131,206,212,316,320,326,398 'process':306 'product':493 'properti':310,312,315 'properties.content_settings.content':324 'properties.last':330 'properties.size':319 'purpos':464 'py':6 'python':13,32,76,92,116,125,139,150,160,186,222,232,268,311,334,339,361,377,394,405,419 'quota':514 'rang':357,360,365,367,376,380,522 'rb':253 'rbac':495 'readal':283 'requir':586 'review':579 'safeti':589 'scenario':46 'scope':560 'sdk':11,30 'servic':81,101,434 'service.close':458 'service.create':118 'service.delete':151 'service.get':142,163,408,441 'service.list':129 'set':513 'setup':487 'share':5,10,18,29,36,55,112,115,117,119,122,124,127,130,137,140,143,147,149,152,155,161,164,168,409,413,440,442,446,471 'share.get':449 'share.name':133 'share.quota':134 'share_client.create':169,176,396 'share_client.delete':223 'share_client.get':189,235,271,347 'sharecli':470 'sharedirectorycli':473 'sharefilecli':476 'shareservicecli':80,96,102,423,435,465 'shareserviceclient.from':82 'shift':45 'simplest':486 'size':218,318 'skill':536,552 'skill-azure-storage-file-share-py' 'smb':16,34 'snapshot':390,393,395,397,400,401,402,404,406,414,415,416,508 'sourc':340,355 'source-sickn33' 'specif':364,379,574 'stop':580 'storag':3,8,27,53,60,69,87,107,518 'stream':297,497 'string':62,75,84,89,243,484 'substitut':570 'success':592 'task':556 'test':576 'test.txt':452 'topic-agent-skills' 'topic-agentic-skills' 'topic-ai-agent-skills' 'topic-ai-agents' 'topic-ai-coding' 'topic-ai-workflows' 'topic-antigravity' 'topic-antigravity-skills' 'topic-claude-code' 'topic-claude-code-skills' 'topic-codex-cli' 'topic-codex-skills' 'treat':565 'type':323,325,462 'unexpect':517 'updat':526 'upload':230,359,362,430 'url':71,104,109,341,354,356,437 'use':14,482,489,500,521,534,550 'valid':575 'variabl':57 'wb':289 'workflow':542 'world':247","prices":[{"id":"cad0a7c2-f235-436e-869a-f0c567a2bc59","listingId":"f3fc70f9-c36f-40bc-8730-ccdf85b378ae","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"sickn33","category":"antigravity-awesome-skills","install_from":"skills.sh"},"createdAt":"2026-04-18T21:33:14.212Z"}],"sources":[{"listingId":"f3fc70f9-c36f-40bc-8730-ccdf85b378ae","source":"github","sourceId":"sickn33/antigravity-awesome-skills/azure-storage-file-share-py","sourceUrl":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/azure-storage-file-share-py","isPrimary":false,"firstSeenAt":"2026-04-18T21:33:14.212Z","lastSeenAt":"2026-04-24T18:50:34.532Z"}],"details":{"listingId":"f3fc70f9-c36f-40bc-8730-ccdf85b378ae","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"sickn33","slug":"azure-storage-file-share-py","github":{"repo":"sickn33/antigravity-awesome-skills","stars":34928,"topics":["agent-skills","agentic-skills","ai-agent-skills","ai-agents","ai-coding","ai-workflows","antigravity","antigravity-skills","claude-code","claude-code-skills","codex-cli","codex-skills","cursor","cursor-skills","developer-tools","gemini-cli","gemini-skills","kiro","mcp","skill-library"],"license":"mit","html_url":"https://github.com/sickn33/antigravity-awesome-skills","pushed_at":"2026-04-24T06:41:17Z","description":"Installable GitHub library of 1,400+ agentic skills for Claude Code, Cursor, Codex CLI, Gemini CLI, Antigravity, and more. Includes installer CLI, bundles, workflows, and official/community skill collections.","skill_md_sha":"da7e2c21a7fdc7ba1aef7b7970ec9ca28c2e8c97","skill_md_path":"skills/azure-storage-file-share-py/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/azure-storage-file-share-py"},"layout":"multi","source":"github","category":"antigravity-awesome-skills","frontmatter":{"name":"azure-storage-file-share-py","description":"Azure Storage File Share SDK for Python. Use for SMB file shares, directories, and file operations in the cloud."},"skills_sh_url":"https://skills.sh/sickn33/antigravity-awesome-skills/azure-storage-file-share-py"},"updatedAt":"2026-04-24T18:50:34.532Z"}}