سرویس محبوب و خوش اقبال شرکت آمازون برای فراهم کردن بستر ابری مدیریت و ذخیره کردن فایل ها می تواند راه حل تعداد قابل توجهی از دغدغه های تیم های فنی شرکت های مختلف باشد. از همین رو با فرض آگاهی مخاطبین به میزان کافی از چیستی، چرایی و چگونگی این موضوع نمونه کد زیر که برای اولین بار از من چند ساعت وقت گرفت رو با شما دوستان به زبان بسیار ساده و روان پایتون به اشتراک میزارم تا شاید از هزینه زمانی یا چالش های یادگیری اولیه کاسته بشه و برای شما مخاظبین مفید باشه.
import logging
import os
import pathlib
from pprint import pprint
import boto3
import botocore
from botocore.exceptions import ClientError
aws_access_key_id = '54feafac58d8a866**********************4ad21'
aws_secret_access_key = '7b839c4dc8a247b79*************************f81471267bae2cb08a'
local_file_path = r"<fullpath of your file>"
bucket_name = 'snappshop-stage-databases'
s3_key = 'path/to/s3/<yourfilename>'
endpoint_url = 'https://*****'
try:
s3 = boto3.client('s3', endpoint_url='https://s3*****',
aws_access_key_id=aws_access_key_id,
aws_secret_access_key=aws_secret_access_key)
response = s3.list_objects_v2(Bucket=bucket_name)
if 'Contents' in response:
for file in response['Contents']:
print(file['Key'])
else:
print("Bucket is empty.")
s3.upload_file(local_file_path, bucket_name, s3_key)
print('File uploaded successfully.')
except botocore.exceptions.NoCredentialsError:
print('AWS credentials not found.')
except botocore.exceptions.EndpointConnectionError:
print('Unable to connect to the S3 endpoint.')
except Exception as e:
print(e)
کد ارائه شده در ابتدا با تعیین کلید های رشته ای برای اتصال به سرویس دهنده محلی سازمان یا شرکت شما و در یافت آدرس فایل مرجع و همچنین در یافت نام فایل در آدرس مقصد امکان بارگزاری فایل رو به شما ارائه میکند. همچنین در ابتدای امر به هنگام اجرای این کد فایل های از پیش ارسال شده به باکت "سطل" های سرویس آمازون برای شما نمایش داده میشود.
نکته! امکان استفاده از ابزار داخل Remote Desktop Manager البته به صورت غیر قابل اتکا برای دریافت و بارگزاری فایل درون سرویس مورد بحث از شرکت آمازون به تازگی فراهم شده است.
دلتون شاد، کدتون سلامت
https://en.wikipedia.org/wiki/Amazon_S3