Broadway how to send and receive messages from SQS

i have created connection successfully with AWS SQS. here is my code:

def start_link(_opts) do
    Broadway.start_link(__MODULE__,
      name: __MODULE__,
      producers: [
        default: [
          module: {
            BroadwaySQS.Producer,
            queue_name: "my_queue",
            config: [
              access_key_id: "key",
              secret_access_key: "secret",
              region: "ap-south-1"
            ]
          },
          stages: 60
        ]
      ],
      processors: [
        default: [
          stages: 100
        ]
      ],
      batchers: [
        default: [
          stages: 80,
          batch_size: 10,
          batch_timeout: 2000
        ]
      ]
    )
  end

# callbacks
  def handle_message(_, %Message{data: data} = message, _) do
    message
    |> Message.update_data(fn data -> data * data end)
  end

  def handle_message(_, message, _) do
    receipt = %{
      id: message.metadata.message_id,
      receipt_handle: message.metadata.receipt_handle
    }

    IO.inspect(receipt)
    # Do something with the receipt
  end

  def handle_batch(_, messages, _, _) do
    list = messages |> Enum.map(fn e -> e.data end)
    IO.inspect(list, label: "Got batch from SQS")
    messages
  end

i am new dev to elixir. can anyone help me about how to send and receive messages from AWS SQS.