Создание базового класса SQS boto3 python
Нужна помощь в написании базового класса для клиента Amazon SQS boto3. Идея заключается в том, что у нас будет три класса, один родительский и два дочерних. В родительском классе есть вся базовая функциональность для подключения к AWS SQS, а в дочерних будут пользовательские body и URL. (потому что тело и URL будут отличаться друг от друга). Поэтому я не понимаю, где нужно создавать функцию send в главном классе или в дочернем? И основная структура классов, в интернете нет информации для этого случая, помогите пожалуйста.
Что я сделал на данный момент:
import boto3
import logging
from abc import ABC, abstractmethod
from django.conf import settings
logger = logging.getLogger(__name__)
class BaseQueueController(ABC):
""""
Base controller for Amazon SQS
"""
def __init__(self):
self.sqs = boto3.client('sqs',
region_name=settings.AWS_REGION,
aws_access_key_id=settings.AWS_SQS_ACCESS_KEY_ID,
aws_secret_access_key=settings.AWS_SQS_SECRET_ACCESS_KEY,
endpoint_url=settings.AWS_SQS_ENDPOINT_URL,
)
@abstractmethod
def send(self):
pass
class FirstChild(BaseQueueController):
""""
SQS 1st
"""
pass
class SecondChild(BaseQueueController):
""""
SQS 2nd
"""
pass