I’m fighting with this code
@moduledoc false
require Logger
def send_event_to_eventbridge() do
event = %{
entries: [
%{
source: "car-event",
detailType: "car-created",
detail: (%{
brand: "Renault",
name: "A4",
country: "US"
}),
eventBusName: "my-event-bus"
}
]
}
event_json = Poison.encode(event)
Logger.info("Sending: #{inspect(event_json)}")
case ExAws.EventBridge.put_events(event_json) |> ExAws.request() do
{:ok, response} ->
Logger.info("Successfully: #{inspect(response)}")
{:error, error} ->
Logger.error("Error: #{inspect(error)}")
end
end
end
and I don’t know how to fix this error
(Protocol.UndefinedError) protocol Enumerable not implemented for {:ok, “{"entries":[{"eventBusName":"my-event-bus","detail":{"country":"US","brand":"Renault","name":"A4"},"detailType":"car-created","source":"car-event"}]}”} of type Tuple. This protocol is implemented for the following type(s): DBConnection.PrepareStream, DBConnection.Stream, Date.Range, Ecto.Adapters.SQL.Stream, File.Stream, Function, GenEvent.Stream, HashDict, HashSet, IO.Stream, Jason.OrderedObject, List, Map, MapSet, Phoenix.LiveView.LiveStream, Postgrex.Stream, Range, Stream
(elixir 1.14.0) lib/enum.ex:1: Enumerable.impl_for!/1
(elixir 1.14.0) lib/enum.ex:166: Enumerable.reduce/3
(elixir 1.14.0) lib/enum.ex:4307: Enum.map/2
(ex_aws_eventbridge 0.1.1) lib/ex_aws/event_bridge.ex:88: ExAws.EventBridge.put_events/2
(my_app 0.1.0) lib/my_app/eventbridge.ex:27: MyApp.Eventbridge.send_event_to_eventbridge/0