HostArena S3 API: adrese, potpisivanje i kompatibilnost

HostArena S3 API: adrese, potpisivanje i kompatibilnost

HostArena S3 storage je kompatibilan sa Amazon S3 API standardom, pa ga možete koristiti iz postojećih aplikacija, biblioteka i alata koji podržavaju S3. Ovo uputstvo je namenjeno programerima i administratorima: objašnjava adrese, region, potpisivanje zahteva i podržane operacije.

Šta vam je potrebno

PodatakVrednost / primerGde ga nalazite
Endpointhttps://s3.hostarena.rsisti za sve korisnike
Regiongarageisti za sve korisnike, obavezan
Bucketvas-bucketHostArena korisnički panel, kod S3 usluge
Access KeyVAS_ACCESS_KEYHostArena korisnički panel, kod S3 usluge
Secret KeyVAS_SECRET_KEYHostArena korisnički panel, kod S3 usluge

Endpoint i region

Svi korisnici koriste isti endpoint:

https://s3.hostarena.rs

Region je uvek garage. Ovo je obavezno: ako pošaljete zahtev potpisan za us-east-1, server ga odbija sa greškom AuthorizationHeaderMalformed (u poruci piše da očekuje garage).

Potpisivanje zahteva

Koristite standardno potpisivanje AWS Signature Version 4 (SigV4) sa vašim Access Key i Secret Key i regionom garage. Ključeve u aplikaciji čitajte iz promenljivih okruženja ili konfiguracije van koda, nikad ih ne upisujte direktno u izvorni kod.

Adrese objekata

Podržana su oba stila adresa. Naziv bucket-a se pojavljuje samo jednom:

  • path-style: https://s3.hostarena.rs/vas-bucket/primer.jpg
  • virtual-hosted: https://vas-bucket.s3.hostarena.rs/primer.jpg

Ako vaša biblioteka ima opciju „force path style” ili „use path-style endpoint”, preporučujemo da je uključite, jer je najpouzdanija. Pogrešno je, na primer, https://vas-bucket.s3.hostarena.rs/vas-bucket/primer.jpg: tu je bucket naveden dva puta.

Primer HTTP zahteva

Otpremanje objekta, path-style:

PUT /vas-bucket/primer.txt HTTP/1.1
Host: s3.hostarena.rs
Authorization: AWS4-HMAC-SHA256 Credential=VAS_ACCESS_KEY/20260101/garage/s3/aws4_request, ...
Content-Type: text/plain
Content-Length: 1234

Isti zahtev, virtual-hosted:

PUT /primer.txt HTTP/1.1
Host: vas-bucket.s3.hostarena.rs
Authorization: AWS4-HMAC-SHA256 Credential=VAS_ACCESS_KEY/20260101/garage/s3/aws4_request, ...
Content-Type: text/plain
Content-Length: 1234

U praksi zahteve ne sastavljate ručno, već preko S3 biblioteke za vaš jezik, koja sama računa potpis. Primere koda imamo za PHP, Python, Node.js i Go.

Podržane operacije

  • kreiranje bucket-a*,
  • listanje bucket-a i objekata,
  • otpremanje, preuzimanje, kopiranje i brisanje objekata,
  • Multipart Upload,
  • presigned URL,
  • metapodaci objekta.

*Prvi bucket je već napravljen pri aktivaciji usluge, pa kreiranje bucket-a u većini slučajeva nije potrebno.

Pažnja: brisanje objekta preko API-ja je trajno. Proverite putanju (ključ objekta) pre nego što pokrenete brisanje, naročito kod skripti koje brišu više objekata odjednom.

Content-Type

Pri otpremanju postavite odgovarajuće zaglavlje Content-Type, da bi pregledač pravilno prikazao fajl, na primer image/jpeg, image/png, application/pdf, text/plain ili application/json.

Javni pristup i presigned URL

Anonimni pristup ne postoji po difoltu. Ako fajlove treba javno prikazati (na primer slike na sajtu), za bucket u HostArena panelu uključite Website hosting. Za privremeni pristup pojedinačnom fajlu koristite presigned URL: privremenu adresu za preuzimanje, otpremanje ili deljenje. Trajanje adrese određuje aplikacija koja je generiše.

Multipart Upload

Za velike fajlove koristite Multipart Upload: fajl se šalje u delovima, prekinut prenos može da se nastavi, a prenos velikih fajlova je pouzdaniji. Većina S3 biblioteka ovo radi automatski.

Najčešći HTTP kodovi

KodZnačenje
200uspešno izvršeno
204objekat obrisan
400neispravan zahtev (često pogrešan region)
403pristup odbijen ili neispravni pristupni podaci
404bucket ili objekat nije pronađen
409konflikt zahteva
500greška servera

Najčešći problemi

AuthorizationHeaderMalformed

Region nije garage. Podesite region u klijentu na garage.

SignatureDoesNotMatch

Proverite Secret Key i da klijent koristi Signature Version 4.

InvalidAccessKeyId

Proverite Access Key u HostArena panelu.

NoSuchBucket ili 404

Proverite naziv bucket-a i da adresa ne sadrži bucket dva puta.

Ne može da se poveže

Proverite da koristite https://s3.hostarena.rs i da sistem dozvoljava odlazne veze na port 443.

Zaključak

Ukratko: endpoint https://s3.hostarena.rs, region garage, SigV4 i bucket samo jednom u adresi. Za pomoć otvorite tiket u korisničkom panelu. Pogledajte i Šta je HostArena S3 storage, a ako uslugu još nemate, pakete.

Tags: , ,