[{"data":1,"prerenderedAt":5687},["ShallowReactive",2],{"docs-meta-/docs/s3-quickstart":3,"content-query-EnXtkoOCyx":6,"markdown-page-nav:{\"path\":\"/docs\"}":5642,"content-navigation-Tlu2f2EPlD":5674},{"title":4,"description":5},"S3 Quickstart","Connect any S3 client to IronShard in a few minutes. Endpoint, signing, path-style addressing, Storage Policies, and working examples for the AWS CLI, Boto3, JavaScript, Go, Java, .NET, PHP, rclone, and s3cmd.",{"_path":7,"_dir":8,"_draft":9,"_partial":9,"_locale":10,"title":4,"description":5,"navigation":11,"body":14,"_type":5636,"_id":5637,"_source":5638,"_file":5639,"_stem":5640,"_extension":5641},"/docs/s3-quickstart","docs",false,"",{"group":12,"order":13},"Get Started",3,{"type":15,"children":16,"toc":5610},"root",[17,25,31,38,45,50,55,148,154,185,190,195,216,222,274,315,321,327,358,365,376,506,512,663,669,920,926,932,951,976,986,1604,1610,1630,1654,1664,2087,2107,2113,2132,2193,2203,3163,3169,3188,3368,3378,3971,3977,3995,4025,4035,4498,4504,4523,4548,4558,5052,5058,5063,5080,5090,5204,5209,5276,5281,5298,5319,5329,5442,5447,5492,5498,5504,5510,5515,5521,5573,5579,5604],{"type":18,"tag":19,"props":20,"children":22},"element","h1",{"id":21},"s3-quickstart",[23],{"type":24,"value":4},"text",{"type":18,"tag":26,"props":27,"children":28},"p",{},[29],{"type":24,"value":30},"Connect any S3 client to IronShard in a few minutes.",{"type":18,"tag":32,"props":33,"children":35},"h2",{"id":34},"getting-started",[36],{"type":24,"value":37},"Getting Started",{"type":18,"tag":39,"props":40,"children":42},"h3",{"id":41},"overview",[43],{"type":24,"value":44},"Overview",{"type":18,"tag":26,"props":46,"children":47},{},[48],{"type":24,"value":49},"IronShard speaks the Amazon S3 API. Any tool that talks to S3, including the AWS CLI, Boto3, the JavaScript, Go, Java, .NET, and PHP SDKs, rclone, and s3cmd, works against it with a changed endpoint and no client library of ours. What differs is underneath: every object is encrypted, erasure-coded into fragments, and distributed across the providers and locations you allow, so no single provider holds a complete object.",{"type":18,"tag":26,"props":51,"children":52},{},[53],{"type":24,"value":54},"Every client needs the same four settings:",{"type":18,"tag":56,"props":57,"children":58},"table",{},[59,78],{"type":18,"tag":60,"props":61,"children":62},"thead",{},[63],{"type":18,"tag":64,"props":65,"children":66},"tr",{},[67,73],{"type":18,"tag":68,"props":69,"children":70},"th",{},[71],{"type":24,"value":72},"Setting",{"type":18,"tag":68,"props":74,"children":75},{},[76],{"type":24,"value":77},"Value",{"type":18,"tag":79,"props":80,"children":81},"tbody",{},[82,101,122,135],{"type":18,"tag":64,"props":83,"children":84},{},[85,91],{"type":18,"tag":86,"props":87,"children":88},"td",{},[89],{"type":24,"value":90},"Endpoint",{"type":18,"tag":86,"props":92,"children":93},{},[94],{"type":18,"tag":95,"props":96,"children":98},"code",{"className":97},[],[99],{"type":24,"value":100},"https://s3.ironshard.ai",{"type":18,"tag":64,"props":102,"children":103},{},[104,109],{"type":18,"tag":86,"props":105,"children":106},{},[107],{"type":24,"value":108},"Signature",{"type":18,"tag":86,"props":110,"children":111},{},[112,114,120],{"type":24,"value":113},"AWS Signature Version 4 (",{"type":18,"tag":95,"props":115,"children":117},{"className":116},[],[118],{"type":24,"value":119},"s3v4",{"type":24,"value":121},")",{"type":18,"tag":64,"props":123,"children":124},{},[125,130],{"type":18,"tag":86,"props":126,"children":127},{},[128],{"type":24,"value":129},"Addressing",{"type":18,"tag":86,"props":131,"children":132},{},[133],{"type":24,"value":134},"Path-style bucket addressing (required)",{"type":18,"tag":64,"props":136,"children":137},{},[138,143],{"type":18,"tag":86,"props":139,"children":140},{},[141],{"type":24,"value":142},"Multipart size",{"type":18,"tag":86,"props":144,"children":145},{},[146],{"type":24,"value":147},"32 MB threshold and chunk size. Matches IronShard's internal chunk size and gives the fastest transfers",{"type":18,"tag":39,"props":149,"children":151},{"id":150},"_1-create-an-access-key",[152],{"type":24,"value":153},"1. Create an Access Key",{"type":18,"tag":26,"props":155,"children":156},{},[157,159,168,170,176,178,183],{"type":24,"value":158},"In the ",{"type":18,"tag":160,"props":161,"children":165},"a",{"href":162,"rel":163},"https://console.ironshard.ai",[164],"nofollow",[166],{"type":24,"value":167},"console",{"type":24,"value":169},", open ",{"type":18,"tag":171,"props":172,"children":173},"strong",{},[174],{"type":24,"value":175},"S3 Access Keys → New Key",{"type":24,"value":177},". When asked where the key can write, choose ",{"type":18,"tag":171,"props":179,"children":180},{},[181],{"type":24,"value":182},"A new bucket",{"type":24,"value":184}," if it will create buckets; the examples below do.",{"type":18,"tag":26,"props":186,"children":187},{},[188],{"type":24,"value":189},"The secret access key is shown once, when the key is created. Copy it into your secret manager before closing the dialog. A lost secret cannot be recovered; you create a replacement key and delete the old one.",{"type":18,"tag":26,"props":191,"children":192},{},[193],{"type":24,"value":194},"In the description, name the service or job that will use the key, not the person creating it. One key per consumer keeps request logs legible and lets you retire a single workload without rotating credentials everywhere else.",{"type":18,"tag":26,"props":196,"children":197},{},[198,200,206,208,214],{"type":24,"value":199},"The examples on this page use the placeholders ",{"type":18,"tag":95,"props":201,"children":203},{"className":202},[],[204],{"type":24,"value":205},"IRONSHARD_ACCESS_KEY",{"type":24,"value":207}," and ",{"type":18,"tag":95,"props":209,"children":211},{"className":210},[],[212],{"type":24,"value":213},"IRONSHARD_SECRET_KEY",{"type":24,"value":215},". Prefer environment variables or a secrets store over hard-coded keys.",{"type":18,"tag":39,"props":217,"children":219},{"id":218},"_2-pick-a-storage-policy",[220],{"type":24,"value":221},"2. Pick a Storage Policy",{"type":18,"tag":26,"props":223,"children":224},{},[225,227,232,234,240,242,248,250,256,258,264,266,272],{"type":24,"value":226},"Every bucket is created under a ",{"type":18,"tag":171,"props":228,"children":229},{},[230],{"type":24,"value":231},"Storage Policy",{"type":24,"value":233},", the rule set that decides which providers and locations hold its fragments. S3 clients have no storage-policy field, so IronShard reads the policy from the one field every S3 client already sends at bucket creation: the ",{"type":18,"tag":235,"props":236,"children":237},"em",{},[238],{"type":24,"value":239},"region",{"type":24,"value":241}," (",{"type":18,"tag":95,"props":243,"children":245},{"className":244},[],[246],{"type":24,"value":247},"--region",{"type":24,"value":249}," in the CLI, ",{"type":18,"tag":95,"props":251,"children":253},{"className":252},[],[254],{"type":24,"value":255},"LocationConstraint",{"type":24,"value":257}," in the SDKs, ",{"type":18,"tag":95,"props":259,"children":261},{"className":260},[],[262],{"type":24,"value":263},"bucket_location",{"type":24,"value":265}," in s3cmd, ",{"type":18,"tag":95,"props":267,"children":269},{"className":268},[],[270],{"type":24,"value":271},"location_constraint",{"type":24,"value":273}," in rclone).",{"type":18,"tag":26,"props":275,"children":276},{},[277,282,284,290,292,298,300,305,307,313],{"type":18,"tag":171,"props":278,"children":279},{},[280],{"type":24,"value":281},"Region = Storage Policy.",{"type":24,"value":283}," Wherever the examples below say ",{"type":18,"tag":95,"props":285,"children":287},{"className":286},[],[288],{"type":24,"value":289},"STORAGE_POLICY_NAME",{"type":24,"value":291},", substitute the name of a Storage Policy from your console. An empty region (",{"type":18,"tag":95,"props":293,"children":295},{"className":294},[],[296],{"type":24,"value":297},"--region \"\"",{"type":24,"value":299},") selects your account's default Storage Policy. The region configured on the ",{"type":18,"tag":235,"props":301,"children":302},{},[303],{"type":24,"value":304},"client itself",{"type":24,"value":306}," (for example ",{"type":18,"tag":95,"props":308,"children":310},{"className":309},[],[311],{"type":24,"value":312},"us-east-1",{"type":24,"value":314}," in the SDK constructors) is different: the SDK requires it for request signing, any value works, and IronShard ignores it. Only the value sent at bucket creation selects the policy.",{"type":18,"tag":32,"props":316,"children":318},{"id":317},"command-line",[319],{"type":24,"value":320},"Command Line",{"type":18,"tag":39,"props":322,"children":324},{"id":323},"aws-cli",[325],{"type":24,"value":326},"AWS CLI",{"type":18,"tag":26,"props":328,"children":329},{},[330,332,339,341,347,349,356],{"type":24,"value":331},"Install ",{"type":18,"tag":160,"props":333,"children":336},{"href":334,"rel":335},"https://aws.amazon.com/cli/",[164],[337],{"type":24,"value":338},"AWS CLI v2",{"type":24,"value":340},". Version 1 does not support the ",{"type":18,"tag":95,"props":342,"children":344},{"className":343},[],[345],{"type":24,"value":346},"endpoint_url",{"type":24,"value":348}," profile setting used below. See also the ",{"type":18,"tag":160,"props":350,"children":353},{"href":351,"rel":352},"https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html",[164],[354],{"type":24,"value":355},"configuration files reference",{"type":24,"value":357},".",{"type":18,"tag":359,"props":360,"children":362},"h4",{"id":361},"config",[363],{"type":24,"value":364},"Config",{"type":18,"tag":26,"props":366,"children":367},{},[368,374],{"type":18,"tag":95,"props":369,"children":371},{"className":370},[],[372],{"type":24,"value":373},"~/.aws/config",{"type":24,"value":375},":",{"type":18,"tag":377,"props":378,"children":382},"pre",{"className":379,"code":380,"language":381,"meta":10,"style":10},"language-ini shiki shiki-themes github-dark-dimmed","[profile ironshard]\nendpoint_url = https://s3.ironshard.ai\nsignature_version = s3v4\ns3 =\n  addressing_style = path\n  multipart_threshold = 32MB\n  multipart_chunksize = 32MB\ns3api =\n  addressing_style = path\n","ini",[383],{"type":18,"tag":95,"props":384,"children":385},{"__ignoreMap":10},[386,398,413,426,440,454,468,481,494],{"type":18,"tag":387,"props":388,"children":391},"span",{"class":389,"line":390},"line",1,[392],{"type":18,"tag":387,"props":393,"children":395},{"style":394},"--shiki-default:#F69D50",[396],{"type":24,"value":397},"[profile ironshard]\n",{"type":18,"tag":387,"props":399,"children":401},{"class":389,"line":400},2,[402,407],{"type":18,"tag":387,"props":403,"children":405},{"style":404},"--shiki-default:#F47067",[406],{"type":24,"value":346},{"type":18,"tag":387,"props":408,"children":410},{"style":409},"--shiki-default:#ADBAC7",[411],{"type":24,"value":412}," = https://s3.ironshard.ai\n",{"type":18,"tag":387,"props":414,"children":415},{"class":389,"line":13},[416,421],{"type":18,"tag":387,"props":417,"children":418},{"style":404},[419],{"type":24,"value":420},"signature_version",{"type":18,"tag":387,"props":422,"children":423},{"style":409},[424],{"type":24,"value":425}," = s3v4\n",{"type":18,"tag":387,"props":427,"children":429},{"class":389,"line":428},4,[430,435],{"type":18,"tag":387,"props":431,"children":432},{"style":404},[433],{"type":24,"value":434},"s3",{"type":18,"tag":387,"props":436,"children":437},{"style":409},[438],{"type":24,"value":439}," =\n",{"type":18,"tag":387,"props":441,"children":443},{"class":389,"line":442},5,[444,449],{"type":18,"tag":387,"props":445,"children":446},{"style":404},[447],{"type":24,"value":448},"  addressing_style",{"type":18,"tag":387,"props":450,"children":451},{"style":409},[452],{"type":24,"value":453}," = path\n",{"type":18,"tag":387,"props":455,"children":457},{"class":389,"line":456},6,[458,463],{"type":18,"tag":387,"props":459,"children":460},{"style":404},[461],{"type":24,"value":462},"  multipart_threshold",{"type":18,"tag":387,"props":464,"children":465},{"style":409},[466],{"type":24,"value":467}," = 32MB\n",{"type":18,"tag":387,"props":469,"children":471},{"class":389,"line":470},7,[472,477],{"type":18,"tag":387,"props":473,"children":474},{"style":404},[475],{"type":24,"value":476},"  multipart_chunksize",{"type":18,"tag":387,"props":478,"children":479},{"style":409},[480],{"type":24,"value":467},{"type":18,"tag":387,"props":482,"children":484},{"class":389,"line":483},8,[485,490],{"type":18,"tag":387,"props":486,"children":487},{"style":404},[488],{"type":24,"value":489},"s3api",{"type":18,"tag":387,"props":491,"children":492},{"style":409},[493],{"type":24,"value":439},{"type":18,"tag":387,"props":495,"children":497},{"class":389,"line":496},9,[498,502],{"type":18,"tag":387,"props":499,"children":500},{"style":404},[501],{"type":24,"value":448},{"type":18,"tag":387,"props":503,"children":504},{"style":409},[505],{"type":24,"value":453},{"type":18,"tag":359,"props":507,"children":509},{"id":508},"credentials",[510],{"type":24,"value":511},"Credentials",{"type":18,"tag":513,"props":514,"children":516},"code-tabs",{":labels":515},"[\"Credentials file\",\"Environment variables\"]",[517,572],{"type":18,"tag":518,"props":519,"children":520},"template",{"v-slot:tab1":10},[521,531],{"type":18,"tag":26,"props":522,"children":523},{},[524,530],{"type":18,"tag":95,"props":525,"children":527},{"className":526},[],[528],{"type":24,"value":529},"~/.aws/credentials",{"type":24,"value":375},{"type":18,"tag":377,"props":532,"children":534},{"className":379,"code":533,"language":381,"meta":10,"style":10},"[ironshard]\naws_access_key_id = IRONSHARD_ACCESS_KEY\naws_secret_access_key = IRONSHARD_SECRET_KEY\n",[535],{"type":18,"tag":95,"props":536,"children":537},{"__ignoreMap":10},[538,546,559],{"type":18,"tag":387,"props":539,"children":540},{"class":389,"line":390},[541],{"type":18,"tag":387,"props":542,"children":543},{"style":394},[544],{"type":24,"value":545},"[ironshard]\n",{"type":18,"tag":387,"props":547,"children":548},{"class":389,"line":400},[549,554],{"type":18,"tag":387,"props":550,"children":551},{"style":404},[552],{"type":24,"value":553},"aws_access_key_id",{"type":18,"tag":387,"props":555,"children":556},{"style":409},[557],{"type":24,"value":558}," = IRONSHARD_ACCESS_KEY\n",{"type":18,"tag":387,"props":560,"children":561},{"class":389,"line":13},[562,567],{"type":18,"tag":387,"props":563,"children":564},{"style":404},[565],{"type":24,"value":566},"aws_secret_access_key",{"type":18,"tag":387,"props":568,"children":569},{"style":409},[570],{"type":24,"value":571}," = IRONSHARD_SECRET_KEY\n",{"type":18,"tag":518,"props":573,"children":574},{"v-slot:tab2":10},[575,650],{"type":18,"tag":377,"props":576,"children":580},{"className":577,"code":578,"language":579,"meta":10,"style":10},"language-bash shiki shiki-themes github-dark-dimmed","export AWS_PROFILE=ironshard\nexport AWS_ACCESS_KEY_ID=\"IRONSHARD_ACCESS_KEY\"\nexport AWS_SECRET_ACCESS_KEY=\"IRONSHARD_SECRET_KEY\"\n","bash",[581],{"type":18,"tag":95,"props":582,"children":583},{"__ignoreMap":10},[584,607,629],{"type":18,"tag":387,"props":585,"children":586},{"class":389,"line":390},[587,592,597,602],{"type":18,"tag":387,"props":588,"children":589},{"style":404},[590],{"type":24,"value":591},"export",{"type":18,"tag":387,"props":593,"children":594},{"style":409},[595],{"type":24,"value":596}," AWS_PROFILE",{"type":18,"tag":387,"props":598,"children":599},{"style":404},[600],{"type":24,"value":601},"=",{"type":18,"tag":387,"props":603,"children":604},{"style":409},[605],{"type":24,"value":606},"ironshard\n",{"type":18,"tag":387,"props":608,"children":609},{"class":389,"line":400},[610,614,619,623],{"type":18,"tag":387,"props":611,"children":612},{"style":404},[613],{"type":24,"value":591},{"type":18,"tag":387,"props":615,"children":616},{"style":409},[617],{"type":24,"value":618}," AWS_ACCESS_KEY_ID",{"type":18,"tag":387,"props":620,"children":621},{"style":404},[622],{"type":24,"value":601},{"type":18,"tag":387,"props":624,"children":626},{"style":625},"--shiki-default:#96D0FF",[627],{"type":24,"value":628},"\"IRONSHARD_ACCESS_KEY\"\n",{"type":18,"tag":387,"props":630,"children":631},{"class":389,"line":13},[632,636,641,645],{"type":18,"tag":387,"props":633,"children":634},{"style":404},[635],{"type":24,"value":591},{"type":18,"tag":387,"props":637,"children":638},{"style":409},[639],{"type":24,"value":640}," AWS_SECRET_ACCESS_KEY",{"type":18,"tag":387,"props":642,"children":643},{"style":404},[644],{"type":24,"value":601},{"type":18,"tag":387,"props":646,"children":647},{"style":625},[648],{"type":24,"value":649},"\"IRONSHARD_SECRET_KEY\"\n",{"type":18,"tag":26,"props":651,"children":652},{},[653,655,661],{"type":24,"value":654},"With the profile exported, drop ",{"type":18,"tag":95,"props":656,"children":658},{"className":657},[],[659],{"type":24,"value":660},"--profile ironshard",{"type":24,"value":662}," from the commands below.",{"type":18,"tag":359,"props":664,"children":666},{"id":665},"try-it",[667],{"type":24,"value":668},"Try It",{"type":18,"tag":377,"props":670,"children":672},{"className":577,"code":671,"language":579,"meta":10,"style":10},"# Create a bucket with the selected Storage Policy (the access key must be allowed to create buckets)\naws s3 mb s3://my-new-bucket --profile ironshard --region \"STORAGE_POLICY_NAME\"\n\n# Upload\naws s3 cp ./report.parquet s3://my-new-bucket/ --profile ironshard\n\n# List\naws s3 ls s3://my-new-bucket --profile ironshard\n\n# Download (byte-range reads are supported)\naws s3 cp s3://my-new-bucket/report.parquet ./restored.parquet --profile ironshard\n\n# Delete (writes a delete marker, see Versioning below)\naws s3 rm s3://my-new-bucket/report.parquet --profile ironshard\n",[673],{"type":18,"tag":95,"props":674,"children":675},{"__ignoreMap":10},[676,685,729,738,746,781,788,796,824,831,840,874,882,891],{"type":18,"tag":387,"props":677,"children":678},{"class":389,"line":390},[679],{"type":18,"tag":387,"props":680,"children":682},{"style":681},"--shiki-default:#768390",[683],{"type":24,"value":684},"# Create a bucket with the selected Storage Policy (the access key must be allowed to create buckets)\n",{"type":18,"tag":387,"props":686,"children":687},{"class":389,"line":400},[688,693,698,703,708,714,719,724],{"type":18,"tag":387,"props":689,"children":690},{"style":394},[691],{"type":24,"value":692},"aws",{"type":18,"tag":387,"props":694,"children":695},{"style":625},[696],{"type":24,"value":697}," s3",{"type":18,"tag":387,"props":699,"children":700},{"style":625},[701],{"type":24,"value":702}," mb",{"type":18,"tag":387,"props":704,"children":705},{"style":625},[706],{"type":24,"value":707}," s3://my-new-bucket",{"type":18,"tag":387,"props":709,"children":711},{"style":710},"--shiki-default:#6CB6FF",[712],{"type":24,"value":713}," --profile",{"type":18,"tag":387,"props":715,"children":716},{"style":625},[717],{"type":24,"value":718}," ironshard",{"type":18,"tag":387,"props":720,"children":721},{"style":710},[722],{"type":24,"value":723}," --region",{"type":18,"tag":387,"props":725,"children":726},{"style":625},[727],{"type":24,"value":728}," \"STORAGE_POLICY_NAME\"\n",{"type":18,"tag":387,"props":730,"children":731},{"class":389,"line":13},[732],{"type":18,"tag":387,"props":733,"children":735},{"emptyLinePlaceholder":734},true,[736],{"type":24,"value":737},"\n",{"type":18,"tag":387,"props":739,"children":740},{"class":389,"line":428},[741],{"type":18,"tag":387,"props":742,"children":743},{"style":681},[744],{"type":24,"value":745},"# Upload\n",{"type":18,"tag":387,"props":747,"children":748},{"class":389,"line":442},[749,753,757,762,767,772,776],{"type":18,"tag":387,"props":750,"children":751},{"style":394},[752],{"type":24,"value":692},{"type":18,"tag":387,"props":754,"children":755},{"style":625},[756],{"type":24,"value":697},{"type":18,"tag":387,"props":758,"children":759},{"style":625},[760],{"type":24,"value":761}," cp",{"type":18,"tag":387,"props":763,"children":764},{"style":625},[765],{"type":24,"value":766}," ./report.parquet",{"type":18,"tag":387,"props":768,"children":769},{"style":625},[770],{"type":24,"value":771}," s3://my-new-bucket/",{"type":18,"tag":387,"props":773,"children":774},{"style":710},[775],{"type":24,"value":713},{"type":18,"tag":387,"props":777,"children":778},{"style":625},[779],{"type":24,"value":780}," ironshard\n",{"type":18,"tag":387,"props":782,"children":783},{"class":389,"line":456},[784],{"type":18,"tag":387,"props":785,"children":786},{"emptyLinePlaceholder":734},[787],{"type":24,"value":737},{"type":18,"tag":387,"props":789,"children":790},{"class":389,"line":470},[791],{"type":18,"tag":387,"props":792,"children":793},{"style":681},[794],{"type":24,"value":795},"# List\n",{"type":18,"tag":387,"props":797,"children":798},{"class":389,"line":483},[799,803,807,812,816,820],{"type":18,"tag":387,"props":800,"children":801},{"style":394},[802],{"type":24,"value":692},{"type":18,"tag":387,"props":804,"children":805},{"style":625},[806],{"type":24,"value":697},{"type":18,"tag":387,"props":808,"children":809},{"style":625},[810],{"type":24,"value":811}," ls",{"type":18,"tag":387,"props":813,"children":814},{"style":625},[815],{"type":24,"value":707},{"type":18,"tag":387,"props":817,"children":818},{"style":710},[819],{"type":24,"value":713},{"type":18,"tag":387,"props":821,"children":822},{"style":625},[823],{"type":24,"value":780},{"type":18,"tag":387,"props":825,"children":826},{"class":389,"line":496},[827],{"type":18,"tag":387,"props":828,"children":829},{"emptyLinePlaceholder":734},[830],{"type":24,"value":737},{"type":18,"tag":387,"props":832,"children":834},{"class":389,"line":833},10,[835],{"type":18,"tag":387,"props":836,"children":837},{"style":681},[838],{"type":24,"value":839},"# Download (byte-range reads are supported)\n",{"type":18,"tag":387,"props":841,"children":843},{"class":389,"line":842},11,[844,848,852,856,861,866,870],{"type":18,"tag":387,"props":845,"children":846},{"style":394},[847],{"type":24,"value":692},{"type":18,"tag":387,"props":849,"children":850},{"style":625},[851],{"type":24,"value":697},{"type":18,"tag":387,"props":853,"children":854},{"style":625},[855],{"type":24,"value":761},{"type":18,"tag":387,"props":857,"children":858},{"style":625},[859],{"type":24,"value":860}," s3://my-new-bucket/report.parquet",{"type":18,"tag":387,"props":862,"children":863},{"style":625},[864],{"type":24,"value":865}," ./restored.parquet",{"type":18,"tag":387,"props":867,"children":868},{"style":710},[869],{"type":24,"value":713},{"type":18,"tag":387,"props":871,"children":872},{"style":625},[873],{"type":24,"value":780},{"type":18,"tag":387,"props":875,"children":877},{"class":389,"line":876},12,[878],{"type":18,"tag":387,"props":879,"children":880},{"emptyLinePlaceholder":734},[881],{"type":24,"value":737},{"type":18,"tag":387,"props":883,"children":885},{"class":389,"line":884},13,[886],{"type":18,"tag":387,"props":887,"children":888},{"style":681},[889],{"type":24,"value":890},"# Delete (writes a delete marker, see Versioning below)\n",{"type":18,"tag":387,"props":892,"children":894},{"class":389,"line":893},14,[895,899,903,908,912,916],{"type":18,"tag":387,"props":896,"children":897},{"style":394},[898],{"type":24,"value":692},{"type":18,"tag":387,"props":900,"children":901},{"style":625},[902],{"type":24,"value":697},{"type":18,"tag":387,"props":904,"children":905},{"style":625},[906],{"type":24,"value":907}," rm",{"type":18,"tag":387,"props":909,"children":910},{"style":625},[911],{"type":24,"value":860},{"type":18,"tag":387,"props":913,"children":914},{"style":710},[915],{"type":24,"value":713},{"type":18,"tag":387,"props":917,"children":918},{"style":625},[919],{"type":24,"value":780},{"type":18,"tag":32,"props":921,"children":923},{"id":922},"sdks",[924],{"type":24,"value":925},"SDKs",{"type":18,"tag":39,"props":927,"children":929},{"id":928},"python-boto3",[930],{"type":24,"value":931},"Python (Boto3)",{"type":18,"tag":26,"props":933,"children":934},{},[935,942,944],{"type":18,"tag":160,"props":936,"children":939},{"href":937,"rel":938},"https://aws.amazon.com/sdk-for-python/",[164],[940],{"type":24,"value":941},"Official page",{"type":24,"value":943}," · ",{"type":18,"tag":160,"props":945,"children":948},{"href":946,"rel":947},"https://boto3.amazonaws.com/v1/documentation/api/latest/guide/configuration.html",[164],[949],{"type":24,"value":950},"Configuration guide",{"type":18,"tag":377,"props":952,"children":954},{"className":577,"code":953,"language":579,"meta":10,"style":10},"pip install boto3\n",[955],{"type":18,"tag":95,"props":956,"children":957},{"__ignoreMap":10},[958],{"type":18,"tag":387,"props":959,"children":960},{"class":389,"line":390},[961,966,971],{"type":18,"tag":387,"props":962,"children":963},{"style":394},[964],{"type":24,"value":965},"pip",{"type":18,"tag":387,"props":967,"children":968},{"style":625},[969],{"type":24,"value":970}," install",{"type":18,"tag":387,"props":972,"children":973},{"style":625},[974],{"type":24,"value":975}," boto3\n",{"type":18,"tag":26,"props":977,"children":978},{},[979,985],{"type":18,"tag":95,"props":980,"children":982},{"className":981},[],[983],{"type":24,"value":984},"example.py",{"type":24,"value":375},{"type":18,"tag":377,"props":987,"children":991},{"className":988,"code":989,"language":990,"meta":10,"style":10},"language-python shiki shiki-themes github-dark-dimmed","import boto3\nfrom boto3.s3.transfer import TransferConfig\nfrom botocore.config import Config\n\n# Prefer environment variables or a secrets store over hard-coded keys\ns3 = boto3.client(\n    \"s3\",\n    endpoint_url=\"https://s3.ironshard.ai\",\n    aws_access_key_id=\"IRONSHARD_ACCESS_KEY\",\n    aws_secret_access_key=\"IRONSHARD_SECRET_KEY\",\n    config=Config(\n        signature_version=\"s3v4\",\n        s3={\"addressing_style\": \"path\"},  # required: path-style bucket addressing\n    ),\n)\n\n# Create a bucket with the selected Storage Policy (the access key must be allowed to create buckets)\ns3.create_bucket(\n    Bucket=\"my-new-bucket\",\n    CreateBucketConfiguration={\"LocationConstraint\": \"STORAGE_POLICY_NAME\"},\n)\n\n# List the objects in a bucket\nfor obj in s3.list_objects_v2(Bucket=\"my-new-bucket\").get(\"Contents\", []):\n    print(obj[\"Key\"])\n\n# 32 MB multipart parts give the fastest transfers\nMB = 1024 * 1024\ntransfer = TransferConfig(multipart_threshold=32 * MB, multipart_chunksize=32 * MB)\ns3.upload_file(\"local-file.bin\", \"my-new-bucket\", \"remote-file.bin\", Config=transfer)\n","python",[992],{"type":18,"tag":95,"props":993,"children":994},{"__ignoreMap":10},[995,1007,1029,1050,1057,1065,1082,1095,1116,1137,1158,1175,1196,1238,1246,1255,1263,1271,1280,1302,1338,1346,1354,1363,1415,1439,1447,1456,1485,1556],{"type":18,"tag":387,"props":996,"children":997},{"class":389,"line":390},[998,1003],{"type":18,"tag":387,"props":999,"children":1000},{"style":404},[1001],{"type":24,"value":1002},"import",{"type":18,"tag":387,"props":1004,"children":1005},{"style":409},[1006],{"type":24,"value":975},{"type":18,"tag":387,"props":1008,"children":1009},{"class":389,"line":400},[1010,1015,1020,1024],{"type":18,"tag":387,"props":1011,"children":1012},{"style":404},[1013],{"type":24,"value":1014},"from",{"type":18,"tag":387,"props":1016,"children":1017},{"style":409},[1018],{"type":24,"value":1019}," boto3.s3.transfer ",{"type":18,"tag":387,"props":1021,"children":1022},{"style":404},[1023],{"type":24,"value":1002},{"type":18,"tag":387,"props":1025,"children":1026},{"style":409},[1027],{"type":24,"value":1028}," TransferConfig\n",{"type":18,"tag":387,"props":1030,"children":1031},{"class":389,"line":13},[1032,1036,1041,1045],{"type":18,"tag":387,"props":1033,"children":1034},{"style":404},[1035],{"type":24,"value":1014},{"type":18,"tag":387,"props":1037,"children":1038},{"style":409},[1039],{"type":24,"value":1040}," botocore.config ",{"type":18,"tag":387,"props":1042,"children":1043},{"style":404},[1044],{"type":24,"value":1002},{"type":18,"tag":387,"props":1046,"children":1047},{"style":409},[1048],{"type":24,"value":1049}," Config\n",{"type":18,"tag":387,"props":1051,"children":1052},{"class":389,"line":428},[1053],{"type":18,"tag":387,"props":1054,"children":1055},{"emptyLinePlaceholder":734},[1056],{"type":24,"value":737},{"type":18,"tag":387,"props":1058,"children":1059},{"class":389,"line":442},[1060],{"type":18,"tag":387,"props":1061,"children":1062},{"style":681},[1063],{"type":24,"value":1064},"# Prefer environment variables or a secrets store over hard-coded keys\n",{"type":18,"tag":387,"props":1066,"children":1067},{"class":389,"line":456},[1068,1073,1077],{"type":18,"tag":387,"props":1069,"children":1070},{"style":409},[1071],{"type":24,"value":1072},"s3 ",{"type":18,"tag":387,"props":1074,"children":1075},{"style":404},[1076],{"type":24,"value":601},{"type":18,"tag":387,"props":1078,"children":1079},{"style":409},[1080],{"type":24,"value":1081}," boto3.client(\n",{"type":18,"tag":387,"props":1083,"children":1084},{"class":389,"line":470},[1085,1090],{"type":18,"tag":387,"props":1086,"children":1087},{"style":625},[1088],{"type":24,"value":1089},"    \"s3\"",{"type":18,"tag":387,"props":1091,"children":1092},{"style":409},[1093],{"type":24,"value":1094},",\n",{"type":18,"tag":387,"props":1096,"children":1097},{"class":389,"line":483},[1098,1103,1107,1112],{"type":18,"tag":387,"props":1099,"children":1100},{"style":394},[1101],{"type":24,"value":1102},"    endpoint_url",{"type":18,"tag":387,"props":1104,"children":1105},{"style":404},[1106],{"type":24,"value":601},{"type":18,"tag":387,"props":1108,"children":1109},{"style":625},[1110],{"type":24,"value":1111},"\"https://s3.ironshard.ai\"",{"type":18,"tag":387,"props":1113,"children":1114},{"style":409},[1115],{"type":24,"value":1094},{"type":18,"tag":387,"props":1117,"children":1118},{"class":389,"line":496},[1119,1124,1128,1133],{"type":18,"tag":387,"props":1120,"children":1121},{"style":394},[1122],{"type":24,"value":1123},"    aws_access_key_id",{"type":18,"tag":387,"props":1125,"children":1126},{"style":404},[1127],{"type":24,"value":601},{"type":18,"tag":387,"props":1129,"children":1130},{"style":625},[1131],{"type":24,"value":1132},"\"IRONSHARD_ACCESS_KEY\"",{"type":18,"tag":387,"props":1134,"children":1135},{"style":409},[1136],{"type":24,"value":1094},{"type":18,"tag":387,"props":1138,"children":1139},{"class":389,"line":833},[1140,1145,1149,1154],{"type":18,"tag":387,"props":1141,"children":1142},{"style":394},[1143],{"type":24,"value":1144},"    aws_secret_access_key",{"type":18,"tag":387,"props":1146,"children":1147},{"style":404},[1148],{"type":24,"value":601},{"type":18,"tag":387,"props":1150,"children":1151},{"style":625},[1152],{"type":24,"value":1153},"\"IRONSHARD_SECRET_KEY\"",{"type":18,"tag":387,"props":1155,"children":1156},{"style":409},[1157],{"type":24,"value":1094},{"type":18,"tag":387,"props":1159,"children":1160},{"class":389,"line":842},[1161,1166,1170],{"type":18,"tag":387,"props":1162,"children":1163},{"style":394},[1164],{"type":24,"value":1165},"    config",{"type":18,"tag":387,"props":1167,"children":1168},{"style":404},[1169],{"type":24,"value":601},{"type":18,"tag":387,"props":1171,"children":1172},{"style":409},[1173],{"type":24,"value":1174},"Config(\n",{"type":18,"tag":387,"props":1176,"children":1177},{"class":389,"line":876},[1178,1183,1187,1192],{"type":18,"tag":387,"props":1179,"children":1180},{"style":394},[1181],{"type":24,"value":1182},"        signature_version",{"type":18,"tag":387,"props":1184,"children":1185},{"style":404},[1186],{"type":24,"value":601},{"type":18,"tag":387,"props":1188,"children":1189},{"style":625},[1190],{"type":24,"value":1191},"\"s3v4\"",{"type":18,"tag":387,"props":1193,"children":1194},{"style":409},[1195],{"type":24,"value":1094},{"type":18,"tag":387,"props":1197,"children":1198},{"class":389,"line":884},[1199,1204,1208,1213,1218,1223,1228,1233],{"type":18,"tag":387,"props":1200,"children":1201},{"style":394},[1202],{"type":24,"value":1203},"        s3",{"type":18,"tag":387,"props":1205,"children":1206},{"style":404},[1207],{"type":24,"value":601},{"type":18,"tag":387,"props":1209,"children":1210},{"style":409},[1211],{"type":24,"value":1212},"{",{"type":18,"tag":387,"props":1214,"children":1215},{"style":625},[1216],{"type":24,"value":1217},"\"addressing_style\"",{"type":18,"tag":387,"props":1219,"children":1220},{"style":409},[1221],{"type":24,"value":1222},": ",{"type":18,"tag":387,"props":1224,"children":1225},{"style":625},[1226],{"type":24,"value":1227},"\"path\"",{"type":18,"tag":387,"props":1229,"children":1230},{"style":409},[1231],{"type":24,"value":1232},"},  ",{"type":18,"tag":387,"props":1234,"children":1235},{"style":681},[1236],{"type":24,"value":1237},"# required: path-style bucket addressing\n",{"type":18,"tag":387,"props":1239,"children":1240},{"class":389,"line":893},[1241],{"type":18,"tag":387,"props":1242,"children":1243},{"style":409},[1244],{"type":24,"value":1245},"    ),\n",{"type":18,"tag":387,"props":1247,"children":1249},{"class":389,"line":1248},15,[1250],{"type":18,"tag":387,"props":1251,"children":1252},{"style":409},[1253],{"type":24,"value":1254},")\n",{"type":18,"tag":387,"props":1256,"children":1258},{"class":389,"line":1257},16,[1259],{"type":18,"tag":387,"props":1260,"children":1261},{"emptyLinePlaceholder":734},[1262],{"type":24,"value":737},{"type":18,"tag":387,"props":1264,"children":1266},{"class":389,"line":1265},17,[1267],{"type":18,"tag":387,"props":1268,"children":1269},{"style":681},[1270],{"type":24,"value":684},{"type":18,"tag":387,"props":1272,"children":1274},{"class":389,"line":1273},18,[1275],{"type":18,"tag":387,"props":1276,"children":1277},{"style":409},[1278],{"type":24,"value":1279},"s3.create_bucket(\n",{"type":18,"tag":387,"props":1281,"children":1283},{"class":389,"line":1282},19,[1284,1289,1293,1298],{"type":18,"tag":387,"props":1285,"children":1286},{"style":394},[1287],{"type":24,"value":1288},"    Bucket",{"type":18,"tag":387,"props":1290,"children":1291},{"style":404},[1292],{"type":24,"value":601},{"type":18,"tag":387,"props":1294,"children":1295},{"style":625},[1296],{"type":24,"value":1297},"\"my-new-bucket\"",{"type":18,"tag":387,"props":1299,"children":1300},{"style":409},[1301],{"type":24,"value":1094},{"type":18,"tag":387,"props":1303,"children":1305},{"class":389,"line":1304},20,[1306,1311,1315,1319,1324,1328,1333],{"type":18,"tag":387,"props":1307,"children":1308},{"style":394},[1309],{"type":24,"value":1310},"    CreateBucketConfiguration",{"type":18,"tag":387,"props":1312,"children":1313},{"style":404},[1314],{"type":24,"value":601},{"type":18,"tag":387,"props":1316,"children":1317},{"style":409},[1318],{"type":24,"value":1212},{"type":18,"tag":387,"props":1320,"children":1321},{"style":625},[1322],{"type":24,"value":1323},"\"LocationConstraint\"",{"type":18,"tag":387,"props":1325,"children":1326},{"style":409},[1327],{"type":24,"value":1222},{"type":18,"tag":387,"props":1329,"children":1330},{"style":625},[1331],{"type":24,"value":1332},"\"STORAGE_POLICY_NAME\"",{"type":18,"tag":387,"props":1334,"children":1335},{"style":409},[1336],{"type":24,"value":1337},"},\n",{"type":18,"tag":387,"props":1339,"children":1341},{"class":389,"line":1340},21,[1342],{"type":18,"tag":387,"props":1343,"children":1344},{"style":409},[1345],{"type":24,"value":1254},{"type":18,"tag":387,"props":1347,"children":1349},{"class":389,"line":1348},22,[1350],{"type":18,"tag":387,"props":1351,"children":1352},{"emptyLinePlaceholder":734},[1353],{"type":24,"value":737},{"type":18,"tag":387,"props":1355,"children":1357},{"class":389,"line":1356},23,[1358],{"type":18,"tag":387,"props":1359,"children":1360},{"style":681},[1361],{"type":24,"value":1362},"# List the objects in a bucket\n",{"type":18,"tag":387,"props":1364,"children":1366},{"class":389,"line":1365},24,[1367,1372,1377,1382,1387,1392,1396,1400,1405,1410],{"type":18,"tag":387,"props":1368,"children":1369},{"style":404},[1370],{"type":24,"value":1371},"for",{"type":18,"tag":387,"props":1373,"children":1374},{"style":409},[1375],{"type":24,"value":1376}," obj ",{"type":18,"tag":387,"props":1378,"children":1379},{"style":404},[1380],{"type":24,"value":1381},"in",{"type":18,"tag":387,"props":1383,"children":1384},{"style":409},[1385],{"type":24,"value":1386}," s3.list_objects_v2(",{"type":18,"tag":387,"props":1388,"children":1389},{"style":394},[1390],{"type":24,"value":1391},"Bucket",{"type":18,"tag":387,"props":1393,"children":1394},{"style":404},[1395],{"type":24,"value":601},{"type":18,"tag":387,"props":1397,"children":1398},{"style":625},[1399],{"type":24,"value":1297},{"type":18,"tag":387,"props":1401,"children":1402},{"style":409},[1403],{"type":24,"value":1404},").get(",{"type":18,"tag":387,"props":1406,"children":1407},{"style":625},[1408],{"type":24,"value":1409},"\"Contents\"",{"type":18,"tag":387,"props":1411,"children":1412},{"style":409},[1413],{"type":24,"value":1414},", []):\n",{"type":18,"tag":387,"props":1416,"children":1418},{"class":389,"line":1417},25,[1419,1424,1429,1434],{"type":18,"tag":387,"props":1420,"children":1421},{"style":710},[1422],{"type":24,"value":1423},"    print",{"type":18,"tag":387,"props":1425,"children":1426},{"style":409},[1427],{"type":24,"value":1428},"(obj[",{"type":18,"tag":387,"props":1430,"children":1431},{"style":625},[1432],{"type":24,"value":1433},"\"Key\"",{"type":18,"tag":387,"props":1435,"children":1436},{"style":409},[1437],{"type":24,"value":1438},"])\n",{"type":18,"tag":387,"props":1440,"children":1442},{"class":389,"line":1441},26,[1443],{"type":18,"tag":387,"props":1444,"children":1445},{"emptyLinePlaceholder":734},[1446],{"type":24,"value":737},{"type":18,"tag":387,"props":1448,"children":1450},{"class":389,"line":1449},27,[1451],{"type":18,"tag":387,"props":1452,"children":1453},{"style":681},[1454],{"type":24,"value":1455},"# 32 MB multipart parts give the fastest transfers\n",{"type":18,"tag":387,"props":1457,"children":1459},{"class":389,"line":1458},28,[1460,1465,1470,1475,1480],{"type":18,"tag":387,"props":1461,"children":1462},{"style":710},[1463],{"type":24,"value":1464},"MB",{"type":18,"tag":387,"props":1466,"children":1467},{"style":404},[1468],{"type":24,"value":1469}," =",{"type":18,"tag":387,"props":1471,"children":1472},{"style":710},[1473],{"type":24,"value":1474}," 1024",{"type":18,"tag":387,"props":1476,"children":1477},{"style":404},[1478],{"type":24,"value":1479}," *",{"type":18,"tag":387,"props":1481,"children":1482},{"style":710},[1483],{"type":24,"value":1484}," 1024\n",{"type":18,"tag":387,"props":1486,"children":1488},{"class":389,"line":1487},29,[1489,1494,1498,1503,1508,1512,1517,1521,1526,1531,1536,1540,1544,1548,1552],{"type":18,"tag":387,"props":1490,"children":1491},{"style":409},[1492],{"type":24,"value":1493},"transfer ",{"type":18,"tag":387,"props":1495,"children":1496},{"style":404},[1497],{"type":24,"value":601},{"type":18,"tag":387,"props":1499,"children":1500},{"style":409},[1501],{"type":24,"value":1502}," TransferConfig(",{"type":18,"tag":387,"props":1504,"children":1505},{"style":394},[1506],{"type":24,"value":1507},"multipart_threshold",{"type":18,"tag":387,"props":1509,"children":1510},{"style":404},[1511],{"type":24,"value":601},{"type":18,"tag":387,"props":1513,"children":1514},{"style":710},[1515],{"type":24,"value":1516},"32",{"type":18,"tag":387,"props":1518,"children":1519},{"style":404},[1520],{"type":24,"value":1479},{"type":18,"tag":387,"props":1522,"children":1523},{"style":710},[1524],{"type":24,"value":1525}," MB",{"type":18,"tag":387,"props":1527,"children":1528},{"style":409},[1529],{"type":24,"value":1530},", ",{"type":18,"tag":387,"props":1532,"children":1533},{"style":394},[1534],{"type":24,"value":1535},"multipart_chunksize",{"type":18,"tag":387,"props":1537,"children":1538},{"style":404},[1539],{"type":24,"value":601},{"type":18,"tag":387,"props":1541,"children":1542},{"style":710},[1543],{"type":24,"value":1516},{"type":18,"tag":387,"props":1545,"children":1546},{"style":404},[1547],{"type":24,"value":1479},{"type":18,"tag":387,"props":1549,"children":1550},{"style":710},[1551],{"type":24,"value":1525},{"type":18,"tag":387,"props":1553,"children":1554},{"style":409},[1555],{"type":24,"value":1254},{"type":18,"tag":387,"props":1557,"children":1559},{"class":389,"line":1558},30,[1560,1565,1570,1574,1578,1582,1587,1591,1595,1599],{"type":18,"tag":387,"props":1561,"children":1562},{"style":409},[1563],{"type":24,"value":1564},"s3.upload_file(",{"type":18,"tag":387,"props":1566,"children":1567},{"style":625},[1568],{"type":24,"value":1569},"\"local-file.bin\"",{"type":18,"tag":387,"props":1571,"children":1572},{"style":409},[1573],{"type":24,"value":1530},{"type":18,"tag":387,"props":1575,"children":1576},{"style":625},[1577],{"type":24,"value":1297},{"type":18,"tag":387,"props":1579,"children":1580},{"style":409},[1581],{"type":24,"value":1530},{"type":18,"tag":387,"props":1583,"children":1584},{"style":625},[1585],{"type":24,"value":1586},"\"remote-file.bin\"",{"type":18,"tag":387,"props":1588,"children":1589},{"style":409},[1590],{"type":24,"value":1530},{"type":18,"tag":387,"props":1592,"children":1593},{"style":394},[1594],{"type":24,"value":364},{"type":18,"tag":387,"props":1596,"children":1597},{"style":404},[1598],{"type":24,"value":601},{"type":18,"tag":387,"props":1600,"children":1601},{"style":409},[1602],{"type":24,"value":1603},"transfer)\n",{"type":18,"tag":39,"props":1605,"children":1607},{"id":1606},"javascript",[1608],{"type":24,"value":1609},"JavaScript",{"type":18,"tag":26,"props":1611,"children":1612},{},[1613,1615,1622,1623],{"type":24,"value":1614},"AWS SDK for JavaScript v3: ",{"type":18,"tag":160,"props":1616,"children":1619},{"href":1617,"rel":1618},"https://github.com/aws/aws-sdk-js-v3",[164],[1620],{"type":24,"value":1621},"official page",{"type":24,"value":943},{"type":18,"tag":160,"props":1624,"children":1627},{"href":1625,"rel":1626},"https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/s3/",[164],[1628],{"type":24,"value":1629},"S3 client reference",{"type":18,"tag":377,"props":1631,"children":1633},{"className":577,"code":1632,"language":579,"meta":10,"style":10},"npm install @aws-sdk/client-s3\n",[1634],{"type":18,"tag":95,"props":1635,"children":1636},{"__ignoreMap":10},[1637],{"type":18,"tag":387,"props":1638,"children":1639},{"class":389,"line":390},[1640,1645,1649],{"type":18,"tag":387,"props":1641,"children":1642},{"style":394},[1643],{"type":24,"value":1644},"npm",{"type":18,"tag":387,"props":1646,"children":1647},{"style":625},[1648],{"type":24,"value":970},{"type":18,"tag":387,"props":1650,"children":1651},{"style":625},[1652],{"type":24,"value":1653}," @aws-sdk/client-s3\n",{"type":18,"tag":26,"props":1655,"children":1656},{},[1657,1663],{"type":18,"tag":95,"props":1658,"children":1660},{"className":1659},[],[1661],{"type":24,"value":1662},"example.mjs",{"type":24,"value":375},{"type":18,"tag":377,"props":1665,"children":1668},{"className":1666,"code":1667,"language":1606,"meta":10,"style":10},"language-javascript shiki shiki-themes github-dark-dimmed","import { S3Client, CreateBucketCommand, ListObjectsV2Command } from \"@aws-sdk/client-s3\";\n\n// Prefer environment variables or a secrets store over hard-coded keys\nconst s3 = new S3Client({\n  endpoint: \"https://s3.ironshard.ai\",\n  region: \"us-east-1\", // required by the SDK for request signing, any value works\n  forcePathStyle: true, // required: path-style bucket addressing\n  credentials: {\n    accessKeyId: \"IRONSHARD_ACCESS_KEY\",\n    secretAccessKey: \"IRONSHARD_SECRET_KEY\",\n  },\n});\n\n// Create a bucket with the selected Storage Policy (the access key must be allowed to create buckets)\nawait s3.send(new CreateBucketCommand({\n  Bucket: \"my-new-bucket\",\n  CreateBucketConfiguration: { LocationConstraint: \"STORAGE_POLICY_NAME\" },\n}));\n\n// List the objects in a bucket\nconst { Contents = [] } = await s3.send(new ListObjectsV2Command({ Bucket: \"my-new-bucket\" }));\nconsole.log(Contents.map((o) => o.Key));\n",[1669],{"type":18,"tag":95,"props":1670,"children":1671},{"__ignoreMap":10},[1672,1698,1705,1713,1745,1761,1783,1805,1813,1829,1845,1853,1861,1868,1876,1913,1929,1946,1954,1961,1969,2039],{"type":18,"tag":387,"props":1673,"children":1674},{"class":389,"line":390},[1675,1679,1684,1688,1693],{"type":18,"tag":387,"props":1676,"children":1677},{"style":404},[1678],{"type":24,"value":1002},{"type":18,"tag":387,"props":1680,"children":1681},{"style":409},[1682],{"type":24,"value":1683}," { S3Client, CreateBucketCommand, ListObjectsV2Command } ",{"type":18,"tag":387,"props":1685,"children":1686},{"style":404},[1687],{"type":24,"value":1014},{"type":18,"tag":387,"props":1689,"children":1690},{"style":625},[1691],{"type":24,"value":1692}," \"@aws-sdk/client-s3\"",{"type":18,"tag":387,"props":1694,"children":1695},{"style":409},[1696],{"type":24,"value":1697},";\n",{"type":18,"tag":387,"props":1699,"children":1700},{"class":389,"line":400},[1701],{"type":18,"tag":387,"props":1702,"children":1703},{"emptyLinePlaceholder":734},[1704],{"type":24,"value":737},{"type":18,"tag":387,"props":1706,"children":1707},{"class":389,"line":13},[1708],{"type":18,"tag":387,"props":1709,"children":1710},{"style":681},[1711],{"type":24,"value":1712},"// Prefer environment variables or a secrets store over hard-coded keys\n",{"type":18,"tag":387,"props":1714,"children":1715},{"class":389,"line":428},[1716,1721,1725,1729,1734,1740],{"type":18,"tag":387,"props":1717,"children":1718},{"style":404},[1719],{"type":24,"value":1720},"const",{"type":18,"tag":387,"props":1722,"children":1723},{"style":710},[1724],{"type":24,"value":697},{"type":18,"tag":387,"props":1726,"children":1727},{"style":404},[1728],{"type":24,"value":1469},{"type":18,"tag":387,"props":1730,"children":1731},{"style":404},[1732],{"type":24,"value":1733}," new",{"type":18,"tag":387,"props":1735,"children":1737},{"style":1736},"--shiki-default:#DCBDFB",[1738],{"type":24,"value":1739}," S3Client",{"type":18,"tag":387,"props":1741,"children":1742},{"style":409},[1743],{"type":24,"value":1744},"({\n",{"type":18,"tag":387,"props":1746,"children":1747},{"class":389,"line":442},[1748,1753,1757],{"type":18,"tag":387,"props":1749,"children":1750},{"style":409},[1751],{"type":24,"value":1752},"  endpoint: ",{"type":18,"tag":387,"props":1754,"children":1755},{"style":625},[1756],{"type":24,"value":1111},{"type":18,"tag":387,"props":1758,"children":1759},{"style":409},[1760],{"type":24,"value":1094},{"type":18,"tag":387,"props":1762,"children":1763},{"class":389,"line":456},[1764,1769,1774,1778],{"type":18,"tag":387,"props":1765,"children":1766},{"style":409},[1767],{"type":24,"value":1768},"  region: ",{"type":18,"tag":387,"props":1770,"children":1771},{"style":625},[1772],{"type":24,"value":1773},"\"us-east-1\"",{"type":18,"tag":387,"props":1775,"children":1776},{"style":409},[1777],{"type":24,"value":1530},{"type":18,"tag":387,"props":1779,"children":1780},{"style":681},[1781],{"type":24,"value":1782},"// required by the SDK for request signing, any value works\n",{"type":18,"tag":387,"props":1784,"children":1785},{"class":389,"line":470},[1786,1791,1796,1800],{"type":18,"tag":387,"props":1787,"children":1788},{"style":409},[1789],{"type":24,"value":1790},"  forcePathStyle: ",{"type":18,"tag":387,"props":1792,"children":1793},{"style":710},[1794],{"type":24,"value":1795},"true",{"type":18,"tag":387,"props":1797,"children":1798},{"style":409},[1799],{"type":24,"value":1530},{"type":18,"tag":387,"props":1801,"children":1802},{"style":681},[1803],{"type":24,"value":1804},"// required: path-style bucket addressing\n",{"type":18,"tag":387,"props":1806,"children":1807},{"class":389,"line":483},[1808],{"type":18,"tag":387,"props":1809,"children":1810},{"style":409},[1811],{"type":24,"value":1812},"  credentials: {\n",{"type":18,"tag":387,"props":1814,"children":1815},{"class":389,"line":496},[1816,1821,1825],{"type":18,"tag":387,"props":1817,"children":1818},{"style":409},[1819],{"type":24,"value":1820},"    accessKeyId: ",{"type":18,"tag":387,"props":1822,"children":1823},{"style":625},[1824],{"type":24,"value":1132},{"type":18,"tag":387,"props":1826,"children":1827},{"style":409},[1828],{"type":24,"value":1094},{"type":18,"tag":387,"props":1830,"children":1831},{"class":389,"line":833},[1832,1837,1841],{"type":18,"tag":387,"props":1833,"children":1834},{"style":409},[1835],{"type":24,"value":1836},"    secretAccessKey: ",{"type":18,"tag":387,"props":1838,"children":1839},{"style":625},[1840],{"type":24,"value":1153},{"type":18,"tag":387,"props":1842,"children":1843},{"style":409},[1844],{"type":24,"value":1094},{"type":18,"tag":387,"props":1846,"children":1847},{"class":389,"line":842},[1848],{"type":18,"tag":387,"props":1849,"children":1850},{"style":409},[1851],{"type":24,"value":1852},"  },\n",{"type":18,"tag":387,"props":1854,"children":1855},{"class":389,"line":876},[1856],{"type":18,"tag":387,"props":1857,"children":1858},{"style":409},[1859],{"type":24,"value":1860},"});\n",{"type":18,"tag":387,"props":1862,"children":1863},{"class":389,"line":884},[1864],{"type":18,"tag":387,"props":1865,"children":1866},{"emptyLinePlaceholder":734},[1867],{"type":24,"value":737},{"type":18,"tag":387,"props":1869,"children":1870},{"class":389,"line":893},[1871],{"type":18,"tag":387,"props":1872,"children":1873},{"style":681},[1874],{"type":24,"value":1875},"// Create a bucket with the selected Storage Policy (the access key must be allowed to create buckets)\n",{"type":18,"tag":387,"props":1877,"children":1878},{"class":389,"line":1248},[1879,1884,1889,1894,1899,1904,1909],{"type":18,"tag":387,"props":1880,"children":1881},{"style":404},[1882],{"type":24,"value":1883},"await",{"type":18,"tag":387,"props":1885,"children":1886},{"style":409},[1887],{"type":24,"value":1888}," s3.",{"type":18,"tag":387,"props":1890,"children":1891},{"style":1736},[1892],{"type":24,"value":1893},"send",{"type":18,"tag":387,"props":1895,"children":1896},{"style":409},[1897],{"type":24,"value":1898},"(",{"type":18,"tag":387,"props":1900,"children":1901},{"style":404},[1902],{"type":24,"value":1903},"new",{"type":18,"tag":387,"props":1905,"children":1906},{"style":1736},[1907],{"type":24,"value":1908}," CreateBucketCommand",{"type":18,"tag":387,"props":1910,"children":1911},{"style":409},[1912],{"type":24,"value":1744},{"type":18,"tag":387,"props":1914,"children":1915},{"class":389,"line":1257},[1916,1921,1925],{"type":18,"tag":387,"props":1917,"children":1918},{"style":409},[1919],{"type":24,"value":1920},"  Bucket: ",{"type":18,"tag":387,"props":1922,"children":1923},{"style":625},[1924],{"type":24,"value":1297},{"type":18,"tag":387,"props":1926,"children":1927},{"style":409},[1928],{"type":24,"value":1094},{"type":18,"tag":387,"props":1930,"children":1931},{"class":389,"line":1265},[1932,1937,1941],{"type":18,"tag":387,"props":1933,"children":1934},{"style":409},[1935],{"type":24,"value":1936},"  CreateBucketConfiguration: { LocationConstraint: ",{"type":18,"tag":387,"props":1938,"children":1939},{"style":625},[1940],{"type":24,"value":1332},{"type":18,"tag":387,"props":1942,"children":1943},{"style":409},[1944],{"type":24,"value":1945}," },\n",{"type":18,"tag":387,"props":1947,"children":1948},{"class":389,"line":1273},[1949],{"type":18,"tag":387,"props":1950,"children":1951},{"style":409},[1952],{"type":24,"value":1953},"}));\n",{"type":18,"tag":387,"props":1955,"children":1956},{"class":389,"line":1282},[1957],{"type":18,"tag":387,"props":1958,"children":1959},{"emptyLinePlaceholder":734},[1960],{"type":24,"value":737},{"type":18,"tag":387,"props":1962,"children":1963},{"class":389,"line":1304},[1964],{"type":18,"tag":387,"props":1965,"children":1966},{"style":681},[1967],{"type":24,"value":1968},"// List the objects in a bucket\n",{"type":18,"tag":387,"props":1970,"children":1971},{"class":389,"line":1340},[1972,1976,1981,1986,1990,1995,1999,2004,2008,2012,2016,2020,2025,2030,2034],{"type":18,"tag":387,"props":1973,"children":1974},{"style":404},[1975],{"type":24,"value":1720},{"type":18,"tag":387,"props":1977,"children":1978},{"style":409},[1979],{"type":24,"value":1980}," { ",{"type":18,"tag":387,"props":1982,"children":1983},{"style":710},[1984],{"type":24,"value":1985},"Contents",{"type":18,"tag":387,"props":1987,"children":1988},{"style":404},[1989],{"type":24,"value":1469},{"type":18,"tag":387,"props":1991,"children":1992},{"style":409},[1993],{"type":24,"value":1994}," [] } ",{"type":18,"tag":387,"props":1996,"children":1997},{"style":404},[1998],{"type":24,"value":601},{"type":18,"tag":387,"props":2000,"children":2001},{"style":404},[2002],{"type":24,"value":2003}," await",{"type":18,"tag":387,"props":2005,"children":2006},{"style":409},[2007],{"type":24,"value":1888},{"type":18,"tag":387,"props":2009,"children":2010},{"style":1736},[2011],{"type":24,"value":1893},{"type":18,"tag":387,"props":2013,"children":2014},{"style":409},[2015],{"type":24,"value":1898},{"type":18,"tag":387,"props":2017,"children":2018},{"style":404},[2019],{"type":24,"value":1903},{"type":18,"tag":387,"props":2021,"children":2022},{"style":1736},[2023],{"type":24,"value":2024}," ListObjectsV2Command",{"type":18,"tag":387,"props":2026,"children":2027},{"style":409},[2028],{"type":24,"value":2029},"({ Bucket: ",{"type":18,"tag":387,"props":2031,"children":2032},{"style":625},[2033],{"type":24,"value":1297},{"type":18,"tag":387,"props":2035,"children":2036},{"style":409},[2037],{"type":24,"value":2038}," }));\n",{"type":18,"tag":387,"props":2040,"children":2041},{"class":389,"line":1348},[2042,2047,2052,2057,2062,2067,2072,2077,2082],{"type":18,"tag":387,"props":2043,"children":2044},{"style":409},[2045],{"type":24,"value":2046},"console.",{"type":18,"tag":387,"props":2048,"children":2049},{"style":1736},[2050],{"type":24,"value":2051},"log",{"type":18,"tag":387,"props":2053,"children":2054},{"style":409},[2055],{"type":24,"value":2056},"(Contents.",{"type":18,"tag":387,"props":2058,"children":2059},{"style":1736},[2060],{"type":24,"value":2061},"map",{"type":18,"tag":387,"props":2063,"children":2064},{"style":409},[2065],{"type":24,"value":2066},"((",{"type":18,"tag":387,"props":2068,"children":2069},{"style":394},[2070],{"type":24,"value":2071},"o",{"type":18,"tag":387,"props":2073,"children":2074},{"style":409},[2075],{"type":24,"value":2076},") ",{"type":18,"tag":387,"props":2078,"children":2079},{"style":404},[2080],{"type":24,"value":2081},"=>",{"type":18,"tag":387,"props":2083,"children":2084},{"style":409},[2085],{"type":24,"value":2086}," o.Key));\n",{"type":18,"tag":26,"props":2088,"children":2089},{},[2090,2092,2098,2100,2106],{"type":24,"value":2091},"For multipart uploads, use ",{"type":18,"tag":95,"props":2093,"children":2095},{"className":2094},[],[2096],{"type":24,"value":2097},"@aws-sdk/lib-storage",{"type":24,"value":2099}," with a 32 MB ",{"type":18,"tag":95,"props":2101,"children":2103},{"className":2102},[],[2104],{"type":24,"value":2105},"partSize",{"type":24,"value":357},{"type":18,"tag":39,"props":2108,"children":2110},{"id":2109},"go",[2111],{"type":24,"value":2112},"Go",{"type":18,"tag":26,"props":2114,"children":2115},{},[2116,2118,2124,2125],{"type":24,"value":2117},"AWS SDK for Go v2: ",{"type":18,"tag":160,"props":2119,"children":2122},{"href":2120,"rel":2121},"https://aws.github.io/aws-sdk-go-v2/",[164],[2123],{"type":24,"value":1621},{"type":24,"value":943},{"type":18,"tag":160,"props":2126,"children":2129},{"href":2127,"rel":2128},"https://aws.github.io/aws-sdk-go-v2/docs/configuring-sdk/",[164],[2130],{"type":24,"value":2131},"configuring the SDK",{"type":18,"tag":377,"props":2133,"children":2135},{"className":577,"code":2134,"language":579,"meta":10,"style":10},"go get github.com/aws/aws-sdk-go-v2/aws \\\n  github.com/aws/aws-sdk-go-v2/config \\\n  github.com/aws/aws-sdk-go-v2/credentials \\\n  github.com/aws/aws-sdk-go-v2/service/s3\n",[2136],{"type":18,"tag":95,"props":2137,"children":2138},{"__ignoreMap":10},[2139,2161,2173,2185],{"type":18,"tag":387,"props":2140,"children":2141},{"class":389,"line":390},[2142,2146,2151,2156],{"type":18,"tag":387,"props":2143,"children":2144},{"style":394},[2145],{"type":24,"value":2109},{"type":18,"tag":387,"props":2147,"children":2148},{"style":625},[2149],{"type":24,"value":2150}," get",{"type":18,"tag":387,"props":2152,"children":2153},{"style":625},[2154],{"type":24,"value":2155}," github.com/aws/aws-sdk-go-v2/aws",{"type":18,"tag":387,"props":2157,"children":2158},{"style":404},[2159],{"type":24,"value":2160}," \\\n",{"type":18,"tag":387,"props":2162,"children":2163},{"class":389,"line":400},[2164,2169],{"type":18,"tag":387,"props":2165,"children":2166},{"style":625},[2167],{"type":24,"value":2168},"  github.com/aws/aws-sdk-go-v2/config",{"type":18,"tag":387,"props":2170,"children":2171},{"style":404},[2172],{"type":24,"value":2160},{"type":18,"tag":387,"props":2174,"children":2175},{"class":389,"line":13},[2176,2181],{"type":18,"tag":387,"props":2177,"children":2178},{"style":625},[2179],{"type":24,"value":2180},"  github.com/aws/aws-sdk-go-v2/credentials",{"type":18,"tag":387,"props":2182,"children":2183},{"style":404},[2184],{"type":24,"value":2160},{"type":18,"tag":387,"props":2186,"children":2187},{"class":389,"line":428},[2188],{"type":18,"tag":387,"props":2189,"children":2190},{"style":625},[2191],{"type":24,"value":2192},"  github.com/aws/aws-sdk-go-v2/service/s3\n",{"type":18,"tag":26,"props":2194,"children":2195},{},[2196,2202],{"type":18,"tag":95,"props":2197,"children":2199},{"className":2198},[],[2200],{"type":24,"value":2201},"main.go",{"type":24,"value":375},{"type":18,"tag":377,"props":2204,"children":2207},{"className":2205,"code":2206,"language":2109,"meta":10,"style":10},"language-go shiki shiki-themes github-dark-dimmed","package main\n\nimport (\n    \"context\"\n    \"fmt\"\n\n    \"github.com/aws/aws-sdk-go-v2/aws\"\n    \"github.com/aws/aws-sdk-go-v2/config\"\n    \"github.com/aws/aws-sdk-go-v2/credentials\"\n    \"github.com/aws/aws-sdk-go-v2/service/s3\"\n    \"github.com/aws/aws-sdk-go-v2/service/s3/types\"\n)\n\nfunc main() {\n    ctx := context.TODO()\n\n    // Prefer environment variables or a secrets store over hard-coded keys\n    cfg, err := config.LoadDefaultConfig(ctx,\n        config.WithRegion(\"us-east-1\"), // required by the SDK for request signing, any value works\n        config.WithCredentialsProvider(\n            credentials.NewStaticCredentialsProvider(\"IRONSHARD_ACCESS_KEY\", \"IRONSHARD_SECRET_KEY\", \"\"),\n        ),\n    )\n    if err != nil {\n        panic(err)\n    }\n\n    client := s3.NewFromConfig(cfg, func(o *s3.Options) {\n        o.BaseEndpoint = aws.String(\"https://s3.ironshard.ai\")\n        o.UsePathStyle = true // required: path-style bucket addressing\n    })\n\n    // Create a bucket with the selected Storage Policy (the access key must be allowed to create buckets)\n    _, err = client.CreateBucket(ctx, &s3.CreateBucketInput{\n        Bucket: aws.String(\"my-new-bucket\"),\n        CreateBucketConfiguration: &types.CreateBucketConfiguration{\n            LocationConstraint: types.BucketLocationConstraint(\"STORAGE_POLICY_NAME\"),\n        },\n    })\n    if err != nil {\n        panic(err)\n    }\n\n    // List the objects in a bucket\n    out, err := client.ListObjectsV2(ctx, &s3.ListObjectsV2Input{Bucket: aws.String(\"my-new-bucket\")})\n    if err != nil {\n        panic(err)\n    }\n    for _, o := range out.Contents {\n        fmt.Println(*o.Key)\n    }\n}\n",[2208],{"type":18,"tag":95,"props":2209,"children":2210},{"__ignoreMap":10},[2211,2224,2231,2243,2261,2277,2284,2300,2316,2332,2348,2364,2371,2378,2396,2424,2431,2439,2466,2496,2513,2556,2564,2572,2600,2613,2621,2628,2688,2722,2744,2753,2761,2770,2821,2846,2877,2903,2912,2920,2944,2956,2964,2972,2981,3046,3070,3082,3090,3118,3146,3154],{"type":18,"tag":387,"props":2212,"children":2213},{"class":389,"line":390},[2214,2219],{"type":18,"tag":387,"props":2215,"children":2216},{"style":404},[2217],{"type":24,"value":2218},"package",{"type":18,"tag":387,"props":2220,"children":2221},{"style":394},[2222],{"type":24,"value":2223}," main\n",{"type":18,"tag":387,"props":2225,"children":2226},{"class":389,"line":400},[2227],{"type":18,"tag":387,"props":2228,"children":2229},{"emptyLinePlaceholder":734},[2230],{"type":24,"value":737},{"type":18,"tag":387,"props":2232,"children":2233},{"class":389,"line":13},[2234,2238],{"type":18,"tag":387,"props":2235,"children":2236},{"style":404},[2237],{"type":24,"value":1002},{"type":18,"tag":387,"props":2239,"children":2240},{"style":409},[2241],{"type":24,"value":2242}," (\n",{"type":18,"tag":387,"props":2244,"children":2245},{"class":389,"line":428},[2246,2251,2256],{"type":18,"tag":387,"props":2247,"children":2248},{"style":625},[2249],{"type":24,"value":2250},"    \"",{"type":18,"tag":387,"props":2252,"children":2253},{"style":394},[2254],{"type":24,"value":2255},"context",{"type":18,"tag":387,"props":2257,"children":2258},{"style":625},[2259],{"type":24,"value":2260},"\"\n",{"type":18,"tag":387,"props":2262,"children":2263},{"class":389,"line":442},[2264,2268,2273],{"type":18,"tag":387,"props":2265,"children":2266},{"style":625},[2267],{"type":24,"value":2250},{"type":18,"tag":387,"props":2269,"children":2270},{"style":394},[2271],{"type":24,"value":2272},"fmt",{"type":18,"tag":387,"props":2274,"children":2275},{"style":625},[2276],{"type":24,"value":2260},{"type":18,"tag":387,"props":2278,"children":2279},{"class":389,"line":456},[2280],{"type":18,"tag":387,"props":2281,"children":2282},{"emptyLinePlaceholder":734},[2283],{"type":24,"value":737},{"type":18,"tag":387,"props":2285,"children":2286},{"class":389,"line":470},[2287,2291,2296],{"type":18,"tag":387,"props":2288,"children":2289},{"style":625},[2290],{"type":24,"value":2250},{"type":18,"tag":387,"props":2292,"children":2293},{"style":394},[2294],{"type":24,"value":2295},"github.com/aws/aws-sdk-go-v2/aws",{"type":18,"tag":387,"props":2297,"children":2298},{"style":625},[2299],{"type":24,"value":2260},{"type":18,"tag":387,"props":2301,"children":2302},{"class":389,"line":483},[2303,2307,2312],{"type":18,"tag":387,"props":2304,"children":2305},{"style":625},[2306],{"type":24,"value":2250},{"type":18,"tag":387,"props":2308,"children":2309},{"style":394},[2310],{"type":24,"value":2311},"github.com/aws/aws-sdk-go-v2/config",{"type":18,"tag":387,"props":2313,"children":2314},{"style":625},[2315],{"type":24,"value":2260},{"type":18,"tag":387,"props":2317,"children":2318},{"class":389,"line":496},[2319,2323,2328],{"type":18,"tag":387,"props":2320,"children":2321},{"style":625},[2322],{"type":24,"value":2250},{"type":18,"tag":387,"props":2324,"children":2325},{"style":394},[2326],{"type":24,"value":2327},"github.com/aws/aws-sdk-go-v2/credentials",{"type":18,"tag":387,"props":2329,"children":2330},{"style":625},[2331],{"type":24,"value":2260},{"type":18,"tag":387,"props":2333,"children":2334},{"class":389,"line":833},[2335,2339,2344],{"type":18,"tag":387,"props":2336,"children":2337},{"style":625},[2338],{"type":24,"value":2250},{"type":18,"tag":387,"props":2340,"children":2341},{"style":394},[2342],{"type":24,"value":2343},"github.com/aws/aws-sdk-go-v2/service/s3",{"type":18,"tag":387,"props":2345,"children":2346},{"style":625},[2347],{"type":24,"value":2260},{"type":18,"tag":387,"props":2349,"children":2350},{"class":389,"line":842},[2351,2355,2360],{"type":18,"tag":387,"props":2352,"children":2353},{"style":625},[2354],{"type":24,"value":2250},{"type":18,"tag":387,"props":2356,"children":2357},{"style":394},[2358],{"type":24,"value":2359},"github.com/aws/aws-sdk-go-v2/service/s3/types",{"type":18,"tag":387,"props":2361,"children":2362},{"style":625},[2363],{"type":24,"value":2260},{"type":18,"tag":387,"props":2365,"children":2366},{"class":389,"line":876},[2367],{"type":18,"tag":387,"props":2368,"children":2369},{"style":409},[2370],{"type":24,"value":1254},{"type":18,"tag":387,"props":2372,"children":2373},{"class":389,"line":884},[2374],{"type":18,"tag":387,"props":2375,"children":2376},{"emptyLinePlaceholder":734},[2377],{"type":24,"value":737},{"type":18,"tag":387,"props":2379,"children":2380},{"class":389,"line":893},[2381,2386,2391],{"type":18,"tag":387,"props":2382,"children":2383},{"style":404},[2384],{"type":24,"value":2385},"func",{"type":18,"tag":387,"props":2387,"children":2388},{"style":1736},[2389],{"type":24,"value":2390}," main",{"type":18,"tag":387,"props":2392,"children":2393},{"style":409},[2394],{"type":24,"value":2395},"() {\n",{"type":18,"tag":387,"props":2397,"children":2398},{"class":389,"line":1248},[2399,2404,2409,2414,2419],{"type":18,"tag":387,"props":2400,"children":2401},{"style":409},[2402],{"type":24,"value":2403},"    ctx ",{"type":18,"tag":387,"props":2405,"children":2406},{"style":404},[2407],{"type":24,"value":2408},":=",{"type":18,"tag":387,"props":2410,"children":2411},{"style":409},[2412],{"type":24,"value":2413}," context.",{"type":18,"tag":387,"props":2415,"children":2416},{"style":1736},[2417],{"type":24,"value":2418},"TODO",{"type":18,"tag":387,"props":2420,"children":2421},{"style":409},[2422],{"type":24,"value":2423},"()\n",{"type":18,"tag":387,"props":2425,"children":2426},{"class":389,"line":1257},[2427],{"type":18,"tag":387,"props":2428,"children":2429},{"emptyLinePlaceholder":734},[2430],{"type":24,"value":737},{"type":18,"tag":387,"props":2432,"children":2433},{"class":389,"line":1265},[2434],{"type":18,"tag":387,"props":2435,"children":2436},{"style":681},[2437],{"type":24,"value":2438},"    // Prefer environment variables or a secrets store over hard-coded keys\n",{"type":18,"tag":387,"props":2440,"children":2441},{"class":389,"line":1273},[2442,2447,2451,2456,2461],{"type":18,"tag":387,"props":2443,"children":2444},{"style":409},[2445],{"type":24,"value":2446},"    cfg, err ",{"type":18,"tag":387,"props":2448,"children":2449},{"style":404},[2450],{"type":24,"value":2408},{"type":18,"tag":387,"props":2452,"children":2453},{"style":409},[2454],{"type":24,"value":2455}," config.",{"type":18,"tag":387,"props":2457,"children":2458},{"style":1736},[2459],{"type":24,"value":2460},"LoadDefaultConfig",{"type":18,"tag":387,"props":2462,"children":2463},{"style":409},[2464],{"type":24,"value":2465},"(ctx,\n",{"type":18,"tag":387,"props":2467,"children":2468},{"class":389,"line":1282},[2469,2474,2479,2483,2487,2492],{"type":18,"tag":387,"props":2470,"children":2471},{"style":409},[2472],{"type":24,"value":2473},"        config.",{"type":18,"tag":387,"props":2475,"children":2476},{"style":1736},[2477],{"type":24,"value":2478},"WithRegion",{"type":18,"tag":387,"props":2480,"children":2481},{"style":409},[2482],{"type":24,"value":1898},{"type":18,"tag":387,"props":2484,"children":2485},{"style":625},[2486],{"type":24,"value":1773},{"type":18,"tag":387,"props":2488,"children":2489},{"style":409},[2490],{"type":24,"value":2491},"), ",{"type":18,"tag":387,"props":2493,"children":2494},{"style":681},[2495],{"type":24,"value":1782},{"type":18,"tag":387,"props":2497,"children":2498},{"class":389,"line":1304},[2499,2503,2508],{"type":18,"tag":387,"props":2500,"children":2501},{"style":409},[2502],{"type":24,"value":2473},{"type":18,"tag":387,"props":2504,"children":2505},{"style":1736},[2506],{"type":24,"value":2507},"WithCredentialsProvider",{"type":18,"tag":387,"props":2509,"children":2510},{"style":409},[2511],{"type":24,"value":2512},"(\n",{"type":18,"tag":387,"props":2514,"children":2515},{"class":389,"line":1340},[2516,2521,2526,2530,2534,2538,2542,2546,2551],{"type":18,"tag":387,"props":2517,"children":2518},{"style":409},[2519],{"type":24,"value":2520},"            credentials.",{"type":18,"tag":387,"props":2522,"children":2523},{"style":1736},[2524],{"type":24,"value":2525},"NewStaticCredentialsProvider",{"type":18,"tag":387,"props":2527,"children":2528},{"style":409},[2529],{"type":24,"value":1898},{"type":18,"tag":387,"props":2531,"children":2532},{"style":625},[2533],{"type":24,"value":1132},{"type":18,"tag":387,"props":2535,"children":2536},{"style":409},[2537],{"type":24,"value":1530},{"type":18,"tag":387,"props":2539,"children":2540},{"style":625},[2541],{"type":24,"value":1153},{"type":18,"tag":387,"props":2543,"children":2544},{"style":409},[2545],{"type":24,"value":1530},{"type":18,"tag":387,"props":2547,"children":2548},{"style":625},[2549],{"type":24,"value":2550},"\"\"",{"type":18,"tag":387,"props":2552,"children":2553},{"style":409},[2554],{"type":24,"value":2555},"),\n",{"type":18,"tag":387,"props":2557,"children":2558},{"class":389,"line":1348},[2559],{"type":18,"tag":387,"props":2560,"children":2561},{"style":409},[2562],{"type":24,"value":2563},"        ),\n",{"type":18,"tag":387,"props":2565,"children":2566},{"class":389,"line":1356},[2567],{"type":18,"tag":387,"props":2568,"children":2569},{"style":409},[2570],{"type":24,"value":2571},"    )\n",{"type":18,"tag":387,"props":2573,"children":2574},{"class":389,"line":1365},[2575,2580,2585,2590,2595],{"type":18,"tag":387,"props":2576,"children":2577},{"style":404},[2578],{"type":24,"value":2579},"    if",{"type":18,"tag":387,"props":2581,"children":2582},{"style":409},[2583],{"type":24,"value":2584}," err ",{"type":18,"tag":387,"props":2586,"children":2587},{"style":404},[2588],{"type":24,"value":2589},"!=",{"type":18,"tag":387,"props":2591,"children":2592},{"style":710},[2593],{"type":24,"value":2594}," nil",{"type":18,"tag":387,"props":2596,"children":2597},{"style":409},[2598],{"type":24,"value":2599}," {\n",{"type":18,"tag":387,"props":2601,"children":2602},{"class":389,"line":1417},[2603,2608],{"type":18,"tag":387,"props":2604,"children":2605},{"style":1736},[2606],{"type":24,"value":2607},"        panic",{"type":18,"tag":387,"props":2609,"children":2610},{"style":409},[2611],{"type":24,"value":2612},"(err)\n",{"type":18,"tag":387,"props":2614,"children":2615},{"class":389,"line":1441},[2616],{"type":18,"tag":387,"props":2617,"children":2618},{"style":409},[2619],{"type":24,"value":2620},"    }\n",{"type":18,"tag":387,"props":2622,"children":2623},{"class":389,"line":1449},[2624],{"type":18,"tag":387,"props":2625,"children":2626},{"emptyLinePlaceholder":734},[2627],{"type":24,"value":737},{"type":18,"tag":387,"props":2629,"children":2630},{"class":389,"line":1458},[2631,2636,2640,2644,2649,2654,2658,2662,2666,2670,2674,2678,2683],{"type":18,"tag":387,"props":2632,"children":2633},{"style":409},[2634],{"type":24,"value":2635},"    client ",{"type":18,"tag":387,"props":2637,"children":2638},{"style":404},[2639],{"type":24,"value":2408},{"type":18,"tag":387,"props":2641,"children":2642},{"style":409},[2643],{"type":24,"value":1888},{"type":18,"tag":387,"props":2645,"children":2646},{"style":1736},[2647],{"type":24,"value":2648},"NewFromConfig",{"type":18,"tag":387,"props":2650,"children":2651},{"style":409},[2652],{"type":24,"value":2653},"(cfg, ",{"type":18,"tag":387,"props":2655,"children":2656},{"style":404},[2657],{"type":24,"value":2385},{"type":18,"tag":387,"props":2659,"children":2660},{"style":409},[2661],{"type":24,"value":1898},{"type":18,"tag":387,"props":2663,"children":2664},{"style":394},[2665],{"type":24,"value":2071},{"type":18,"tag":387,"props":2667,"children":2668},{"style":404},[2669],{"type":24,"value":1479},{"type":18,"tag":387,"props":2671,"children":2672},{"style":394},[2673],{"type":24,"value":434},{"type":18,"tag":387,"props":2675,"children":2676},{"style":409},[2677],{"type":24,"value":357},{"type":18,"tag":387,"props":2679,"children":2680},{"style":394},[2681],{"type":24,"value":2682},"Options",{"type":18,"tag":387,"props":2684,"children":2685},{"style":409},[2686],{"type":24,"value":2687},") {\n",{"type":18,"tag":387,"props":2689,"children":2690},{"class":389,"line":1487},[2691,2696,2700,2705,2710,2714,2718],{"type":18,"tag":387,"props":2692,"children":2693},{"style":409},[2694],{"type":24,"value":2695},"        o.BaseEndpoint ",{"type":18,"tag":387,"props":2697,"children":2698},{"style":404},[2699],{"type":24,"value":601},{"type":18,"tag":387,"props":2701,"children":2702},{"style":409},[2703],{"type":24,"value":2704}," aws.",{"type":18,"tag":387,"props":2706,"children":2707},{"style":1736},[2708],{"type":24,"value":2709},"String",{"type":18,"tag":387,"props":2711,"children":2712},{"style":409},[2713],{"type":24,"value":1898},{"type":18,"tag":387,"props":2715,"children":2716},{"style":625},[2717],{"type":24,"value":1111},{"type":18,"tag":387,"props":2719,"children":2720},{"style":409},[2721],{"type":24,"value":1254},{"type":18,"tag":387,"props":2723,"children":2724},{"class":389,"line":1558},[2725,2730,2734,2739],{"type":18,"tag":387,"props":2726,"children":2727},{"style":409},[2728],{"type":24,"value":2729},"        o.UsePathStyle ",{"type":18,"tag":387,"props":2731,"children":2732},{"style":404},[2733],{"type":24,"value":601},{"type":18,"tag":387,"props":2735,"children":2736},{"style":710},[2737],{"type":24,"value":2738}," true",{"type":18,"tag":387,"props":2740,"children":2741},{"style":681},[2742],{"type":24,"value":2743}," // required: path-style bucket addressing\n",{"type":18,"tag":387,"props":2745,"children":2747},{"class":389,"line":2746},31,[2748],{"type":18,"tag":387,"props":2749,"children":2750},{"style":409},[2751],{"type":24,"value":2752},"    })\n",{"type":18,"tag":387,"props":2754,"children":2756},{"class":389,"line":2755},32,[2757],{"type":18,"tag":387,"props":2758,"children":2759},{"emptyLinePlaceholder":734},[2760],{"type":24,"value":737},{"type":18,"tag":387,"props":2762,"children":2764},{"class":389,"line":2763},33,[2765],{"type":18,"tag":387,"props":2766,"children":2767},{"style":681},[2768],{"type":24,"value":2769},"    // Create a bucket with the selected Storage Policy (the access key must be allowed to create buckets)\n",{"type":18,"tag":387,"props":2771,"children":2773},{"class":389,"line":2772},34,[2774,2779,2783,2788,2793,2798,2803,2807,2811,2816],{"type":18,"tag":387,"props":2775,"children":2776},{"style":409},[2777],{"type":24,"value":2778},"    _, err ",{"type":18,"tag":387,"props":2780,"children":2781},{"style":404},[2782],{"type":24,"value":601},{"type":18,"tag":387,"props":2784,"children":2785},{"style":409},[2786],{"type":24,"value":2787}," client.",{"type":18,"tag":387,"props":2789,"children":2790},{"style":1736},[2791],{"type":24,"value":2792},"CreateBucket",{"type":18,"tag":387,"props":2794,"children":2795},{"style":409},[2796],{"type":24,"value":2797},"(ctx, ",{"type":18,"tag":387,"props":2799,"children":2800},{"style":404},[2801],{"type":24,"value":2802},"&",{"type":18,"tag":387,"props":2804,"children":2805},{"style":394},[2806],{"type":24,"value":434},{"type":18,"tag":387,"props":2808,"children":2809},{"style":409},[2810],{"type":24,"value":357},{"type":18,"tag":387,"props":2812,"children":2813},{"style":394},[2814],{"type":24,"value":2815},"CreateBucketInput",{"type":18,"tag":387,"props":2817,"children":2818},{"style":409},[2819],{"type":24,"value":2820},"{\n",{"type":18,"tag":387,"props":2822,"children":2824},{"class":389,"line":2823},35,[2825,2830,2834,2838,2842],{"type":18,"tag":387,"props":2826,"children":2827},{"style":409},[2828],{"type":24,"value":2829},"        Bucket: aws.",{"type":18,"tag":387,"props":2831,"children":2832},{"style":1736},[2833],{"type":24,"value":2709},{"type":18,"tag":387,"props":2835,"children":2836},{"style":409},[2837],{"type":24,"value":1898},{"type":18,"tag":387,"props":2839,"children":2840},{"style":625},[2841],{"type":24,"value":1297},{"type":18,"tag":387,"props":2843,"children":2844},{"style":409},[2845],{"type":24,"value":2555},{"type":18,"tag":387,"props":2847,"children":2849},{"class":389,"line":2848},36,[2850,2855,2859,2864,2868,2873],{"type":18,"tag":387,"props":2851,"children":2852},{"style":409},[2853],{"type":24,"value":2854},"        CreateBucketConfiguration: ",{"type":18,"tag":387,"props":2856,"children":2857},{"style":404},[2858],{"type":24,"value":2802},{"type":18,"tag":387,"props":2860,"children":2861},{"style":394},[2862],{"type":24,"value":2863},"types",{"type":18,"tag":387,"props":2865,"children":2866},{"style":409},[2867],{"type":24,"value":357},{"type":18,"tag":387,"props":2869,"children":2870},{"style":394},[2871],{"type":24,"value":2872},"CreateBucketConfiguration",{"type":18,"tag":387,"props":2874,"children":2875},{"style":409},[2876],{"type":24,"value":2820},{"type":18,"tag":387,"props":2878,"children":2880},{"class":389,"line":2879},37,[2881,2886,2891,2895,2899],{"type":18,"tag":387,"props":2882,"children":2883},{"style":409},[2884],{"type":24,"value":2885},"            LocationConstraint: types.",{"type":18,"tag":387,"props":2887,"children":2888},{"style":1736},[2889],{"type":24,"value":2890},"BucketLocationConstraint",{"type":18,"tag":387,"props":2892,"children":2893},{"style":409},[2894],{"type":24,"value":1898},{"type":18,"tag":387,"props":2896,"children":2897},{"style":625},[2898],{"type":24,"value":1332},{"type":18,"tag":387,"props":2900,"children":2901},{"style":409},[2902],{"type":24,"value":2555},{"type":18,"tag":387,"props":2904,"children":2906},{"class":389,"line":2905},38,[2907],{"type":18,"tag":387,"props":2908,"children":2909},{"style":409},[2910],{"type":24,"value":2911},"        },\n",{"type":18,"tag":387,"props":2913,"children":2915},{"class":389,"line":2914},39,[2916],{"type":18,"tag":387,"props":2917,"children":2918},{"style":409},[2919],{"type":24,"value":2752},{"type":18,"tag":387,"props":2921,"children":2923},{"class":389,"line":2922},40,[2924,2928,2932,2936,2940],{"type":18,"tag":387,"props":2925,"children":2926},{"style":404},[2927],{"type":24,"value":2579},{"type":18,"tag":387,"props":2929,"children":2930},{"style":409},[2931],{"type":24,"value":2584},{"type":18,"tag":387,"props":2933,"children":2934},{"style":404},[2935],{"type":24,"value":2589},{"type":18,"tag":387,"props":2937,"children":2938},{"style":710},[2939],{"type":24,"value":2594},{"type":18,"tag":387,"props":2941,"children":2942},{"style":409},[2943],{"type":24,"value":2599},{"type":18,"tag":387,"props":2945,"children":2947},{"class":389,"line":2946},41,[2948,2952],{"type":18,"tag":387,"props":2949,"children":2950},{"style":1736},[2951],{"type":24,"value":2607},{"type":18,"tag":387,"props":2953,"children":2954},{"style":409},[2955],{"type":24,"value":2612},{"type":18,"tag":387,"props":2957,"children":2959},{"class":389,"line":2958},42,[2960],{"type":18,"tag":387,"props":2961,"children":2962},{"style":409},[2963],{"type":24,"value":2620},{"type":18,"tag":387,"props":2965,"children":2967},{"class":389,"line":2966},43,[2968],{"type":18,"tag":387,"props":2969,"children":2970},{"emptyLinePlaceholder":734},[2971],{"type":24,"value":737},{"type":18,"tag":387,"props":2973,"children":2975},{"class":389,"line":2974},44,[2976],{"type":18,"tag":387,"props":2977,"children":2978},{"style":681},[2979],{"type":24,"value":2980},"    // List the objects in a bucket\n",{"type":18,"tag":387,"props":2982,"children":2984},{"class":389,"line":2983},45,[2985,2990,2994,2998,3003,3007,3011,3015,3019,3024,3029,3033,3037,3041],{"type":18,"tag":387,"props":2986,"children":2987},{"style":409},[2988],{"type":24,"value":2989},"    out, err ",{"type":18,"tag":387,"props":2991,"children":2992},{"style":404},[2993],{"type":24,"value":2408},{"type":18,"tag":387,"props":2995,"children":2996},{"style":409},[2997],{"type":24,"value":2787},{"type":18,"tag":387,"props":2999,"children":3000},{"style":1736},[3001],{"type":24,"value":3002},"ListObjectsV2",{"type":18,"tag":387,"props":3004,"children":3005},{"style":409},[3006],{"type":24,"value":2797},{"type":18,"tag":387,"props":3008,"children":3009},{"style":404},[3010],{"type":24,"value":2802},{"type":18,"tag":387,"props":3012,"children":3013},{"style":394},[3014],{"type":24,"value":434},{"type":18,"tag":387,"props":3016,"children":3017},{"style":409},[3018],{"type":24,"value":357},{"type":18,"tag":387,"props":3020,"children":3021},{"style":394},[3022],{"type":24,"value":3023},"ListObjectsV2Input",{"type":18,"tag":387,"props":3025,"children":3026},{"style":409},[3027],{"type":24,"value":3028},"{Bucket: aws.",{"type":18,"tag":387,"props":3030,"children":3031},{"style":1736},[3032],{"type":24,"value":2709},{"type":18,"tag":387,"props":3034,"children":3035},{"style":409},[3036],{"type":24,"value":1898},{"type":18,"tag":387,"props":3038,"children":3039},{"style":625},[3040],{"type":24,"value":1297},{"type":18,"tag":387,"props":3042,"children":3043},{"style":409},[3044],{"type":24,"value":3045},")})\n",{"type":18,"tag":387,"props":3047,"children":3049},{"class":389,"line":3048},46,[3050,3054,3058,3062,3066],{"type":18,"tag":387,"props":3051,"children":3052},{"style":404},[3053],{"type":24,"value":2579},{"type":18,"tag":387,"props":3055,"children":3056},{"style":409},[3057],{"type":24,"value":2584},{"type":18,"tag":387,"props":3059,"children":3060},{"style":404},[3061],{"type":24,"value":2589},{"type":18,"tag":387,"props":3063,"children":3064},{"style":710},[3065],{"type":24,"value":2594},{"type":18,"tag":387,"props":3067,"children":3068},{"style":409},[3069],{"type":24,"value":2599},{"type":18,"tag":387,"props":3071,"children":3073},{"class":389,"line":3072},47,[3074,3078],{"type":18,"tag":387,"props":3075,"children":3076},{"style":1736},[3077],{"type":24,"value":2607},{"type":18,"tag":387,"props":3079,"children":3080},{"style":409},[3081],{"type":24,"value":2612},{"type":18,"tag":387,"props":3083,"children":3085},{"class":389,"line":3084},48,[3086],{"type":18,"tag":387,"props":3087,"children":3088},{"style":409},[3089],{"type":24,"value":2620},{"type":18,"tag":387,"props":3091,"children":3093},{"class":389,"line":3092},49,[3094,3099,3104,3108,3113],{"type":18,"tag":387,"props":3095,"children":3096},{"style":404},[3097],{"type":24,"value":3098},"    for",{"type":18,"tag":387,"props":3100,"children":3101},{"style":409},[3102],{"type":24,"value":3103}," _, o ",{"type":18,"tag":387,"props":3105,"children":3106},{"style":404},[3107],{"type":24,"value":2408},{"type":18,"tag":387,"props":3109,"children":3110},{"style":404},[3111],{"type":24,"value":3112}," range",{"type":18,"tag":387,"props":3114,"children":3115},{"style":409},[3116],{"type":24,"value":3117}," out.Contents {\n",{"type":18,"tag":387,"props":3119,"children":3121},{"class":389,"line":3120},50,[3122,3127,3132,3136,3141],{"type":18,"tag":387,"props":3123,"children":3124},{"style":409},[3125],{"type":24,"value":3126},"        fmt.",{"type":18,"tag":387,"props":3128,"children":3129},{"style":1736},[3130],{"type":24,"value":3131},"Println",{"type":18,"tag":387,"props":3133,"children":3134},{"style":409},[3135],{"type":24,"value":1898},{"type":18,"tag":387,"props":3137,"children":3138},{"style":404},[3139],{"type":24,"value":3140},"*",{"type":18,"tag":387,"props":3142,"children":3143},{"style":409},[3144],{"type":24,"value":3145},"o.Key)\n",{"type":18,"tag":387,"props":3147,"children":3149},{"class":389,"line":3148},51,[3150],{"type":18,"tag":387,"props":3151,"children":3152},{"style":409},[3153],{"type":24,"value":2620},{"type":18,"tag":387,"props":3155,"children":3157},{"class":389,"line":3156},52,[3158],{"type":18,"tag":387,"props":3159,"children":3160},{"style":409},[3161],{"type":24,"value":3162},"}\n",{"type":18,"tag":39,"props":3164,"children":3166},{"id":3165},"java",[3167],{"type":24,"value":3168},"Java",{"type":18,"tag":26,"props":3170,"children":3171},{},[3172,3174,3180,3181],{"type":24,"value":3173},"AWS SDK for Java v2: ",{"type":18,"tag":160,"props":3175,"children":3178},{"href":3176,"rel":3177},"https://aws.amazon.com/sdk-for-java/",[164],[3179],{"type":24,"value":1621},{"type":24,"value":943},{"type":18,"tag":160,"props":3182,"children":3185},{"href":3183,"rel":3184},"https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/examples-s3.html",[164],[3186],{"type":24,"value":3187},"working with S3",{"type":18,"tag":513,"props":3189,"children":3191},{":labels":3190},"[\"Maven\",\"Gradle\"]",[3192,3325],{"type":18,"tag":518,"props":3193,"children":3194},{"v-slot:tab1":10},[3195,3205],{"type":18,"tag":26,"props":3196,"children":3197},{},[3198,3204],{"type":18,"tag":95,"props":3199,"children":3201},{"className":3200},[],[3202],{"type":24,"value":3203},"pom.xml",{"type":24,"value":375},{"type":18,"tag":377,"props":3206,"children":3210},{"className":3207,"code":3208,"language":3209,"meta":10,"style":10},"language-xml shiki shiki-themes github-dark-dimmed","\u003Cdependency>\n  \u003CgroupId>software.amazon.awssdk\u003C/groupId>\n  \u003CartifactId>s3\u003C/artifactId>\n  \u003Cversion>[2.0,3.0)\u003C/version>\n\u003C/dependency>\n","xml",[3211],{"type":18,"tag":95,"props":3212,"children":3213},{"__ignoreMap":10},[3214,3233,3259,3284,3309],{"type":18,"tag":387,"props":3215,"children":3216},{"class":389,"line":390},[3217,3222,3228],{"type":18,"tag":387,"props":3218,"children":3219},{"style":409},[3220],{"type":24,"value":3221},"\u003C",{"type":18,"tag":387,"props":3223,"children":3225},{"style":3224},"--shiki-default:#8DDB8C",[3226],{"type":24,"value":3227},"dependency",{"type":18,"tag":387,"props":3229,"children":3230},{"style":409},[3231],{"type":24,"value":3232},">\n",{"type":18,"tag":387,"props":3234,"children":3235},{"class":389,"line":400},[3236,3241,3246,3251,3255],{"type":18,"tag":387,"props":3237,"children":3238},{"style":409},[3239],{"type":24,"value":3240},"  \u003C",{"type":18,"tag":387,"props":3242,"children":3243},{"style":3224},[3244],{"type":24,"value":3245},"groupId",{"type":18,"tag":387,"props":3247,"children":3248},{"style":409},[3249],{"type":24,"value":3250},">software.amazon.awssdk\u003C/",{"type":18,"tag":387,"props":3252,"children":3253},{"style":3224},[3254],{"type":24,"value":3245},{"type":18,"tag":387,"props":3256,"children":3257},{"style":409},[3258],{"type":24,"value":3232},{"type":18,"tag":387,"props":3260,"children":3261},{"class":389,"line":13},[3262,3266,3271,3276,3280],{"type":18,"tag":387,"props":3263,"children":3264},{"style":409},[3265],{"type":24,"value":3240},{"type":18,"tag":387,"props":3267,"children":3268},{"style":3224},[3269],{"type":24,"value":3270},"artifactId",{"type":18,"tag":387,"props":3272,"children":3273},{"style":409},[3274],{"type":24,"value":3275},">s3\u003C/",{"type":18,"tag":387,"props":3277,"children":3278},{"style":3224},[3279],{"type":24,"value":3270},{"type":18,"tag":387,"props":3281,"children":3282},{"style":409},[3283],{"type":24,"value":3232},{"type":18,"tag":387,"props":3285,"children":3286},{"class":389,"line":428},[3287,3291,3296,3301,3305],{"type":18,"tag":387,"props":3288,"children":3289},{"style":409},[3290],{"type":24,"value":3240},{"type":18,"tag":387,"props":3292,"children":3293},{"style":3224},[3294],{"type":24,"value":3295},"version",{"type":18,"tag":387,"props":3297,"children":3298},{"style":409},[3299],{"type":24,"value":3300},">[2.0,3.0)\u003C/",{"type":18,"tag":387,"props":3302,"children":3303},{"style":3224},[3304],{"type":24,"value":3295},{"type":18,"tag":387,"props":3306,"children":3307},{"style":409},[3308],{"type":24,"value":3232},{"type":18,"tag":387,"props":3310,"children":3311},{"class":389,"line":442},[3312,3317,3321],{"type":18,"tag":387,"props":3313,"children":3314},{"style":409},[3315],{"type":24,"value":3316},"\u003C/",{"type":18,"tag":387,"props":3318,"children":3319},{"style":3224},[3320],{"type":24,"value":3227},{"type":18,"tag":387,"props":3322,"children":3323},{"style":409},[3324],{"type":24,"value":3232},{"type":18,"tag":518,"props":3326,"children":3327},{"v-slot:tab2":10},[3328,3338],{"type":18,"tag":26,"props":3329,"children":3330},{},[3331,3337],{"type":18,"tag":95,"props":3332,"children":3334},{"className":3333},[],[3335],{"type":24,"value":3336},"build.gradle.kts",{"type":24,"value":375},{"type":18,"tag":377,"props":3339,"children":3343},{"className":3340,"code":3341,"language":3342,"meta":10,"style":10},"language-kotlin shiki shiki-themes github-dark-dimmed","implementation(\"software.amazon.awssdk:s3:2.+\")\n","kotlin",[3344],{"type":18,"tag":95,"props":3345,"children":3346},{"__ignoreMap":10},[3347],{"type":18,"tag":387,"props":3348,"children":3349},{"class":389,"line":390},[3350,3355,3359,3364],{"type":18,"tag":387,"props":3351,"children":3352},{"style":1736},[3353],{"type":24,"value":3354},"implementation",{"type":18,"tag":387,"props":3356,"children":3357},{"style":409},[3358],{"type":24,"value":1898},{"type":18,"tag":387,"props":3360,"children":3361},{"style":625},[3362],{"type":24,"value":3363},"\"software.amazon.awssdk:s3:2.+\"",{"type":18,"tag":387,"props":3365,"children":3366},{"style":409},[3367],{"type":24,"value":1254},{"type":18,"tag":26,"props":3369,"children":3370},{},[3371,3377],{"type":18,"tag":95,"props":3372,"children":3374},{"className":3373},[],[3375],{"type":24,"value":3376},"Example.java",{"type":24,"value":375},{"type":18,"tag":377,"props":3379,"children":3382},{"className":3380,"code":3381,"language":3165,"meta":10,"style":10},"language-java shiki shiki-themes github-dark-dimmed","import java.net.URI;\nimport software.amazon.awssdk.auth.credentials.AwsBasicCredentials;\nimport software.amazon.awssdk.auth.credentials.StaticCredentialsProvider;\nimport software.amazon.awssdk.regions.Region;\nimport software.amazon.awssdk.services.s3.S3Client;\n\npublic class Example {\n    public static void main(String[] args) {\n        // Prefer environment variables or a secrets store over hard-coded keys\n        S3Client s3 = S3Client.builder()\n            .endpointOverride(URI.create(\"https://s3.ironshard.ai\"))\n            .region(Region.of(\"us-east-1\")) // required by the SDK for request signing, any value works\n            .forcePathStyle(true) // required: path-style bucket addressing\n            .credentialsProvider(StaticCredentialsProvider.create(\n                AwsBasicCredentials.create(\"IRONSHARD_ACCESS_KEY\", \"IRONSHARD_SECRET_KEY\")))\n            .build();\n\n        // Create a bucket with the selected Storage Policy (the access key must be allowed to create buckets)\n        s3.createBucket(b -> b\n            .bucket(\"my-new-bucket\")\n            .createBucketConfiguration(c -> c.locationConstraint(\"STORAGE_POLICY_NAME\")));\n\n        // List the objects in a bucket\n        s3.listObjectsV2(b -> b.bucket(\"my-new-bucket\")).contents()\n            .forEach(o -> System.out.println(o.key()));\n    }\n}\n",[3383],{"type":18,"tag":95,"props":3384,"children":3385},{"__ignoreMap":10},[3386,3398,3410,3422,3434,3446,3453,3475,3519,3527,3557,3593,3631,3659,3684,3717,3734,3741,3749,3777,3801,3845,3852,3860,3911,3957,3964],{"type":18,"tag":387,"props":3387,"children":3388},{"class":389,"line":390},[3389,3393],{"type":18,"tag":387,"props":3390,"children":3391},{"style":404},[3392],{"type":24,"value":1002},{"type":18,"tag":387,"props":3394,"children":3395},{"style":409},[3396],{"type":24,"value":3397}," java.net.URI;\n",{"type":18,"tag":387,"props":3399,"children":3400},{"class":389,"line":400},[3401,3405],{"type":18,"tag":387,"props":3402,"children":3403},{"style":404},[3404],{"type":24,"value":1002},{"type":18,"tag":387,"props":3406,"children":3407},{"style":409},[3408],{"type":24,"value":3409}," software.amazon.awssdk.auth.credentials.AwsBasicCredentials;\n",{"type":18,"tag":387,"props":3411,"children":3412},{"class":389,"line":13},[3413,3417],{"type":18,"tag":387,"props":3414,"children":3415},{"style":404},[3416],{"type":24,"value":1002},{"type":18,"tag":387,"props":3418,"children":3419},{"style":409},[3420],{"type":24,"value":3421}," software.amazon.awssdk.auth.credentials.StaticCredentialsProvider;\n",{"type":18,"tag":387,"props":3423,"children":3424},{"class":389,"line":428},[3425,3429],{"type":18,"tag":387,"props":3426,"children":3427},{"style":404},[3428],{"type":24,"value":1002},{"type":18,"tag":387,"props":3430,"children":3431},{"style":409},[3432],{"type":24,"value":3433}," software.amazon.awssdk.regions.Region;\n",{"type":18,"tag":387,"props":3435,"children":3436},{"class":389,"line":442},[3437,3441],{"type":18,"tag":387,"props":3438,"children":3439},{"style":404},[3440],{"type":24,"value":1002},{"type":18,"tag":387,"props":3442,"children":3443},{"style":409},[3444],{"type":24,"value":3445}," software.amazon.awssdk.services.s3.S3Client;\n",{"type":18,"tag":387,"props":3447,"children":3448},{"class":389,"line":456},[3449],{"type":18,"tag":387,"props":3450,"children":3451},{"emptyLinePlaceholder":734},[3452],{"type":24,"value":737},{"type":18,"tag":387,"props":3454,"children":3455},{"class":389,"line":470},[3456,3461,3466,3471],{"type":18,"tag":387,"props":3457,"children":3458},{"style":404},[3459],{"type":24,"value":3460},"public",{"type":18,"tag":387,"props":3462,"children":3463},{"style":404},[3464],{"type":24,"value":3465}," class",{"type":18,"tag":387,"props":3467,"children":3468},{"style":394},[3469],{"type":24,"value":3470}," Example",{"type":18,"tag":387,"props":3472,"children":3473},{"style":409},[3474],{"type":24,"value":2599},{"type":18,"tag":387,"props":3476,"children":3477},{"class":389,"line":483},[3478,3483,3488,3493,3497,3501,3505,3510,3515],{"type":18,"tag":387,"props":3479,"children":3480},{"style":404},[3481],{"type":24,"value":3482},"    public",{"type":18,"tag":387,"props":3484,"children":3485},{"style":404},[3486],{"type":24,"value":3487}," static",{"type":18,"tag":387,"props":3489,"children":3490},{"style":404},[3491],{"type":24,"value":3492}," void",{"type":18,"tag":387,"props":3494,"children":3495},{"style":1736},[3496],{"type":24,"value":2390},{"type":18,"tag":387,"props":3498,"children":3499},{"style":409},[3500],{"type":24,"value":1898},{"type":18,"tag":387,"props":3502,"children":3503},{"style":404},[3504],{"type":24,"value":2709},{"type":18,"tag":387,"props":3506,"children":3507},{"style":409},[3508],{"type":24,"value":3509},"[] ",{"type":18,"tag":387,"props":3511,"children":3512},{"style":394},[3513],{"type":24,"value":3514},"args",{"type":18,"tag":387,"props":3516,"children":3517},{"style":409},[3518],{"type":24,"value":2687},{"type":18,"tag":387,"props":3520,"children":3521},{"class":389,"line":496},[3522],{"type":18,"tag":387,"props":3523,"children":3524},{"style":681},[3525],{"type":24,"value":3526},"        // Prefer environment variables or a secrets store over hard-coded keys\n",{"type":18,"tag":387,"props":3528,"children":3529},{"class":389,"line":833},[3530,3535,3539,3543,3548,3553],{"type":18,"tag":387,"props":3531,"children":3532},{"style":409},[3533],{"type":24,"value":3534},"        S3Client",{"type":18,"tag":387,"props":3536,"children":3537},{"style":409},[3538],{"type":24,"value":697},{"type":18,"tag":387,"props":3540,"children":3541},{"style":404},[3542],{"type":24,"value":1469},{"type":18,"tag":387,"props":3544,"children":3545},{"style":409},[3546],{"type":24,"value":3547}," S3Client.",{"type":18,"tag":387,"props":3549,"children":3550},{"style":1736},[3551],{"type":24,"value":3552},"builder",{"type":18,"tag":387,"props":3554,"children":3555},{"style":409},[3556],{"type":24,"value":2423},{"type":18,"tag":387,"props":3558,"children":3559},{"class":389,"line":842},[3560,3565,3570,3575,3580,3584,3588],{"type":18,"tag":387,"props":3561,"children":3562},{"style":409},[3563],{"type":24,"value":3564},"            .",{"type":18,"tag":387,"props":3566,"children":3567},{"style":1736},[3568],{"type":24,"value":3569},"endpointOverride",{"type":18,"tag":387,"props":3571,"children":3572},{"style":409},[3573],{"type":24,"value":3574},"(URI.",{"type":18,"tag":387,"props":3576,"children":3577},{"style":1736},[3578],{"type":24,"value":3579},"create",{"type":18,"tag":387,"props":3581,"children":3582},{"style":409},[3583],{"type":24,"value":1898},{"type":18,"tag":387,"props":3585,"children":3586},{"style":625},[3587],{"type":24,"value":1111},{"type":18,"tag":387,"props":3589,"children":3590},{"style":409},[3591],{"type":24,"value":3592},"))\n",{"type":18,"tag":387,"props":3594,"children":3595},{"class":389,"line":876},[3596,3600,3604,3609,3614,3618,3622,3627],{"type":18,"tag":387,"props":3597,"children":3598},{"style":409},[3599],{"type":24,"value":3564},{"type":18,"tag":387,"props":3601,"children":3602},{"style":1736},[3603],{"type":24,"value":239},{"type":18,"tag":387,"props":3605,"children":3606},{"style":409},[3607],{"type":24,"value":3608},"(Region.",{"type":18,"tag":387,"props":3610,"children":3611},{"style":1736},[3612],{"type":24,"value":3613},"of",{"type":18,"tag":387,"props":3615,"children":3616},{"style":409},[3617],{"type":24,"value":1898},{"type":18,"tag":387,"props":3619,"children":3620},{"style":625},[3621],{"type":24,"value":1773},{"type":18,"tag":387,"props":3623,"children":3624},{"style":409},[3625],{"type":24,"value":3626},")) ",{"type":18,"tag":387,"props":3628,"children":3629},{"style":681},[3630],{"type":24,"value":1782},{"type":18,"tag":387,"props":3632,"children":3633},{"class":389,"line":884},[3634,3638,3643,3647,3651,3655],{"type":18,"tag":387,"props":3635,"children":3636},{"style":409},[3637],{"type":24,"value":3564},{"type":18,"tag":387,"props":3639,"children":3640},{"style":1736},[3641],{"type":24,"value":3642},"forcePathStyle",{"type":18,"tag":387,"props":3644,"children":3645},{"style":409},[3646],{"type":24,"value":1898},{"type":18,"tag":387,"props":3648,"children":3649},{"style":710},[3650],{"type":24,"value":1795},{"type":18,"tag":387,"props":3652,"children":3653},{"style":409},[3654],{"type":24,"value":2076},{"type":18,"tag":387,"props":3656,"children":3657},{"style":681},[3658],{"type":24,"value":1804},{"type":18,"tag":387,"props":3660,"children":3661},{"class":389,"line":893},[3662,3666,3671,3676,3680],{"type":18,"tag":387,"props":3663,"children":3664},{"style":409},[3665],{"type":24,"value":3564},{"type":18,"tag":387,"props":3667,"children":3668},{"style":1736},[3669],{"type":24,"value":3670},"credentialsProvider",{"type":18,"tag":387,"props":3672,"children":3673},{"style":409},[3674],{"type":24,"value":3675},"(StaticCredentialsProvider.",{"type":18,"tag":387,"props":3677,"children":3678},{"style":1736},[3679],{"type":24,"value":3579},{"type":18,"tag":387,"props":3681,"children":3682},{"style":409},[3683],{"type":24,"value":2512},{"type":18,"tag":387,"props":3685,"children":3686},{"class":389,"line":1248},[3687,3692,3696,3700,3704,3708,3712],{"type":18,"tag":387,"props":3688,"children":3689},{"style":409},[3690],{"type":24,"value":3691},"                AwsBasicCredentials.",{"type":18,"tag":387,"props":3693,"children":3694},{"style":1736},[3695],{"type":24,"value":3579},{"type":18,"tag":387,"props":3697,"children":3698},{"style":409},[3699],{"type":24,"value":1898},{"type":18,"tag":387,"props":3701,"children":3702},{"style":625},[3703],{"type":24,"value":1132},{"type":18,"tag":387,"props":3705,"children":3706},{"style":409},[3707],{"type":24,"value":1530},{"type":18,"tag":387,"props":3709,"children":3710},{"style":625},[3711],{"type":24,"value":1153},{"type":18,"tag":387,"props":3713,"children":3714},{"style":409},[3715],{"type":24,"value":3716},")))\n",{"type":18,"tag":387,"props":3718,"children":3719},{"class":389,"line":1257},[3720,3724,3729],{"type":18,"tag":387,"props":3721,"children":3722},{"style":409},[3723],{"type":24,"value":3564},{"type":18,"tag":387,"props":3725,"children":3726},{"style":1736},[3727],{"type":24,"value":3728},"build",{"type":18,"tag":387,"props":3730,"children":3731},{"style":409},[3732],{"type":24,"value":3733},"();\n",{"type":18,"tag":387,"props":3735,"children":3736},{"class":389,"line":1265},[3737],{"type":18,"tag":387,"props":3738,"children":3739},{"emptyLinePlaceholder":734},[3740],{"type":24,"value":737},{"type":18,"tag":387,"props":3742,"children":3743},{"class":389,"line":1273},[3744],{"type":18,"tag":387,"props":3745,"children":3746},{"style":681},[3747],{"type":24,"value":3748},"        // Create a bucket with the selected Storage Policy (the access key must be allowed to create buckets)\n",{"type":18,"tag":387,"props":3750,"children":3751},{"class":389,"line":1282},[3752,3757,3762,3767,3772],{"type":18,"tag":387,"props":3753,"children":3754},{"style":409},[3755],{"type":24,"value":3756},"        s3.",{"type":18,"tag":387,"props":3758,"children":3759},{"style":1736},[3760],{"type":24,"value":3761},"createBucket",{"type":18,"tag":387,"props":3763,"children":3764},{"style":409},[3765],{"type":24,"value":3766},"(b ",{"type":18,"tag":387,"props":3768,"children":3769},{"style":404},[3770],{"type":24,"value":3771},"->",{"type":18,"tag":387,"props":3773,"children":3774},{"style":409},[3775],{"type":24,"value":3776}," b\n",{"type":18,"tag":387,"props":3778,"children":3779},{"class":389,"line":1304},[3780,3784,3789,3793,3797],{"type":18,"tag":387,"props":3781,"children":3782},{"style":409},[3783],{"type":24,"value":3564},{"type":18,"tag":387,"props":3785,"children":3786},{"style":1736},[3787],{"type":24,"value":3788},"bucket",{"type":18,"tag":387,"props":3790,"children":3791},{"style":409},[3792],{"type":24,"value":1898},{"type":18,"tag":387,"props":3794,"children":3795},{"style":625},[3796],{"type":24,"value":1297},{"type":18,"tag":387,"props":3798,"children":3799},{"style":409},[3800],{"type":24,"value":1254},{"type":18,"tag":387,"props":3802,"children":3803},{"class":389,"line":1340},[3804,3808,3813,3818,3822,3827,3832,3836,3840],{"type":18,"tag":387,"props":3805,"children":3806},{"style":409},[3807],{"type":24,"value":3564},{"type":18,"tag":387,"props":3809,"children":3810},{"style":1736},[3811],{"type":24,"value":3812},"createBucketConfiguration",{"type":18,"tag":387,"props":3814,"children":3815},{"style":409},[3816],{"type":24,"value":3817},"(c ",{"type":18,"tag":387,"props":3819,"children":3820},{"style":404},[3821],{"type":24,"value":3771},{"type":18,"tag":387,"props":3823,"children":3824},{"style":409},[3825],{"type":24,"value":3826}," c.",{"type":18,"tag":387,"props":3828,"children":3829},{"style":1736},[3830],{"type":24,"value":3831},"locationConstraint",{"type":18,"tag":387,"props":3833,"children":3834},{"style":409},[3835],{"type":24,"value":1898},{"type":18,"tag":387,"props":3837,"children":3838},{"style":625},[3839],{"type":24,"value":1332},{"type":18,"tag":387,"props":3841,"children":3842},{"style":409},[3843],{"type":24,"value":3844},")));\n",{"type":18,"tag":387,"props":3846,"children":3847},{"class":389,"line":1348},[3848],{"type":18,"tag":387,"props":3849,"children":3850},{"emptyLinePlaceholder":734},[3851],{"type":24,"value":737},{"type":18,"tag":387,"props":3853,"children":3854},{"class":389,"line":1356},[3855],{"type":18,"tag":387,"props":3856,"children":3857},{"style":681},[3858],{"type":24,"value":3859},"        // List the objects in a bucket\n",{"type":18,"tag":387,"props":3861,"children":3862},{"class":389,"line":1365},[3863,3867,3872,3876,3880,3885,3889,3893,3897,3902,3907],{"type":18,"tag":387,"props":3864,"children":3865},{"style":409},[3866],{"type":24,"value":3756},{"type":18,"tag":387,"props":3868,"children":3869},{"style":1736},[3870],{"type":24,"value":3871},"listObjectsV2",{"type":18,"tag":387,"props":3873,"children":3874},{"style":409},[3875],{"type":24,"value":3766},{"type":18,"tag":387,"props":3877,"children":3878},{"style":404},[3879],{"type":24,"value":3771},{"type":18,"tag":387,"props":3881,"children":3882},{"style":409},[3883],{"type":24,"value":3884}," b.",{"type":18,"tag":387,"props":3886,"children":3887},{"style":1736},[3888],{"type":24,"value":3788},{"type":18,"tag":387,"props":3890,"children":3891},{"style":409},[3892],{"type":24,"value":1898},{"type":18,"tag":387,"props":3894,"children":3895},{"style":625},[3896],{"type":24,"value":1297},{"type":18,"tag":387,"props":3898,"children":3899},{"style":409},[3900],{"type":24,"value":3901},")).",{"type":18,"tag":387,"props":3903,"children":3904},{"style":1736},[3905],{"type":24,"value":3906},"contents",{"type":18,"tag":387,"props":3908,"children":3909},{"style":409},[3910],{"type":24,"value":2423},{"type":18,"tag":387,"props":3912,"children":3913},{"class":389,"line":1417},[3914,3918,3923,3928,3932,3937,3942,3947,3952],{"type":18,"tag":387,"props":3915,"children":3916},{"style":409},[3917],{"type":24,"value":3564},{"type":18,"tag":387,"props":3919,"children":3920},{"style":1736},[3921],{"type":24,"value":3922},"forEach",{"type":18,"tag":387,"props":3924,"children":3925},{"style":409},[3926],{"type":24,"value":3927},"(o ",{"type":18,"tag":387,"props":3929,"children":3930},{"style":404},[3931],{"type":24,"value":3771},{"type":18,"tag":387,"props":3933,"children":3934},{"style":409},[3935],{"type":24,"value":3936}," System.out.",{"type":18,"tag":387,"props":3938,"children":3939},{"style":1736},[3940],{"type":24,"value":3941},"println",{"type":18,"tag":387,"props":3943,"children":3944},{"style":409},[3945],{"type":24,"value":3946},"(o.",{"type":18,"tag":387,"props":3948,"children":3949},{"style":1736},[3950],{"type":24,"value":3951},"key",{"type":18,"tag":387,"props":3953,"children":3954},{"style":409},[3955],{"type":24,"value":3956},"()));\n",{"type":18,"tag":387,"props":3958,"children":3959},{"class":389,"line":1441},[3960],{"type":18,"tag":387,"props":3961,"children":3962},{"style":409},[3963],{"type":24,"value":2620},{"type":18,"tag":387,"props":3965,"children":3966},{"class":389,"line":1449},[3967],{"type":18,"tag":387,"props":3968,"children":3969},{"style":409},[3970],{"type":24,"value":3162},{"type":18,"tag":39,"props":3972,"children":3974},{"id":3973},"net",[3975],{"type":24,"value":3976},".NET",{"type":18,"tag":26,"props":3978,"children":3979},{},[3980,3982,3988,3989],{"type":24,"value":3981},"AWS SDK for .NET v4: ",{"type":18,"tag":160,"props":3983,"children":3986},{"href":3984,"rel":3985},"https://aws.amazon.com/sdk-for-net/",[164],[3987],{"type":24,"value":1621},{"type":24,"value":943},{"type":18,"tag":160,"props":3990,"children":3993},{"href":3991,"rel":3992},"https://docs.aws.amazon.com/sdk-for-net/v4/developer-guide/net-dg-config.html",[164],[3994],{"type":24,"value":2131},{"type":18,"tag":377,"props":3996,"children":3998},{"className":577,"code":3997,"language":579,"meta":10,"style":10},"dotnet add package AWSSDK.S3\n",[3999],{"type":18,"tag":95,"props":4000,"children":4001},{"__ignoreMap":10},[4002],{"type":18,"tag":387,"props":4003,"children":4004},{"class":389,"line":390},[4005,4010,4015,4020],{"type":18,"tag":387,"props":4006,"children":4007},{"style":394},[4008],{"type":24,"value":4009},"dotnet",{"type":18,"tag":387,"props":4011,"children":4012},{"style":625},[4013],{"type":24,"value":4014}," add",{"type":18,"tag":387,"props":4016,"children":4017},{"style":625},[4018],{"type":24,"value":4019}," package",{"type":18,"tag":387,"props":4021,"children":4022},{"style":625},[4023],{"type":24,"value":4024}," AWSSDK.S3\n",{"type":18,"tag":26,"props":4026,"children":4027},{},[4028,4034],{"type":18,"tag":95,"props":4029,"children":4031},{"className":4030},[],[4032],{"type":24,"value":4033},"Program.cs",{"type":24,"value":375},{"type":18,"tag":377,"props":4036,"children":4040},{"className":4037,"code":4038,"language":4039,"meta":10,"style":10},"language-csharp shiki shiki-themes github-dark-dimmed","using Amazon.S3;\nusing Amazon.S3.Model;\n\n// Prefer environment variables or a secrets store over hard-coded keys\nvar config = new AmazonS3Config\n{\n    ServiceURL = \"https://s3.ironshard.ai\",\n    ForcePathStyle = true, // required: path-style bucket addressing\n};\nvar s3 = new AmazonS3Client(\"IRONSHARD_ACCESS_KEY\", \"IRONSHARD_SECRET_KEY\", config);\n\n// Create a bucket with the selected Storage Policy (the access key must be allowed to create buckets)\nawait s3.PutBucketAsync(new PutBucketRequest\n{\n    BucketName = \"my-new-bucket\",\n    BucketRegionName = \"STORAGE_POLICY_NAME\",\n});\n\n// List the objects in a bucket\nvar response = await s3.ListObjectsV2Async(new ListObjectsV2Request { BucketName = \"my-new-bucket\" });\nforeach (var obj in response.S3Objects ?? []) // null when the bucket is empty\n{\n    Console.WriteLine(obj.Key);\n}\n","csharp",[4041],{"type":18,"tag":95,"props":4042,"children":4043},{"__ignoreMap":10},[4044,4070,4102,4109,4116,4142,4149,4170,4194,4202,4247,4254,4261,4290,4297,4318,4339,4346,4353,4360,4420,4466,4473,4491],{"type":18,"tag":387,"props":4045,"children":4046},{"class":389,"line":390},[4047,4052,4057,4061,4066],{"type":18,"tag":387,"props":4048,"children":4049},{"style":404},[4050],{"type":24,"value":4051},"using",{"type":18,"tag":387,"props":4053,"children":4054},{"style":394},[4055],{"type":24,"value":4056}," Amazon",{"type":18,"tag":387,"props":4058,"children":4059},{"style":409},[4060],{"type":24,"value":357},{"type":18,"tag":387,"props":4062,"children":4063},{"style":394},[4064],{"type":24,"value":4065},"S3",{"type":18,"tag":387,"props":4067,"children":4068},{"style":409},[4069],{"type":24,"value":1697},{"type":18,"tag":387,"props":4071,"children":4072},{"class":389,"line":400},[4073,4077,4081,4085,4089,4093,4098],{"type":18,"tag":387,"props":4074,"children":4075},{"style":404},[4076],{"type":24,"value":4051},{"type":18,"tag":387,"props":4078,"children":4079},{"style":394},[4080],{"type":24,"value":4056},{"type":18,"tag":387,"props":4082,"children":4083},{"style":409},[4084],{"type":24,"value":357},{"type":18,"tag":387,"props":4086,"children":4087},{"style":394},[4088],{"type":24,"value":4065},{"type":18,"tag":387,"props":4090,"children":4091},{"style":409},[4092],{"type":24,"value":357},{"type":18,"tag":387,"props":4094,"children":4095},{"style":394},[4096],{"type":24,"value":4097},"Model",{"type":18,"tag":387,"props":4099,"children":4100},{"style":409},[4101],{"type":24,"value":1697},{"type":18,"tag":387,"props":4103,"children":4104},{"class":389,"line":13},[4105],{"type":18,"tag":387,"props":4106,"children":4107},{"emptyLinePlaceholder":734},[4108],{"type":24,"value":737},{"type":18,"tag":387,"props":4110,"children":4111},{"class":389,"line":428},[4112],{"type":18,"tag":387,"props":4113,"children":4114},{"style":681},[4115],{"type":24,"value":1712},{"type":18,"tag":387,"props":4117,"children":4118},{"class":389,"line":442},[4119,4124,4129,4133,4137],{"type":18,"tag":387,"props":4120,"children":4121},{"style":404},[4122],{"type":24,"value":4123},"var",{"type":18,"tag":387,"props":4125,"children":4126},{"style":394},[4127],{"type":24,"value":4128}," config",{"type":18,"tag":387,"props":4130,"children":4131},{"style":404},[4132],{"type":24,"value":1469},{"type":18,"tag":387,"props":4134,"children":4135},{"style":404},[4136],{"type":24,"value":1733},{"type":18,"tag":387,"props":4138,"children":4139},{"style":394},[4140],{"type":24,"value":4141}," AmazonS3Config\n",{"type":18,"tag":387,"props":4143,"children":4144},{"class":389,"line":456},[4145],{"type":18,"tag":387,"props":4146,"children":4147},{"style":409},[4148],{"type":24,"value":2820},{"type":18,"tag":387,"props":4150,"children":4151},{"class":389,"line":470},[4152,4157,4161,4166],{"type":18,"tag":387,"props":4153,"children":4154},{"style":409},[4155],{"type":24,"value":4156},"    ServiceURL ",{"type":18,"tag":387,"props":4158,"children":4159},{"style":404},[4160],{"type":24,"value":601},{"type":18,"tag":387,"props":4162,"children":4163},{"style":625},[4164],{"type":24,"value":4165}," \"https://s3.ironshard.ai\"",{"type":18,"tag":387,"props":4167,"children":4168},{"style":409},[4169],{"type":24,"value":1094},{"type":18,"tag":387,"props":4171,"children":4172},{"class":389,"line":483},[4173,4178,4182,4186,4190],{"type":18,"tag":387,"props":4174,"children":4175},{"style":409},[4176],{"type":24,"value":4177},"    ForcePathStyle ",{"type":18,"tag":387,"props":4179,"children":4180},{"style":404},[4181],{"type":24,"value":601},{"type":18,"tag":387,"props":4183,"children":4184},{"style":710},[4185],{"type":24,"value":2738},{"type":18,"tag":387,"props":4187,"children":4188},{"style":409},[4189],{"type":24,"value":1530},{"type":18,"tag":387,"props":4191,"children":4192},{"style":681},[4193],{"type":24,"value":1804},{"type":18,"tag":387,"props":4195,"children":4196},{"class":389,"line":496},[4197],{"type":18,"tag":387,"props":4198,"children":4199},{"style":409},[4200],{"type":24,"value":4201},"};\n",{"type":18,"tag":387,"props":4203,"children":4204},{"class":389,"line":833},[4205,4209,4213,4217,4221,4226,4230,4234,4238,4242],{"type":18,"tag":387,"props":4206,"children":4207},{"style":404},[4208],{"type":24,"value":4123},{"type":18,"tag":387,"props":4210,"children":4211},{"style":394},[4212],{"type":24,"value":697},{"type":18,"tag":387,"props":4214,"children":4215},{"style":404},[4216],{"type":24,"value":1469},{"type":18,"tag":387,"props":4218,"children":4219},{"style":404},[4220],{"type":24,"value":1733},{"type":18,"tag":387,"props":4222,"children":4223},{"style":394},[4224],{"type":24,"value":4225}," AmazonS3Client",{"type":18,"tag":387,"props":4227,"children":4228},{"style":409},[4229],{"type":24,"value":1898},{"type":18,"tag":387,"props":4231,"children":4232},{"style":625},[4233],{"type":24,"value":1132},{"type":18,"tag":387,"props":4235,"children":4236},{"style":409},[4237],{"type":24,"value":1530},{"type":18,"tag":387,"props":4239,"children":4240},{"style":625},[4241],{"type":24,"value":1153},{"type":18,"tag":387,"props":4243,"children":4244},{"style":409},[4245],{"type":24,"value":4246},", config);\n",{"type":18,"tag":387,"props":4248,"children":4249},{"class":389,"line":842},[4250],{"type":18,"tag":387,"props":4251,"children":4252},{"emptyLinePlaceholder":734},[4253],{"type":24,"value":737},{"type":18,"tag":387,"props":4255,"children":4256},{"class":389,"line":876},[4257],{"type":18,"tag":387,"props":4258,"children":4259},{"style":681},[4260],{"type":24,"value":1875},{"type":18,"tag":387,"props":4262,"children":4263},{"class":389,"line":884},[4264,4268,4272,4277,4281,4285],{"type":18,"tag":387,"props":4265,"children":4266},{"style":404},[4267],{"type":24,"value":1883},{"type":18,"tag":387,"props":4269,"children":4270},{"style":409},[4271],{"type":24,"value":1888},{"type":18,"tag":387,"props":4273,"children":4274},{"style":1736},[4275],{"type":24,"value":4276},"PutBucketAsync",{"type":18,"tag":387,"props":4278,"children":4279},{"style":409},[4280],{"type":24,"value":1898},{"type":18,"tag":387,"props":4282,"children":4283},{"style":404},[4284],{"type":24,"value":1903},{"type":18,"tag":387,"props":4286,"children":4287},{"style":394},[4288],{"type":24,"value":4289}," PutBucketRequest\n",{"type":18,"tag":387,"props":4291,"children":4292},{"class":389,"line":893},[4293],{"type":18,"tag":387,"props":4294,"children":4295},{"style":409},[4296],{"type":24,"value":2820},{"type":18,"tag":387,"props":4298,"children":4299},{"class":389,"line":1248},[4300,4305,4309,4314],{"type":18,"tag":387,"props":4301,"children":4302},{"style":409},[4303],{"type":24,"value":4304},"    BucketName ",{"type":18,"tag":387,"props":4306,"children":4307},{"style":404},[4308],{"type":24,"value":601},{"type":18,"tag":387,"props":4310,"children":4311},{"style":625},[4312],{"type":24,"value":4313}," \"my-new-bucket\"",{"type":18,"tag":387,"props":4315,"children":4316},{"style":409},[4317],{"type":24,"value":1094},{"type":18,"tag":387,"props":4319,"children":4320},{"class":389,"line":1257},[4321,4326,4330,4335],{"type":18,"tag":387,"props":4322,"children":4323},{"style":409},[4324],{"type":24,"value":4325},"    BucketRegionName ",{"type":18,"tag":387,"props":4327,"children":4328},{"style":404},[4329],{"type":24,"value":601},{"type":18,"tag":387,"props":4331,"children":4332},{"style":625},[4333],{"type":24,"value":4334}," \"STORAGE_POLICY_NAME\"",{"type":18,"tag":387,"props":4336,"children":4337},{"style":409},[4338],{"type":24,"value":1094},{"type":18,"tag":387,"props":4340,"children":4341},{"class":389,"line":1265},[4342],{"type":18,"tag":387,"props":4343,"children":4344},{"style":409},[4345],{"type":24,"value":1860},{"type":18,"tag":387,"props":4347,"children":4348},{"class":389,"line":1273},[4349],{"type":18,"tag":387,"props":4350,"children":4351},{"emptyLinePlaceholder":734},[4352],{"type":24,"value":737},{"type":18,"tag":387,"props":4354,"children":4355},{"class":389,"line":1282},[4356],{"type":18,"tag":387,"props":4357,"children":4358},{"style":681},[4359],{"type":24,"value":1968},{"type":18,"tag":387,"props":4361,"children":4362},{"class":389,"line":1304},[4363,4367,4372,4376,4380,4384,4389,4393,4397,4402,4407,4411,4415],{"type":18,"tag":387,"props":4364,"children":4365},{"style":404},[4366],{"type":24,"value":4123},{"type":18,"tag":387,"props":4368,"children":4369},{"style":394},[4370],{"type":24,"value":4371}," response",{"type":18,"tag":387,"props":4373,"children":4374},{"style":404},[4375],{"type":24,"value":1469},{"type":18,"tag":387,"props":4377,"children":4378},{"style":404},[4379],{"type":24,"value":2003},{"type":18,"tag":387,"props":4381,"children":4382},{"style":409},[4383],{"type":24,"value":1888},{"type":18,"tag":387,"props":4385,"children":4386},{"style":1736},[4387],{"type":24,"value":4388},"ListObjectsV2Async",{"type":18,"tag":387,"props":4390,"children":4391},{"style":409},[4392],{"type":24,"value":1898},{"type":18,"tag":387,"props":4394,"children":4395},{"style":404},[4396],{"type":24,"value":1903},{"type":18,"tag":387,"props":4398,"children":4399},{"style":394},[4400],{"type":24,"value":4401}," ListObjectsV2Request",{"type":18,"tag":387,"props":4403,"children":4404},{"style":409},[4405],{"type":24,"value":4406}," { BucketName ",{"type":18,"tag":387,"props":4408,"children":4409},{"style":404},[4410],{"type":24,"value":601},{"type":18,"tag":387,"props":4412,"children":4413},{"style":625},[4414],{"type":24,"value":4313},{"type":18,"tag":387,"props":4416,"children":4417},{"style":409},[4418],{"type":24,"value":4419}," });\n",{"type":18,"tag":387,"props":4421,"children":4422},{"class":389,"line":1340},[4423,4428,4432,4436,4441,4446,4451,4456,4461],{"type":18,"tag":387,"props":4424,"children":4425},{"style":404},[4426],{"type":24,"value":4427},"foreach",{"type":18,"tag":387,"props":4429,"children":4430},{"style":409},[4431],{"type":24,"value":241},{"type":18,"tag":387,"props":4433,"children":4434},{"style":404},[4435],{"type":24,"value":4123},{"type":18,"tag":387,"props":4437,"children":4438},{"style":394},[4439],{"type":24,"value":4440}," obj",{"type":18,"tag":387,"props":4442,"children":4443},{"style":404},[4444],{"type":24,"value":4445}," in",{"type":18,"tag":387,"props":4447,"children":4448},{"style":409},[4449],{"type":24,"value":4450}," response.S3Objects ",{"type":18,"tag":387,"props":4452,"children":4453},{"style":404},[4454],{"type":24,"value":4455},"??",{"type":18,"tag":387,"props":4457,"children":4458},{"style":409},[4459],{"type":24,"value":4460}," []) ",{"type":18,"tag":387,"props":4462,"children":4463},{"style":681},[4464],{"type":24,"value":4465},"// null when the bucket is empty\n",{"type":18,"tag":387,"props":4467,"children":4468},{"class":389,"line":1348},[4469],{"type":18,"tag":387,"props":4470,"children":4471},{"style":409},[4472],{"type":24,"value":2820},{"type":18,"tag":387,"props":4474,"children":4475},{"class":389,"line":1356},[4476,4481,4486],{"type":18,"tag":387,"props":4477,"children":4478},{"style":409},[4479],{"type":24,"value":4480},"    Console.",{"type":18,"tag":387,"props":4482,"children":4483},{"style":1736},[4484],{"type":24,"value":4485},"WriteLine",{"type":18,"tag":387,"props":4487,"children":4488},{"style":409},[4489],{"type":24,"value":4490},"(obj.Key);\n",{"type":18,"tag":387,"props":4492,"children":4493},{"class":389,"line":1365},[4494],{"type":18,"tag":387,"props":4495,"children":4496},{"style":409},[4497],{"type":24,"value":3162},{"type":18,"tag":39,"props":4499,"children":4501},{"id":4500},"php",[4502],{"type":24,"value":4503},"PHP",{"type":18,"tag":26,"props":4505,"children":4506},{},[4507,4509,4515,4516],{"type":24,"value":4508},"AWS SDK for PHP v3: ",{"type":18,"tag":160,"props":4510,"children":4513},{"href":4511,"rel":4512},"https://aws.amazon.com/sdk-for-php/",[164],[4514],{"type":24,"value":1621},{"type":24,"value":943},{"type":18,"tag":160,"props":4517,"children":4520},{"href":4518,"rel":4519},"https://docs.aws.amazon.com/sdk-for-php/v3/developer-guide/guide_configuration.html",[164],[4521],{"type":24,"value":4522},"configuration guide",{"type":18,"tag":377,"props":4524,"children":4526},{"className":577,"code":4525,"language":579,"meta":10,"style":10},"composer require aws/aws-sdk-php\n",[4527],{"type":18,"tag":95,"props":4528,"children":4529},{"__ignoreMap":10},[4530],{"type":18,"tag":387,"props":4531,"children":4532},{"class":389,"line":390},[4533,4538,4543],{"type":18,"tag":387,"props":4534,"children":4535},{"style":394},[4536],{"type":24,"value":4537},"composer",{"type":18,"tag":387,"props":4539,"children":4540},{"style":625},[4541],{"type":24,"value":4542}," require",{"type":18,"tag":387,"props":4544,"children":4545},{"style":625},[4546],{"type":24,"value":4547}," aws/aws-sdk-php\n",{"type":18,"tag":26,"props":4549,"children":4550},{},[4551,4557],{"type":18,"tag":95,"props":4552,"children":4554},{"className":4553},[],[4555],{"type":24,"value":4556},"example.php",{"type":24,"value":375},{"type":18,"tag":377,"props":4559,"children":4562},{"className":4560,"code":4561,"language":4500,"meta":10,"style":10},"language-php shiki shiki-themes github-dark-dimmed","\u003C?php\nrequire 'vendor/autoload.php';\n\nuse Aws\\S3\\S3Client;\n\n// Prefer environment variables or a secrets store over hard-coded keys\n$s3 = new S3Client([\n    'version' => 'latest',\n    'region' => 'us-east-1', // required by the SDK for request signing, any value works\n    'endpoint' => 'https://s3.ironshard.ai',\n    'use_path_style_endpoint' => true, // required: path-style bucket addressing\n    'credentials' => [\n        'key' => 'IRONSHARD_ACCESS_KEY',\n        'secret' => 'IRONSHARD_SECRET_KEY',\n    ],\n]);\n\n// Create a bucket with the selected Storage Policy (the access key must be allowed to create buckets)\n$s3->createBucket([\n    'Bucket' => 'my-new-bucket',\n    'CreateBucketConfiguration' => ['LocationConstraint' => 'STORAGE_POLICY_NAME'],\n]);\n\n// List the objects in a bucket\nforeach ($s3->listObjectsV2(['Bucket' => 'my-new-bucket'])['Contents'] ?? [] as $object) {\n    echo $object['Key'] . PHP_EOL;\n}\n",[4563],{"type":18,"tag":95,"props":4564,"children":4565},{"__ignoreMap":10},[4566,4579,4596,4603,4620,4627,4634,4659,4681,4706,4727,4751,4768,4789,4810,4818,4826,4833,4840,4860,4881,4917,4924,4931,4938,5010,5045],{"type":18,"tag":387,"props":4567,"children":4568},{"class":389,"line":390},[4569,4574],{"type":18,"tag":387,"props":4570,"children":4571},{"style":404},[4572],{"type":24,"value":4573},"\u003C?",{"type":18,"tag":387,"props":4575,"children":4576},{"style":710},[4577],{"type":24,"value":4578},"php\n",{"type":18,"tag":387,"props":4580,"children":4581},{"class":389,"line":400},[4582,4587,4592],{"type":18,"tag":387,"props":4583,"children":4584},{"style":404},[4585],{"type":24,"value":4586},"require",{"type":18,"tag":387,"props":4588,"children":4589},{"style":625},[4590],{"type":24,"value":4591}," 'vendor/autoload.php'",{"type":18,"tag":387,"props":4593,"children":4594},{"style":409},[4595],{"type":24,"value":1697},{"type":18,"tag":387,"props":4597,"children":4598},{"class":389,"line":13},[4599],{"type":18,"tag":387,"props":4600,"children":4601},{"emptyLinePlaceholder":734},[4602],{"type":24,"value":737},{"type":18,"tag":387,"props":4604,"children":4605},{"class":389,"line":428},[4606,4611,4616],{"type":18,"tag":387,"props":4607,"children":4608},{"style":404},[4609],{"type":24,"value":4610},"use",{"type":18,"tag":387,"props":4612,"children":4613},{"style":710},[4614],{"type":24,"value":4615}," Aws\\S3\\S3Client",{"type":18,"tag":387,"props":4617,"children":4618},{"style":409},[4619],{"type":24,"value":1697},{"type":18,"tag":387,"props":4621,"children":4622},{"class":389,"line":442},[4623],{"type":18,"tag":387,"props":4624,"children":4625},{"emptyLinePlaceholder":734},[4626],{"type":24,"value":737},{"type":18,"tag":387,"props":4628,"children":4629},{"class":389,"line":456},[4630],{"type":18,"tag":387,"props":4631,"children":4632},{"style":681},[4633],{"type":24,"value":1712},{"type":18,"tag":387,"props":4635,"children":4636},{"class":389,"line":470},[4637,4642,4646,4650,4654],{"type":18,"tag":387,"props":4638,"children":4639},{"style":409},[4640],{"type":24,"value":4641},"$s3 ",{"type":18,"tag":387,"props":4643,"children":4644},{"style":404},[4645],{"type":24,"value":601},{"type":18,"tag":387,"props":4647,"children":4648},{"style":404},[4649],{"type":24,"value":1733},{"type":18,"tag":387,"props":4651,"children":4652},{"style":710},[4653],{"type":24,"value":1739},{"type":18,"tag":387,"props":4655,"children":4656},{"style":409},[4657],{"type":24,"value":4658},"([\n",{"type":18,"tag":387,"props":4660,"children":4661},{"class":389,"line":483},[4662,4667,4672,4677],{"type":18,"tag":387,"props":4663,"children":4664},{"style":625},[4665],{"type":24,"value":4666},"    'version'",{"type":18,"tag":387,"props":4668,"children":4669},{"style":404},[4670],{"type":24,"value":4671}," =>",{"type":18,"tag":387,"props":4673,"children":4674},{"style":625},[4675],{"type":24,"value":4676}," 'latest'",{"type":18,"tag":387,"props":4678,"children":4679},{"style":409},[4680],{"type":24,"value":1094},{"type":18,"tag":387,"props":4682,"children":4683},{"class":389,"line":496},[4684,4689,4693,4698,4702],{"type":18,"tag":387,"props":4685,"children":4686},{"style":625},[4687],{"type":24,"value":4688},"    'region'",{"type":18,"tag":387,"props":4690,"children":4691},{"style":404},[4692],{"type":24,"value":4671},{"type":18,"tag":387,"props":4694,"children":4695},{"style":625},[4696],{"type":24,"value":4697}," 'us-east-1'",{"type":18,"tag":387,"props":4699,"children":4700},{"style":409},[4701],{"type":24,"value":1530},{"type":18,"tag":387,"props":4703,"children":4704},{"style":681},[4705],{"type":24,"value":1782},{"type":18,"tag":387,"props":4707,"children":4708},{"class":389,"line":833},[4709,4714,4718,4723],{"type":18,"tag":387,"props":4710,"children":4711},{"style":625},[4712],{"type":24,"value":4713},"    'endpoint'",{"type":18,"tag":387,"props":4715,"children":4716},{"style":404},[4717],{"type":24,"value":4671},{"type":18,"tag":387,"props":4719,"children":4720},{"style":625},[4721],{"type":24,"value":4722}," 'https://s3.ironshard.ai'",{"type":18,"tag":387,"props":4724,"children":4725},{"style":409},[4726],{"type":24,"value":1094},{"type":18,"tag":387,"props":4728,"children":4729},{"class":389,"line":842},[4730,4735,4739,4743,4747],{"type":18,"tag":387,"props":4731,"children":4732},{"style":625},[4733],{"type":24,"value":4734},"    'use_path_style_endpoint'",{"type":18,"tag":387,"props":4736,"children":4737},{"style":404},[4738],{"type":24,"value":4671},{"type":18,"tag":387,"props":4740,"children":4741},{"style":710},[4742],{"type":24,"value":2738},{"type":18,"tag":387,"props":4744,"children":4745},{"style":409},[4746],{"type":24,"value":1530},{"type":18,"tag":387,"props":4748,"children":4749},{"style":681},[4750],{"type":24,"value":1804},{"type":18,"tag":387,"props":4752,"children":4753},{"class":389,"line":876},[4754,4759,4763],{"type":18,"tag":387,"props":4755,"children":4756},{"style":625},[4757],{"type":24,"value":4758},"    'credentials'",{"type":18,"tag":387,"props":4760,"children":4761},{"style":404},[4762],{"type":24,"value":4671},{"type":18,"tag":387,"props":4764,"children":4765},{"style":409},[4766],{"type":24,"value":4767}," [\n",{"type":18,"tag":387,"props":4769,"children":4770},{"class":389,"line":884},[4771,4776,4780,4785],{"type":18,"tag":387,"props":4772,"children":4773},{"style":625},[4774],{"type":24,"value":4775},"        'key'",{"type":18,"tag":387,"props":4777,"children":4778},{"style":404},[4779],{"type":24,"value":4671},{"type":18,"tag":387,"props":4781,"children":4782},{"style":625},[4783],{"type":24,"value":4784}," 'IRONSHARD_ACCESS_KEY'",{"type":18,"tag":387,"props":4786,"children":4787},{"style":409},[4788],{"type":24,"value":1094},{"type":18,"tag":387,"props":4790,"children":4791},{"class":389,"line":893},[4792,4797,4801,4806],{"type":18,"tag":387,"props":4793,"children":4794},{"style":625},[4795],{"type":24,"value":4796},"        'secret'",{"type":18,"tag":387,"props":4798,"children":4799},{"style":404},[4800],{"type":24,"value":4671},{"type":18,"tag":387,"props":4802,"children":4803},{"style":625},[4804],{"type":24,"value":4805}," 'IRONSHARD_SECRET_KEY'",{"type":18,"tag":387,"props":4807,"children":4808},{"style":409},[4809],{"type":24,"value":1094},{"type":18,"tag":387,"props":4811,"children":4812},{"class":389,"line":1248},[4813],{"type":18,"tag":387,"props":4814,"children":4815},{"style":409},[4816],{"type":24,"value":4817},"    ],\n",{"type":18,"tag":387,"props":4819,"children":4820},{"class":389,"line":1257},[4821],{"type":18,"tag":387,"props":4822,"children":4823},{"style":409},[4824],{"type":24,"value":4825},"]);\n",{"type":18,"tag":387,"props":4827,"children":4828},{"class":389,"line":1265},[4829],{"type":18,"tag":387,"props":4830,"children":4831},{"emptyLinePlaceholder":734},[4832],{"type":24,"value":737},{"type":18,"tag":387,"props":4834,"children":4835},{"class":389,"line":1273},[4836],{"type":18,"tag":387,"props":4837,"children":4838},{"style":681},[4839],{"type":24,"value":1875},{"type":18,"tag":387,"props":4841,"children":4842},{"class":389,"line":1282},[4843,4848,4852,4856],{"type":18,"tag":387,"props":4844,"children":4845},{"style":409},[4846],{"type":24,"value":4847},"$s3",{"type":18,"tag":387,"props":4849,"children":4850},{"style":404},[4851],{"type":24,"value":3771},{"type":18,"tag":387,"props":4853,"children":4854},{"style":1736},[4855],{"type":24,"value":3761},{"type":18,"tag":387,"props":4857,"children":4858},{"style":409},[4859],{"type":24,"value":4658},{"type":18,"tag":387,"props":4861,"children":4862},{"class":389,"line":1304},[4863,4868,4872,4877],{"type":18,"tag":387,"props":4864,"children":4865},{"style":625},[4866],{"type":24,"value":4867},"    'Bucket'",{"type":18,"tag":387,"props":4869,"children":4870},{"style":404},[4871],{"type":24,"value":4671},{"type":18,"tag":387,"props":4873,"children":4874},{"style":625},[4875],{"type":24,"value":4876}," 'my-new-bucket'",{"type":18,"tag":387,"props":4878,"children":4879},{"style":409},[4880],{"type":24,"value":1094},{"type":18,"tag":387,"props":4882,"children":4883},{"class":389,"line":1340},[4884,4889,4893,4898,4903,4907,4912],{"type":18,"tag":387,"props":4885,"children":4886},{"style":625},[4887],{"type":24,"value":4888},"    'CreateBucketConfiguration'",{"type":18,"tag":387,"props":4890,"children":4891},{"style":404},[4892],{"type":24,"value":4671},{"type":18,"tag":387,"props":4894,"children":4895},{"style":409},[4896],{"type":24,"value":4897}," [",{"type":18,"tag":387,"props":4899,"children":4900},{"style":625},[4901],{"type":24,"value":4902},"'LocationConstraint'",{"type":18,"tag":387,"props":4904,"children":4905},{"style":404},[4906],{"type":24,"value":4671},{"type":18,"tag":387,"props":4908,"children":4909},{"style":625},[4910],{"type":24,"value":4911}," 'STORAGE_POLICY_NAME'",{"type":18,"tag":387,"props":4913,"children":4914},{"style":409},[4915],{"type":24,"value":4916},"],\n",{"type":18,"tag":387,"props":4918,"children":4919},{"class":389,"line":1348},[4920],{"type":18,"tag":387,"props":4921,"children":4922},{"style":409},[4923],{"type":24,"value":4825},{"type":18,"tag":387,"props":4925,"children":4926},{"class":389,"line":1356},[4927],{"type":18,"tag":387,"props":4928,"children":4929},{"emptyLinePlaceholder":734},[4930],{"type":24,"value":737},{"type":18,"tag":387,"props":4932,"children":4933},{"class":389,"line":1365},[4934],{"type":18,"tag":387,"props":4935,"children":4936},{"style":681},[4937],{"type":24,"value":1968},{"type":18,"tag":387,"props":4939,"children":4940},{"class":389,"line":1417},[4941,4945,4950,4954,4958,4963,4968,4972,4976,4981,4986,4991,4995,5000,5005],{"type":18,"tag":387,"props":4942,"children":4943},{"style":404},[4944],{"type":24,"value":4427},{"type":18,"tag":387,"props":4946,"children":4947},{"style":409},[4948],{"type":24,"value":4949}," ($s3",{"type":18,"tag":387,"props":4951,"children":4952},{"style":404},[4953],{"type":24,"value":3771},{"type":18,"tag":387,"props":4955,"children":4956},{"style":1736},[4957],{"type":24,"value":3871},{"type":18,"tag":387,"props":4959,"children":4960},{"style":409},[4961],{"type":24,"value":4962},"([",{"type":18,"tag":387,"props":4964,"children":4965},{"style":625},[4966],{"type":24,"value":4967},"'Bucket'",{"type":18,"tag":387,"props":4969,"children":4970},{"style":404},[4971],{"type":24,"value":4671},{"type":18,"tag":387,"props":4973,"children":4974},{"style":625},[4975],{"type":24,"value":4876},{"type":18,"tag":387,"props":4977,"children":4978},{"style":409},[4979],{"type":24,"value":4980},"])[",{"type":18,"tag":387,"props":4982,"children":4983},{"style":625},[4984],{"type":24,"value":4985},"'Contents'",{"type":18,"tag":387,"props":4987,"children":4988},{"style":409},[4989],{"type":24,"value":4990},"] ",{"type":18,"tag":387,"props":4992,"children":4993},{"style":404},[4994],{"type":24,"value":4455},{"type":18,"tag":387,"props":4996,"children":4997},{"style":409},[4998],{"type":24,"value":4999}," [] ",{"type":18,"tag":387,"props":5001,"children":5002},{"style":404},[5003],{"type":24,"value":5004},"as",{"type":18,"tag":387,"props":5006,"children":5007},{"style":409},[5008],{"type":24,"value":5009}," $object) {\n",{"type":18,"tag":387,"props":5011,"children":5012},{"class":389,"line":1441},[5013,5018,5023,5028,5032,5036,5041],{"type":18,"tag":387,"props":5014,"children":5015},{"style":710},[5016],{"type":24,"value":5017},"    echo",{"type":18,"tag":387,"props":5019,"children":5020},{"style":409},[5021],{"type":24,"value":5022}," $object[",{"type":18,"tag":387,"props":5024,"children":5025},{"style":625},[5026],{"type":24,"value":5027},"'Key'",{"type":18,"tag":387,"props":5029,"children":5030},{"style":409},[5031],{"type":24,"value":4990},{"type":18,"tag":387,"props":5033,"children":5034},{"style":404},[5035],{"type":24,"value":357},{"type":18,"tag":387,"props":5037,"children":5038},{"style":710},[5039],{"type":24,"value":5040}," PHP_EOL",{"type":18,"tag":387,"props":5042,"children":5043},{"style":409},[5044],{"type":24,"value":1697},{"type":18,"tag":387,"props":5046,"children":5047},{"class":389,"line":1449},[5048],{"type":18,"tag":387,"props":5049,"children":5050},{"style":409},[5051],{"type":24,"value":3162},{"type":18,"tag":32,"props":5053,"children":5055},{"id":5054},"tools",[5056],{"type":24,"value":5057},"Tools",{"type":18,"tag":39,"props":5059,"children":5061},{"id":5060},"rclone",[5062],{"type":24,"value":5060},{"type":18,"tag":26,"props":5064,"children":5065},{},[5066,5072,5073],{"type":18,"tag":160,"props":5067,"children":5070},{"href":5068,"rel":5069},"https://rclone.org/",[164],[5071],{"type":24,"value":941},{"type":24,"value":943},{"type":18,"tag":160,"props":5074,"children":5077},{"href":5075,"rel":5076},"https://rclone.org/s3/",[164],[5078],{"type":24,"value":5079},"S3 backend reference",{"type":18,"tag":26,"props":5081,"children":5082},{},[5083,5089],{"type":18,"tag":95,"props":5084,"children":5086},{"className":5085},[],[5087],{"type":24,"value":5088},"~/.config/rclone/rclone.conf",{"type":24,"value":375},{"type":18,"tag":377,"props":5091,"children":5093},{"className":379,"code":5092,"language":381,"meta":10,"style":10},"[ironshard]\ntype = s3\nprovider = Other\naccess_key_id = IRONSHARD_ACCESS_KEY\nsecret_access_key = IRONSHARD_SECRET_KEY\nendpoint = https://s3.ironshard.ai\nforce_path_style = true\nlocation_constraint = STORAGE_POLICY_NAME\nchunk_size = 32M\n",[5094],{"type":18,"tag":95,"props":5095,"children":5096},{"__ignoreMap":10},[5097,5104,5117,5130,5142,5154,5166,5179,5191],{"type":18,"tag":387,"props":5098,"children":5099},{"class":389,"line":390},[5100],{"type":18,"tag":387,"props":5101,"children":5102},{"style":394},[5103],{"type":24,"value":545},{"type":18,"tag":387,"props":5105,"children":5106},{"class":389,"line":400},[5107,5112],{"type":18,"tag":387,"props":5108,"children":5109},{"style":404},[5110],{"type":24,"value":5111},"type",{"type":18,"tag":387,"props":5113,"children":5114},{"style":409},[5115],{"type":24,"value":5116}," = s3\n",{"type":18,"tag":387,"props":5118,"children":5119},{"class":389,"line":13},[5120,5125],{"type":18,"tag":387,"props":5121,"children":5122},{"style":404},[5123],{"type":24,"value":5124},"provider",{"type":18,"tag":387,"props":5126,"children":5127},{"style":409},[5128],{"type":24,"value":5129}," = Other\n",{"type":18,"tag":387,"props":5131,"children":5132},{"class":389,"line":428},[5133,5138],{"type":18,"tag":387,"props":5134,"children":5135},{"style":404},[5136],{"type":24,"value":5137},"access_key_id",{"type":18,"tag":387,"props":5139,"children":5140},{"style":409},[5141],{"type":24,"value":558},{"type":18,"tag":387,"props":5143,"children":5144},{"class":389,"line":442},[5145,5150],{"type":18,"tag":387,"props":5146,"children":5147},{"style":404},[5148],{"type":24,"value":5149},"secret_access_key",{"type":18,"tag":387,"props":5151,"children":5152},{"style":409},[5153],{"type":24,"value":571},{"type":18,"tag":387,"props":5155,"children":5156},{"class":389,"line":456},[5157,5162],{"type":18,"tag":387,"props":5158,"children":5159},{"style":404},[5160],{"type":24,"value":5161},"endpoint",{"type":18,"tag":387,"props":5163,"children":5164},{"style":409},[5165],{"type":24,"value":412},{"type":18,"tag":387,"props":5167,"children":5168},{"class":389,"line":470},[5169,5174],{"type":18,"tag":387,"props":5170,"children":5171},{"style":404},[5172],{"type":24,"value":5173},"force_path_style",{"type":18,"tag":387,"props":5175,"children":5176},{"style":409},[5177],{"type":24,"value":5178}," = true\n",{"type":18,"tag":387,"props":5180,"children":5181},{"class":389,"line":483},[5182,5186],{"type":18,"tag":387,"props":5183,"children":5184},{"style":404},[5185],{"type":24,"value":271},{"type":18,"tag":387,"props":5187,"children":5188},{"style":409},[5189],{"type":24,"value":5190}," = STORAGE_POLICY_NAME\n",{"type":18,"tag":387,"props":5192,"children":5193},{"class":389,"line":496},[5194,5199],{"type":18,"tag":387,"props":5195,"children":5196},{"style":404},[5197],{"type":24,"value":5198},"chunk_size",{"type":18,"tag":387,"props":5200,"children":5201},{"style":409},[5202],{"type":24,"value":5203}," = 32M\n",{"type":18,"tag":359,"props":5205,"children":5207},{"id":5206},"try-it-1",[5208],{"type":24,"value":668},{"type":18,"tag":377,"props":5210,"children":5212},{"className":577,"code":5211,"language":579,"meta":10,"style":10},"# Create a bucket with the selected Storage Policy (the access key must be allowed to create buckets)\nrclone mkdir ironshard:my-new-bucket\nrclone ls ironshard:my-new-bucket\nrclone copy ./local-folder ironshard:my-new-bucket\n",[5213],{"type":18,"tag":95,"props":5214,"children":5215},{"__ignoreMap":10},[5216,5223,5240,5255],{"type":18,"tag":387,"props":5217,"children":5218},{"class":389,"line":390},[5219],{"type":18,"tag":387,"props":5220,"children":5221},{"style":681},[5222],{"type":24,"value":684},{"type":18,"tag":387,"props":5224,"children":5225},{"class":389,"line":400},[5226,5230,5235],{"type":18,"tag":387,"props":5227,"children":5228},{"style":394},[5229],{"type":24,"value":5060},{"type":18,"tag":387,"props":5231,"children":5232},{"style":625},[5233],{"type":24,"value":5234}," mkdir",{"type":18,"tag":387,"props":5236,"children":5237},{"style":625},[5238],{"type":24,"value":5239}," ironshard:my-new-bucket\n",{"type":18,"tag":387,"props":5241,"children":5242},{"class":389,"line":13},[5243,5247,5251],{"type":18,"tag":387,"props":5244,"children":5245},{"style":394},[5246],{"type":24,"value":5060},{"type":18,"tag":387,"props":5248,"children":5249},{"style":625},[5250],{"type":24,"value":811},{"type":18,"tag":387,"props":5252,"children":5253},{"style":625},[5254],{"type":24,"value":5239},{"type":18,"tag":387,"props":5256,"children":5257},{"class":389,"line":428},[5258,5262,5267,5272],{"type":18,"tag":387,"props":5259,"children":5260},{"style":394},[5261],{"type":24,"value":5060},{"type":18,"tag":387,"props":5263,"children":5264},{"style":625},[5265],{"type":24,"value":5266}," copy",{"type":18,"tag":387,"props":5268,"children":5269},{"style":625},[5270],{"type":24,"value":5271}," ./local-folder",{"type":18,"tag":387,"props":5273,"children":5274},{"style":625},[5275],{"type":24,"value":5239},{"type":18,"tag":39,"props":5277,"children":5279},{"id":5278},"s3cmd",[5280],{"type":24,"value":5278},{"type":18,"tag":26,"props":5282,"children":5283},{},[5284,5290,5291],{"type":18,"tag":160,"props":5285,"children":5288},{"href":5286,"rel":5287},"https://s3tools.org/s3cmd",[164],[5289],{"type":24,"value":941},{"type":24,"value":943},{"type":18,"tag":160,"props":5292,"children":5295},{"href":5293,"rel":5294},"https://s3tools.org/usage",[164],[5296],{"type":24,"value":5297},"usage reference",{"type":18,"tag":26,"props":5299,"children":5300},{},[5301,5303,5309,5311,5317],{"type":24,"value":5302},"Setting ",{"type":18,"tag":95,"props":5304,"children":5306},{"className":5305},[],[5307],{"type":24,"value":5308},"host_bucket",{"type":24,"value":5310}," to the plain host, without ",{"type":18,"tag":95,"props":5312,"children":5314},{"className":5313},[],[5315],{"type":24,"value":5316},"%(bucket)s",{"type":24,"value":5318},", selects path-style bucket addressing.",{"type":18,"tag":26,"props":5320,"children":5321},{},[5322,5328],{"type":18,"tag":95,"props":5323,"children":5325},{"className":5324},[],[5326],{"type":24,"value":5327},"~/.s3cfg",{"type":24,"value":375},{"type":18,"tag":377,"props":5330,"children":5332},{"className":379,"code":5331,"language":381,"meta":10,"style":10},"[default]\naccess_key = IRONSHARD_ACCESS_KEY\nsecret_key = IRONSHARD_SECRET_KEY\nhost_base = s3.ironshard.ai\nhost_bucket = s3.ironshard.ai\nuse_https = True\nsignature_v2 = False\nbucket_location = STORAGE_POLICY_NAME\nmultipart_chunk_size_mb = 32\n",[5333],{"type":18,"tag":95,"props":5334,"children":5335},{"__ignoreMap":10},[5336,5344,5356,5368,5381,5392,5405,5418,5429],{"type":18,"tag":387,"props":5337,"children":5338},{"class":389,"line":390},[5339],{"type":18,"tag":387,"props":5340,"children":5341},{"style":394},[5342],{"type":24,"value":5343},"[default]\n",{"type":18,"tag":387,"props":5345,"children":5346},{"class":389,"line":400},[5347,5352],{"type":18,"tag":387,"props":5348,"children":5349},{"style":404},[5350],{"type":24,"value":5351},"access_key",{"type":18,"tag":387,"props":5353,"children":5354},{"style":409},[5355],{"type":24,"value":558},{"type":18,"tag":387,"props":5357,"children":5358},{"class":389,"line":13},[5359,5364],{"type":18,"tag":387,"props":5360,"children":5361},{"style":404},[5362],{"type":24,"value":5363},"secret_key",{"type":18,"tag":387,"props":5365,"children":5366},{"style":409},[5367],{"type":24,"value":571},{"type":18,"tag":387,"props":5369,"children":5370},{"class":389,"line":428},[5371,5376],{"type":18,"tag":387,"props":5372,"children":5373},{"style":404},[5374],{"type":24,"value":5375},"host_base",{"type":18,"tag":387,"props":5377,"children":5378},{"style":409},[5379],{"type":24,"value":5380}," = s3.ironshard.ai\n",{"type":18,"tag":387,"props":5382,"children":5383},{"class":389,"line":442},[5384,5388],{"type":18,"tag":387,"props":5385,"children":5386},{"style":404},[5387],{"type":24,"value":5308},{"type":18,"tag":387,"props":5389,"children":5390},{"style":409},[5391],{"type":24,"value":5380},{"type":18,"tag":387,"props":5393,"children":5394},{"class":389,"line":456},[5395,5400],{"type":18,"tag":387,"props":5396,"children":5397},{"style":404},[5398],{"type":24,"value":5399},"use_https",{"type":18,"tag":387,"props":5401,"children":5402},{"style":409},[5403],{"type":24,"value":5404}," = True\n",{"type":18,"tag":387,"props":5406,"children":5407},{"class":389,"line":470},[5408,5413],{"type":18,"tag":387,"props":5409,"children":5410},{"style":404},[5411],{"type":24,"value":5412},"signature_v2",{"type":18,"tag":387,"props":5414,"children":5415},{"style":409},[5416],{"type":24,"value":5417}," = False\n",{"type":18,"tag":387,"props":5419,"children":5420},{"class":389,"line":483},[5421,5425],{"type":18,"tag":387,"props":5422,"children":5423},{"style":404},[5424],{"type":24,"value":263},{"type":18,"tag":387,"props":5426,"children":5427},{"style":409},[5428],{"type":24,"value":5190},{"type":18,"tag":387,"props":5430,"children":5431},{"class":389,"line":496},[5432,5437],{"type":18,"tag":387,"props":5433,"children":5434},{"style":404},[5435],{"type":24,"value":5436},"multipart_chunk_size_mb",{"type":18,"tag":387,"props":5438,"children":5439},{"style":409},[5440],{"type":24,"value":5441}," = 32\n",{"type":18,"tag":359,"props":5443,"children":5445},{"id":5444},"try-it-2",[5446],{"type":24,"value":668},{"type":18,"tag":377,"props":5448,"children":5450},{"className":577,"code":5449,"language":579,"meta":10,"style":10},"# Create a bucket with the selected Storage Policy (the access key must be allowed to create buckets)\ns3cmd mb s3://my-new-bucket\ns3cmd ls s3://my-new-bucket\n",[5451],{"type":18,"tag":95,"props":5452,"children":5453},{"__ignoreMap":10},[5454,5461,5477],{"type":18,"tag":387,"props":5455,"children":5456},{"class":389,"line":390},[5457],{"type":18,"tag":387,"props":5458,"children":5459},{"style":681},[5460],{"type":24,"value":684},{"type":18,"tag":387,"props":5462,"children":5463},{"class":389,"line":400},[5464,5468,5472],{"type":18,"tag":387,"props":5465,"children":5466},{"style":394},[5467],{"type":24,"value":5278},{"type":18,"tag":387,"props":5469,"children":5470},{"style":625},[5471],{"type":24,"value":702},{"type":18,"tag":387,"props":5473,"children":5474},{"style":625},[5475],{"type":24,"value":5476}," s3://my-new-bucket\n",{"type":18,"tag":387,"props":5478,"children":5479},{"class":389,"line":13},[5480,5484,5488],{"type":18,"tag":387,"props":5481,"children":5482},{"style":394},[5483],{"type":24,"value":5278},{"type":18,"tag":387,"props":5485,"children":5486},{"style":625},[5487],{"type":24,"value":811},{"type":18,"tag":387,"props":5489,"children":5490},{"style":625},[5491],{"type":24,"value":5476},{"type":18,"tag":32,"props":5493,"children":5495},{"id":5494},"reference",[5496],{"type":24,"value":5497},"Reference",{"type":18,"tag":39,"props":5499,"children":5501},{"id":5500},"versioning-and-limits",[5502],{"type":24,"value":5503},"Versioning and Limits",{"type":18,"tag":359,"props":5505,"children":5507},{"id":5506},"versioning-is-always-on",[5508],{"type":24,"value":5509},"Versioning Is Always On",{"type":18,"tag":26,"props":5511,"children":5512},{},[5513],{"type":24,"value":5514},"Every bucket is versioned and versioning cannot be switched off. A delete writes a delete marker rather than removing data, and earlier versions stay until you delete them explicitly by version ID. Plan for this when you estimate stored volume, and when an agent's cleanup step \"frees\" space.",{"type":18,"tag":359,"props":5516,"children":5518},{"id":5517},"what-is-and-isnt-supported-today",[5519],{"type":24,"value":5520},"What Is and Isn't Supported Today",{"type":18,"tag":5522,"props":5523,"children":5524},"ul",{},[5525,5544,5563,5568],{"type":18,"tag":5526,"props":5527,"children":5528},"li",{},[5529,5534,5536,5542],{"type":18,"tag":171,"props":5530,"children":5531},{},[5532],{"type":24,"value":5533},"Supported:",{"type":24,"value":5535}," byte-range reads on ",{"type":18,"tag":95,"props":5537,"children":5539},{"className":5538},[],[5540],{"type":24,"value":5541},"GetObject",{"type":24,"value":5543},", user-defined object metadata, multipart uploads.",{"type":18,"tag":5526,"props":5545,"children":5546},{},[5547,5549,5554,5555,5561],{"type":24,"value":5548},"Overriding response headers on ",{"type":18,"tag":95,"props":5550,"children":5552},{"className":5551},[],[5553],{"type":24,"value":5541},{"type":24,"value":306},{"type":18,"tag":95,"props":5556,"children":5558},{"className":5557},[],[5559],{"type":24,"value":5560},"response-cache-control",{"type":24,"value":5562},") is not supported.",{"type":18,"tag":5526,"props":5564,"children":5565},{},[5566],{"type":24,"value":5567},"Object tagging is not yet available; user-defined object metadata is.",{"type":18,"tag":5526,"props":5569,"children":5570},{},[5571],{"type":24,"value":5572},"There is no CORS configuration, so browser-based clients cannot talk to the endpoint directly. Use a server, an SDK, or the console.",{"type":18,"tag":39,"props":5574,"children":5576},{"id":5575},"next-steps",[5577],{"type":24,"value":5578},"Next Steps",{"type":18,"tag":5522,"props":5580,"children":5581},{},[5582,5593],{"type":18,"tag":5526,"props":5583,"children":5584},{},[5585,5591],{"type":18,"tag":160,"props":5586,"children":5588},{"href":5587},"/docs/agent-buckets",[5589],{"type":24,"value":5590},"Agent Buckets",{"type":24,"value":5592},": let an autonomous agent create and operate a bucket over MCP, with no account.",{"type":18,"tag":5526,"props":5594,"children":5595},{},[5596,5602],{"type":18,"tag":160,"props":5597,"children":5599},{"href":5598},"/docs/resilience",[5600],{"type":24,"value":5601},"Erasure Coding and Distribution",{"type":24,"value":5603},": how objects are erasure-coded and distributed across providers, plus geo-fencing.",{"type":18,"tag":5605,"props":5606,"children":5607},"style",{},[5608],{"type":24,"value":5609},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":10,"searchDepth":400,"depth":400,"links":5611},[5612,5617,5620,5628,5632],{"id":34,"depth":400,"text":37,"children":5613},[5614,5615,5616],{"id":41,"depth":13,"text":44},{"id":150,"depth":13,"text":153},{"id":218,"depth":13,"text":221},{"id":317,"depth":400,"text":320,"children":5618},[5619],{"id":323,"depth":13,"text":326},{"id":922,"depth":400,"text":925,"children":5621},[5622,5623,5624,5625,5626,5627],{"id":928,"depth":13,"text":931},{"id":1606,"depth":13,"text":1609},{"id":2109,"depth":13,"text":2112},{"id":3165,"depth":13,"text":3168},{"id":3973,"depth":13,"text":3976},{"id":4500,"depth":13,"text":4503},{"id":5054,"depth":400,"text":5057,"children":5629},[5630,5631],{"id":5060,"depth":13,"text":5060},{"id":5278,"depth":13,"text":5278},{"id":5494,"depth":400,"text":5497,"children":5633},[5634,5635],{"id":5500,"depth":13,"text":5503},{"id":5575,"depth":13,"text":5578},"markdown","content:docs:s3-quickstart.md","content","docs/s3-quickstart.md","docs/s3-quickstart","md",[5643],{"title":5644,"_path":5645,"children":5646},"Docs overview","/docs",[5647,5651,5652,5656,5660,5663,5666,5669,5670,5671],{"title":5648,"_path":5649,"group":5650,"order":470},"Adaptive Storage Representation","/docs/adaptive-storage","Platform",{"title":5590,"_path":5587,"group":12,"order":400},{"title":5653,"_path":5654,"group":5655,"order":483},"Branching and Snapshots","/docs/branching","Features",{"title":5657,"_path":5658,"group":5659,"order":833},"Compliance Controls","/docs/compliance-controls","Compliance",{"title":5661,"_path":5662,"group":12,"order":390},"Connect Claude over MCP","/docs/connect-claude",{"title":5664,"_path":5665,"group":5659,"order":496},"GDPR Everywhere","/docs/gdpr-everywhere",{"title":5667,"_path":5668,"group":5650,"order":442},"Secure Ingest Pipeline","/docs/ingest-pipeline",{"title":5601,"_path":5598,"group":5650,"order":456},{"title":4,"_path":7,"group":12,"order":13},{"title":5672,"_path":5673,"group":5650,"order":428},"System Architecture","/docs/system-architecture",[5675],{"title":5644,"_path":5645,"children":5676},[5677,5678,5679,5680,5681,5682,5683,5684,5685,5686],{"title":5648,"_path":5649,"group":5650,"order":470},{"title":5590,"_path":5587,"group":12,"order":400},{"title":5653,"_path":5654,"group":5655,"order":483},{"title":5657,"_path":5658,"group":5659,"order":833},{"title":5661,"_path":5662,"group":12,"order":390},{"title":5664,"_path":5665,"group":5659,"order":496},{"title":5667,"_path":5668,"group":5650,"order":442},{"title":5601,"_path":5598,"group":5650,"order":456},{"title":4,"_path":7,"group":12,"order":13},{"title":5672,"_path":5673,"group":5650,"order":428},1792661471687]