对于Rails问题,我可以通过包含它们来通过模块给出我的模型类方法和实例方法.我发现没有博客条目或帖子提及我如何在我的模型中包含变量.
具体来说,我想给我的包含模型一个类实例变量@question,但我不知道在模块中将声明放在何处以便应用它.如果模型本身声明了该变量,我还希望覆盖类实例变量.
ActiveSupport::Concern模块是否真的关心变量?
module ContentAttribute
extend ActiveSupport::Concern
def foo
p "hi"
end
module ClassMethods
# @question = "I am a generic question." [doesn't work]
def bar
p "yo"
end
end
end
class Video < ActiveRecord::Base
include ContentAttribute
# @question = "Specific question"; [should override the generic question]
end
Run Code Online (Sandbox Code Playgroud) 我正在部署一个 AWS lambda 函数(使用 nodejs 12.x),该函数在调用时执行 AWS 命令(“iot:attachPrincipalPolicy”)。我正在使用凭据从 lambda 执行环境变量运行此命令。
const AWS = require('aws-sdk/global');
const region = process.env['AWS_REGION'];
const accessKeyId = process.env['AWS_ACCESS_KEY_ID'];
const secretAccessKey = process.env['AWS_SECRET_ACCESS_KEY'];
AWS.config.region = region;
AWS.config.credentials = new AWS.Credentials(accessKeyId, secretAccessKey);
// attachPrincipalPolicy command from the AWS SDK here
Run Code Online (Sandbox Code Playgroud)
当我在本地(使用sam local start-api)测试该函数时,它会成功运行,因为在我的 AWS CLI 中,我已经设置了ACCESS_KEY_ID管理员帐户的和 密码。
但是,当我部署该函数并调用它时,即使我对 lambda 的执行角色授予完全管理员访问权限,该命令也会导致 lambda 失败并出现客户端错误(凭据无效)。
在这里,我在内联策略中授予了完全权限,并且还明确添加了预定义的管理员访问策略。
我希望您从环境变量中获得的 AWS_ACCESS_KEY_ID 授予我我在 lambda 函数的执行角色中设置的所有权限,但看起来我授予执行角色的特权并未反映在这些凭证中。
我的假设错了吗?这些凭据来自哪里,我如何才能知道它们允许我做什么?