小编Fra*_*ois的帖子

无法删除AWS Lambda @ Edge副本

这个问题已经存在,但我认为它会对SO产生更大的影响.

我创建了一个AWS Lambda @ Edge函数,以便在Cloudfront URL到达Origin之前重写它.
AWS Lambda @ Edge函数在发布时会自动复制到所有区域,因此我对每个区域都看到这一点并不感到惊讶:

在此输入图像描述

这里开始出现问题:
我删除了Lambda @ Edge,因为它是一个测试,我想开始一个全新的,但复制品不会同时被删除.
当时没什么大不了的,我以为我可以创建一个新的Lambda @ Edge功能.
但你不能,因为Cloudfront触发器一次只能使用一个函数(因为副本使用它,你不能创建一个新函数).
而且,触发器也不能删除.

所以现在我无法在任何地方使用Lambda @ Edge复制品,我无法删除,也无法创建类似的复制品.


TL; DR

  • 我使用CloudFront触发器创建了Lambda @ Edge
  • 我删除它以创建一个新的(类似的)
  • 现在还有一个复制品
  • 我无法删除副本
  • 我无法创建新的Lambda @ Edge,因为副本已经"正在使用"触发器(我无法删除)

我很感激能得到这个
弗朗索瓦的 帮助


编辑:

我绝对认为这是一个错误,因为在我的副本页面中,主ARN的链接以404响应.

lambda amazon-web-services amazon-cloudfront aws-lambda aws-lambda-edge

21
推荐指数
4
解决办法
4768
查看次数

Gemfile 中的环境变量

我在 Gemfile 中使用环境变量时遇到问题。
我正在尝试使用 API 密钥从私有 Github 存储库加载 gem:

auth = ENV['SECRET_GIT']
gem 'foobar', git: "https://#{auth}:x-oauth-basic@github.com/Foo/Bar.git"
Run Code Online (Sandbox Code Playgroud)

但如果我是puts我的ENV['SECRET_GIT']变量,它就什么也没有。
我虽然你可以这样做,因为这些(尤其是第一个):
- https://devcenter.heroku.com/articles/bundler-configuration#gem-source-username-and-password
- https://stackoverflow .com/a/7338154/5353193
-使用 Gemfile 中的环境变量部署到 Heroku

捆绑程序版本 1.14.6
ruby 2.4.0p0

谢谢你的帮助

编辑
我正在尝试在我的本地环境中执行此操作,我想在 heroku 上执行此操作没有问题。

ruby-on-rails heroku bundler gemfile

5
推荐指数
1
解决办法
5494
查看次数

如何在 Doorkeeper::TokenController 上使用 before_action

我在使用 Doorkeeper::TokensController 时遇到了问题。
我想在请求访问令牌之前执行一些代码(如果它已创建与否,无论如何我都想记录它)使用before_action(默认路由是POST /oauth/token/ Doorkeeper::TokensController#create

我通过执行以下操作来遵循此处的文档:

配置/路由.rb

  use_doorkeeper do
    controllers tokens: 'oauth/access_tokens'
  end
Run Code Online (Sandbox Code Playgroud)

应用程序/控制器/access_tokens_controller.rb

class Oauth::AccessTokensController < Doorkeeper::TokensController
  before_action :log_auth, only: [:create]

  def log_auth
    puts "I want to log here"
  end
end
Run Code Online (Sandbox Code Playgroud)

但是当我这样做时POST /oauth/token,我收到以下错误消息:

ActionController::RoutingError(Oauth::AccessTokensController:Class 的未定义方法“before_action”):
app/controllers/oauth/access_tokens_controller.rb:2:in 'class:AccessTokensController'
app/controllers/oauth/access_tokens_controller.rb:1:in '顶部(必填)'

我究竟做错了什么?有没有办法触发 abefore_action或等效项Doorkeeper::TokensController

ruby-on-rails oauth doorkeeper

3
推荐指数
1
解决办法
966
查看次数