backin
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
Trending in Questions
Other Trending Topics
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #channels
- #elixirconf
- #exunit
- #discussion
- #code-sync
- #javascript
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #blog-post
- #phoenix_html
- #iex
- #graphql
- #ai
- #genstage
- #elixirconf-us
- #websockets
- #supervisor
- #advent-of-code
- #distillery
- #processes
- #api
- #forms
- #metaprogramming
- #security
- #hex










Showing Posts 1 to 2- Show Best Posts
- Show All Posts (oldest first)
- Show All Posts (newest first)
msmithstubbs
This error message:
is telling you “I’m calling an Enumerable function on something, but it doesn’t support it because it is a tuple”
Where is the tuple coming from? Here:
Poison.encodereturns a tuple. If you just want the encoded JSON, you can callPoison.encode!backin
I was able to get it now, I’ll leave it here for other users.
I insert the data through the console
[info] Sending: %{Source: "car-event", DetailType: "car-created", Detail: "{\"country\":\"US\",\"brand\":\"Renault\",\"name\":\"A4\"}", EventBusName: "my-event-bus"}[info] Event ID: %{"Entries" => [%{"EventId" => "e4accabf-b89d-0dd2-0fff-92e6de215a95"}], "FailedEntryCount" => 0}