首页 > 解决方案 > ex_aws_sts AssumeRoleWebIdentityAdapter 使 ex_aws 崩溃,进程试图调用自身

问题描述

此调用:ExAws.SQS.get_queue_url(queue) |> ExAws.request(debug_requests: true)

导致此崩溃。在 2.2 版中使用 ex_aws_sts 和 ex_aws

配置 :ex_aws, access_key_id: [{:system, "AWS_ACCESS_KEY_ID"}, {:awscli, "default", 30}, :instance_role], secret_access_key: [{:system, "AWS_SECRET_ACCESS_KEY"}, {:awscli, "default" , 30}, :instance_role], security_token: [{:system, "AWS_SESSION_TOKEN"}, :instance_role], awscli_auth_adapter: ExAws.STS.AuthCache.AssumeRoleWebIdentityAdapter,

2021-07-20 21:26:26.761 pid=<0.2408.0> [info]  Application d_loader exited: exited in: DLoader.Application.start(:normal, [])

12 ** (EXIT) 退出于:GenServer.call(ExAws.Config.AuthCache, {:refresh_awscli_config, "default", 30000}, 30000) 11 ** (EXIT) 退出于:GenServer.call(ExAws.Config.AuthCache , {:refresh_auth, %{access_key_id: "dummy", 主机: "sts.us-west-1.amazonaws.com", http_client: ExAws.Request.Hackney, json_codec: Jason, normalize_path: true, port: 443, region :“us-west-1”,重试:[max_attempts:10,base_backoff_in_ms:10,max_backoff_in_ms:10000],role_arn:“arn:aws:iam::981971132015:role/doc_loader_pod_role_qa”,role_session_name:“default_session”,方案: "https://", secret_access_key: "dummy", security_token: [{:system, "AWS_SESSION_TOKEN"}, :instance_role], web_identity_token: "eyJhb...vq-Q"}}, 30000) 10 ** (EXIT ) 进程试图调用自己 9 21:26:26.760 [错误] gen_server 'Elixir.ExAws.Config.AuthCache' 因原因终止:{calling_self,{'Elixir.GenServer',call,['Elixir.ExAws.Config.AuthCache',{refresh_auth,#{access_key_id = > <<"dummy">>,host => <<"sts.us-west-1.amazonaws.com">>,http_client => 'Elixir.ExAws.Request.Hackney',json_codec => 'Elixir.Jason ',normalize_path => true,port => 443,region => <<"us-west-1">>,retries => [{max_attempts,10},{base_backoff_in_ms,10},{max_backoff_in_ms,10000}], role_arn => <<"arn:aws:iam::981971132015:role/doc_loader_pod_role_qa">>,role_session_name => <<"default_session">>,scheme => ...,...}},...] }} 在 'Elixir.GenServer':call/3 line 1016 8760 [错误] gen_server 'Elixir.ExAws.Config.AuthCache' 因原因终止:{calling_self,{'Elixir.GenServer',call,['Elixir.ExAws.Config.AuthCache',{refresh_auth,#{access_key_id => < <"dummy">>,host => <<"sts.us-west-1.amazonaws.com">>,http_client => 'Elixir.ExAws.Request.Hackney',json_codec => 'Elixir.Jason', normalize_path => true,port => 443,region => <<"us-west-1">>,retries => [{max_attempts,10},{base_backoff_in_ms,10},{max_backoff_in_ms,10000}],role_arn = > <<"arn:aws:iam::981971132015:role/doc_loader_pod_role_qa">>,role_session_name => <<"default_session">>,scheme => ...,...}},...]}}在“Elixir.GenServer”中:调用/3 行 1016 8760 [错误] gen_server 'Elixir.ExAws.Config.AuthCache' 因原因终止:{calling_self,{'Elixir.GenServer',call,['Elixir.ExAws.Config.AuthCache',{refresh_auth,#{access_key_id => < <"dummy">>,host => <<"sts.us-west-1.amazonaws.com">>,http_client => 'Elixir.ExAws.Request.Hackney',json_codec => 'Elixir.Jason', normalize_path => true,port => 443,region => <<"us-west-1">>,retries => [{max_attempts,10},{base_backoff_in_ms,10},{max_backoff_in_ms,10000}],role_arn = > <<"arn:aws:iam::981971132015:role/doc_loader_pod_role_qa">>,role_session_name => <<"default_session">>,scheme => ...,...}},...]}}在“Elixir.GenServer”中:调用/3 行 1016 8AuthCache' 终止原因:{calling_self,{'Elixir.GenServer',call,['Elixir.ExAws.Config.AuthCache',{refresh_auth,#{access_key_id => <<"dummy">>,host => << "sts.us-west-1.amazonaws.com">>,http_client => 'Elixir.ExAws.Request.Hackney',json_codec => 'Elixir.Jason',normalize_path => true,port => 443,region = > <<"us-west-1">>,重试 => [{max_attempts,10},{base_backoff_in_ms,10},{max_backoff_in_ms,10000}],role_arn => <<"arn:aws:iam::981971132015 :role/doc_loader_pod_role_qa">>,role_session_name => <<"default_session">>,scheme => ...,...}},...]}} in 'Elixir.GenServer':call/3 line 1016 8AuthCache' 终止原因:{calling_self,{'Elixir.GenServer',call,['Elixir.ExAws.Config.AuthCache',{refresh_auth,#{access_key_id => <<"dummy">>,host => << "sts.us-west-1.amazonaws.com">>,http_client => 'Elixir.ExAws.Request.Hackney',json_codec => 'Elixir.Jason',normalize_path => true,port => 443,region = > <<"us-west-1">>,重试 => [{max_attempts,10},{base_backoff_in_ms,10},{max_backoff_in_ms,10000}],role_arn => <<"arn:aws:iam::981971132015 :role/doc_loader_pod_role_qa">>,role_session_name => <<"default_session">>,scheme => ...,...}},...]}} in 'Elixir.GenServer':call/3 line 1016 8调用,['Elixir.ExAws.Config.AuthCache',{refresh_auth,#{access_key_id => <<"dummy">>,host => <<"sts.us-west-1.amazonaws.com">>, http_client => 'Elixir.ExAws.Request.Hackney',json_codec => 'Elixir.Jason',normalize_path => true,port => 443,region => <<"us-west-1">>,retries => [{max_attempts,10},{base_backoff_in_ms,10},{max_backoff_in_ms,10000}],role_arn => <<"arn:aws:iam::981971132015:role/doc_loader_pod_role_qa">>,role_session_name => <<"default_session" >>,scheme => ...,...}},...]}} 在 'Elixir.GenServer':call/3 line 1016 8调用,['Elixir.ExAws.Config.AuthCache',{refresh_auth,#{access_key_id => <<"dummy">>,host => <<"sts.us-west-1.amazonaws.com">>, http_client => 'Elixir.ExAws.Request.Hackney',json_codec => 'Elixir.Jason',normalize_path => true,port => 443,region => <<"us-west-1">>,retries => [{max_attempts,10},{base_backoff_in_ms,10},{max_backoff_in_ms,10000}],role_arn => <<"arn:aws:iam::981971132015:role/doc_loader_pod_role_qa">>,role_session_name => <<"default_session" >>,scheme => ...,...}},...]}} 在 'Elixir.GenServer':call/3 line 1016 8com">>,http_client => 'Elixir.ExAws.Request.Hackney',json_codec => 'Elixir.Jason',normalize_path => true,port => 443,region => <<"us-west-1"> >,重试 => [{max_attempts,10},{base_backoff_in_ms,10},{max_backoff_in_ms,10000}],role_arn => <<"arn:aws:iam::981971132015:role/doc_loader_pod_role_qa">>,role_session_name => <<"default_session">>,scheme => ...,...}},...]}} in 'Elixir.GenServer':call/3 line 1016 8com">>,http_client => 'Elixir.ExAws.Request.Hackney',json_codec => 'Elixir.Jason',normalize_path => true,port => 443,region => <<"us-west-1"> >,重试 => [{max_attempts,10},{base_backoff_in_ms,10},{max_backoff_in_ms,10000}],role_arn => <<"arn:aws:iam::981971132015:role/doc_loader_pod_role_qa">>,role_session_name => <<"default_session">>,scheme => ...,...}},...]}} in 'Elixir.GenServer':call/3 line 1016 8aws:iam::981971132015:role/doc_loader_pod_role_qa">>,role_session_name => <<"default_session">>,scheme => ...,...}},...]}} 在 'Elixir.GenServer' :call/3 线 1016 8aws:iam::981971132015:role/doc_loader_pod_role_qa">>,role_session_name => <<"default_session">>,scheme => ...,...}},...]}} 在 'Elixir.GenServer' :call/3 线 1016 8

标签: elixiramazon-sqsaws-sts

解决方案


请在此处查看我对 ex_aws_sts 的修复:https ://github.com/ex-aws/ex_aws_sts/pull/28


推荐阅读