PageSourceSearch

https://php-oss-for-azure.github.io/assets/js/7d9bc116.05b636ec.js

js php-oss-for-azure.github.io collected 2026-10-03 09:46:23 UTC 4,602 bytes, 1 lines download raw bytes

1"use strict";(globalThis.webpackChunkphp_oss_for_azure=globalThis.webpackChunkphp_oss_for_azure||[]).push([[5558],{9336(e,t,s){s.r(t),s.d(t,{assets:()=>i,contentTitle:()=>a,default:()=>u,frontMatter:()=>r,metadata:()=>n,toc:()=>c});const n=JSON.parse('{"id":"storage-blob-flysystem-bundle/installation","title":"Installation","description":"azure-oss/storage-blob-flysystem-bundle connects the Azure Blob Storage Flysystem adapter to league/flysystem-bundle. It registers an azure_oss adapter so that Azure Blob Storage filesystems can be declared in config/packages/flysystem.yaml.","source":"@site/docs/5-storage-blob-flysystem-bundle/1-installation.md","sourceDirName":"5-storage-blob-flysystem-bundle","slug":"/storage-blob-flysystem-bundle/installation","permalink":"/storage-blob-flysystem-bundle/installation","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"sidebar_position":1,"title":"Installation"},"sidebar":"tutorialSidebar","previous":{"title":"Storage Blob Flysystem Bundle (Symfony)","permalink":"/category/storage-blob-flysystem-bundle-symfony"},"next":{"title":"Quickstart","permalink":"/storage-blob-flysystem-bundle/quickstart"}}');var l=s(4848),o=s(8453);const r={sidebar_position:1,title:"Installation"},a=void 0,i={},c=[{value:"Requirements",id:"requirements",level:2},{value:"Install With Composer",id:"install-with-composer",level:2},{value:"Authentication",id:"authentication",level:2},{value:"Next Step",id:"next-step",level:2}];function d(e){const t={a:"a",code:"code",h2:"h2",li:"li",p:"p",pre:"pre",ul:"ul",...(0,o.R)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)(t.p,{children:[(0,l.jsx)(t.code,{children:"azure-oss/storage-blob-flysystem-bundle"})," connects the Azure Blob Storage Flysystem adapter to ",(0,l.jsx)(t.a,{href:"https://github.com/thephpleague/flysystem-bundle",children:(0,l.jsx)(t.code,{children:"league/flysystem-bundle"})}),". It registers an ",(0,l.jsx)(t.code,{children:"azure_oss"})," adapter so that Azure Blob Storage filesystems can be declared in ",(0,l.jsx)(t.code,{children:"config/packages/flysystem.yaml"}),"."]}),"\n",(0,l.jsx)(t.h2,{id:"requirements",children:"Requirements"}),"\n",(0,l.jsxs)(t.ul,{children:["\n",(0,l.jsx)(t.li,{children:"PHP 8.2+"}),"\n",(0,l.jsxs)(t.li,{children:[(0,l.jsx)(t.code,{children:"league/flysystem-bundle"})," 3.7 or newer"]}),"\n"]}),"\n",(0,l.jsx)(t.p,{children:"Version 3.7 introduced the pluggable adapter definition builder used by this bundle."}),"\n",(0,l.jsx)(t.h2,{id:"install-with-composer",children:"Install With Composer"}),"\n",(0,l.jsx)(t.pre,{children:(0,l.jsx)(t.code,{className:"language-bash",children:"composer require azure-oss/storage-blob-flysystem-bundle\n"})}),"\n",(0,l.jsxs)(t.p,{children:["Symfony Flex normally registers the bundle automatically. Without Flex, add it to ",(0,l.jsx)(t.code,{children:"config/bundles.php"}),":"]}),"\n",(0,l.jsx)(t.pre,{children:(0,l.jsx)(t.code,{className:"language-php",children:"<?php\n\nreturn [\n    // ...\n    AzureOss\\Storage\\BlobFlysystemBundle\\AzureStorageBlobFlysystemBundle::class => ['all' => true],\n];\n"})}),"\n",(0,l.jsx)(t.h2,{id:"authentication",children:"Authentication"}),"\n",(0,l.jsxs)(t.p,{children:["Authentication is provided by the ",(0,l.jsx)(t.code,{children:"BlobServiceClient"})," service referenced in the Flysystem configuration. You can construct that client with a connection string, SAS token, Microsoft Entra ID, managed identity, or workload identity."]}),"\n",(0,l.jsxs)(t.p,{children:["See the Blob SDK guides for ",(0,l.jsx)(t.a,{href:"/storage-blob/authorize/entra",children:"Microsoft Entra ID"}),", ",(0,l.jsx)(t.a,{href:"/storage-blob/authorize/sas-tokens",children:"SAS tokens"}),", and ",(0,l.jsx)(t.a,{href:"/storage-blob/authorize/access-key",children:"access keys"}),"."]}),"\n",(0,l.jsx)(t.h2,{id:"next-step",children:"Next Step"}),"\n",(0,l.jsxs)(t.p,{children:["Continue to ",(0,l.jsx)(t.a,{href:"./quickstart",children:"Quickstart"})," to configure a Blob service client and a Flysystem storage."]})]})}function u(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,l.jsx)(t,{...e,children:(0,l.jsx)(d,{...e})}):d(e)}},8453(e,t,s){s.d(t,{R:()=>r,x:()=>a});var n=s(6540);const l={},o=n.createContext(l);function r(e){const t=n.useContext(o);return n.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:r(e.components),n.createElement(o.Provider,{value:t},e.children)}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.