Python (boto3)
boto3 je zvanični AWS SDK za Python koji omogućava jednostavan rad sa Amazon S3 kompatibilnim servisima, uključujući HostArena S3 Storage.
Šta je potrebno?
Pripremite sledeće podatke iz korisničkog panela:
-
Endpoint
-
Access Key
-
Secret Key
-
Naziv Bucket-a
Primer:
| Polje | Primer |
|---|---|
| Endpoint | https://username.s3.hostarena.rs |
| Bucket | username |
| Access Key | Dostupan u panelu |
| Secret Key | Dostupan u panelu |
Instalacija
Instalirajte boto3:
pip install boto3
Proverite instalaciju:
pip show boto3
Povezivanje
import boto3
s3 = boto3.client(
"s3",
endpoint_url="https://username.s3.hostarena.rs",
aws_access_key_id="YOUR_ACCESS_KEY",
aws_secret_access_key="YOUR_SECRET_KEY",
region_name="us-east-1",
)
Prikaz Bucket-a
response = s3.list_buckets()
for bucket in response["Buckets"]:
print(bucket["Name"])
Prikaz sadržaja Bucket-a
response = s3.list_objects_v2(Bucket="username")
for obj in response.get("Contents", []):
print(obj["Key"])
Upload fajla
s3.upload_file(
"backup.zip",
"username",
"backup.zip"
)
Upload sadržaja iz memorije
s3.put_object(
Bucket="username",
Key="hello.txt",
Body="Hello from HostArena!"
)
Preuzimanje fajla
s3.download_file(
"username",
"backup.zip",
"backup.zip"
)
Čitanje sadržaja fajla
response = s3.get_object(
Bucket="username",
Key="hello.txt"
)
print(response["Body"].read().decode())
Brisanje fajla
s3.delete_object(
Bucket="username",
Key="backup.zip"
)
Provera da li fajl postoji
try:
s3.head_object(
Bucket="username",
Key="backup.zip"
)
print("Fajl postoji")
except:
print("Fajl ne postoji")
Najčešći problemi
InvalidAccessKeyId
Proverite Access Key.
SignatureDoesNotMatch
Proverite Secret Key i Endpoint.
NoSuchBucket
Proverite naziv Bucket-a.
Could not connect to the endpoint URL
Proverite da li koristite:
https://username.s3.hostarena.rs
