无法在生产中发送消息(弹性beanstalk)

时间:2018-06-06 23:50:35

标签: ruby-on-rails ruby twilio elastic-beanstalk

我无法让我的应用程序在AWS的Elastic Beanstalk中的作品中发送消息。我的应用程序在dev中工作。当我用弹性beanstalk转移到生产时,我遇到了发送消息的问题。

[HTTP 404] 20404 : Unable to create record The requested resource /2010-04-01/Accounts/REMOVED/Messages.json was not found https://www.twilio.com/docs/errors/20404

我想我正确设置了secrets.yml文件。以下是编辑版本。

development:
  secret_key_base: asdfff
  twilio_account_sid:  <%= ENV.fetch("SECRET_KEY_BASE", "asdf") %>
  twilio_auth_token:  <%= ENV.fetch("SECRET_KEY_BASE", "asdf") %>
  twilio_phone_number:  <%= ENV.fetch("SECRET_KEY_BASE", "asdf") %>

test:
  secret_key_base: asdfff
  twilio_account_sid:  <%= ENV.fetch("SECRET_KEY_BASE", "asdf") %>
  twilio_auth_token:  <%= ENV.fetch("SECRET_KEY_BASE", "asdf") %>
  twilio_phone_number:  <%= ENV.fetch("SECRET_KEY_BASE", "asdf") %>

production:
  secret_key_base: asdfff
  twilio_account_sid:  <%= ENV.fetch("SECRET_KEY_BASE", "asdf") %>
  twilio_auth_token:  <%= ENV.fetch("SECRET_KEY_BASE", "asdf") %>
  twilio_phone_number:  <%= ENV.fetch("SECRET_KEY_BASE", "asdf") %>

我也运行此命令来更新我的秘密。

eb setenv SECRET_KEY_BASE=$(rails secret)

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

Twilio开发者传道者在这里。

看来你有你的secretts.yml文件设置你的Rails应用程序密钥库的一切。它应该看起来更像:

 production:
  secret_key_base: asdfff
  twilio_account_sid:  <%= ENV.fetch("TWILIO_ACCOUNT_SID", "asdf") %>
  twilio_auth_token:  <%= ENV.fetch("TWILIO_AUTH_TOKEN", "asdf") %>
  twilio_phone_number:  <%= ENV.fetch("TWILIO_PHONE_NUMBER", "asdf") %>

然后,您应该从Twilio console获取这三个其他环境变量,并使用相同的命令设置它们:

eb setenv TWILIO_ACCOUNT_SID=ACXXXXXXXXX TWILIO_AUTH_TOKEN=YYYYYYYYYYY TWILIO_PHONE_NUMBER=+15551234567

让我知道这是否有帮助。