当前位置: 首页 > 知识库问答 >
问题:

厨师未初始化常量厨师::配方::AWS

董建茗
2023-03-14

我的食谱没有编译,抛出了错误uninitialized constant Chef::Recipe::AWS。chef\u gem aws sdk安装良好,但在aws运行时仍无法编译。调用config(access\u key\u id:“key”,secret\u access\u key:“pass”)。

chef_gem "aws-sdk"

AWS.config(access_key_id: key, secret_access_key: pass)

rds = AWS::RDS.new

共有2个答案

徐唯
2023-03-14

您需要向aws sdk gem提供您的aws凭据。正如您在gem文档中所读到的:

基本配置

您需要提供AWS安全凭据并选择默认区域。

AWS。配置(access\u key\u id:“…”,secret\u access\u key:“…”,region:“us-west-2”)

您还可以通过ENV指定这些值:

导出AWS\u ACCESS\u KEY\u ID=“…”导出AWS\u SECRET\u ACCESS\u密钥=“…”出口AWS\U地区='us-west-2'

使用凭据编辑“key”和“pass”,并添加要使用的aws区域。

秋阳荣
2023-03-14

根据aws sdk ruby这里的文档和代码,类名是aws,而不是aws。

但这里的主要问题是没有包括gem安装的lib。

在尝试调用其类之前,请添加“aws sdk”。

为了避免被与Chef::Recipe命名空间冲突的名称咬伤,将lib作为顶级lib调用,如::Aws.config(...)

来自personnal research的编辑:AWS命名空间来自sdk v1,如果您真的希望使用此命名空间而不是v2,则必须将配方更改为:

chef_gem "aws-sdk-v1"

require 'aws-sdk-v1'
AWS.config(access_key_id: key, secret_access_key: pass)

rds = AWS::RDS.new
 类似资料:
  • 我正在尝试编写一个LWRP,其中基于条件它将从助手库调用方法。我在让提供者读取外部方法时遇到语法问题。 供应商很直接 以及helper库 但每当我尝试运行它时,不管设置了什么资源属性,我都会得到 我显然在写助手库的留档中遗漏了一些东西,但我不确定是什么。试着移动一些东西,但开始没有想法。

  • 问题内容: 我什至不理解标题中服务之间的基本区别。这些服务仅仅是提供软件来帮助您配置/组织/管理VM,还是为VM运行提供物理基础设施?换句话说,它们只是开发人员与AWS,Rackspace和Azure之间的便捷接口吗? 问题答案: 不完全是。 Chef / Puppet是“相同的”,它们是配置管理。尽管您可以使用它们来管理虚拟机或公共/私有云,但是大多数人并不倾向于那样使用它们。它们是配置管理。它

  • 问题内容: 我想运行一组通用的食谱,这些食谱将在我们的实验室中供用户选择我们产品的版本,并希望使用jenkins来完成。Jenkins作业在节点引导期间传递此信息的最佳方法是什么?是否通过- j选项,例如-j’{“ load_version”:“ $ LOAD_VERSION”}’,其中$ LOAD_VERSION是Jenins作业的参数,有几种选择? 问题答案: 是的,可以让您为食谱的第一个Ch

  • 问题内容: 我是厨师菜鸟。我想创建一个在后台运行jar的配方。 helloworld-1.0.jar是一个程序,首先打印“ Hello World”,然后执行while(true)循环。 我希望当我登录到厨师客户端计算机时。它应该指示使用“ jps”命令运行的jar。但是没有运行这样的jar。 而且我可以看到hello.jar已下载,这表明代码块已被执行。 这个食谱怎么了? 问题答案: 最好建议您

  • 我有一个模型,category_count,我想属于2个模型,一个文章模型和一个类别模型。当我尝试访问服务器/管理员/文章时,我得到一个错误未初始化的常量Article::CategoryCount。我使用active_admin进行管理。当我这样做时:服务器/文章/1/category_counts我也得到一个错误未初始化的常量类别CountsController我使用Rails 4 这是我ca

  • 我假设使用以下元素按以下顺序构建一个字节数组: 对称加密的AES密钥(对于AES 128有一个随机密钥,对于AES 128有一个随机初始化向量。在CBC模式下使用AES 128和PKCS5填充进行加密。在加密之前,文本用UTF-8进行编码) AES IV 加密消息(使用ECB模式下的RSA算法和PKCS1填充、先前生成的密钥和消息收件人的公钥) 我正在做的是获取每个参数的长度,以便创建新的byte