Создание базового класса 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
Вернуться на верх