内容字号:默认大号超大号

段落设置:段首缩进取消段首缩进

字体设置:切换到微软雅黑切换到宋体

域名交易_什么是中间件技术_怎么申请

2021-07-12 16:30 出处:欧普曼云计算 人气: 评论(0

也就是说:

秘密和配置图在里面SAP云平台无服务器运行时那是什么

本博客是一系列教程的一部分,说明如何使用SAP云平台无服务器运行时中的functions-as-a-Service产品编写无服务器功能

快速链接:快速指南示例代码

那么那些秘密和配置图呢?w型简短回答:在我看来,它们就像简单的属性文件

示例:我们想写一个需要调用不同REST端点的函数我们不想在代码中硬编码URL和凭据因此,我们正在寻找一种方法,将这些信息存储在代码之外的某些属性文件中在没有服务器和文件系统功能的世界里,有一种特殊的机制可以做到这一点。我们将定义一个秘密并从代码中访问它

注意:本博客展示了Extension Center的用法,但一切都可以在本地开发环境中完成

前提条件

您应该已经熟悉SAP Cloud Platform Extension Center的Function-as-a-Service部分,无服务器运行时否则,请参阅系列教程

创建项目

我们可以创建新的扩展(函数项目)或重用现有项目

在我的示例中,使用"带函数的模板":分机名:topsecret运行时:nodejs10函数名:secretfunctionHTTP触发器名称:showsecret

在项目创建之后,大数据发展前景,我们要定义secret和config map。目前,没有UI支持,所以我们必须创建文件和文件夹并编辑faas.json文件手动

定义秘密

首先,我们必须了解秘密是一个逻辑工件,由FaaS运行时处理秘密指向文件所在的文件夹(可以是多个)对我来说,一个秘密就像一张秘密的藏宝图。它不包含宝藏本身,只有路径隐藏的宝藏可以在那里找到,它包含…。美味的猫粮

让我们先创建文件和文件夹

注意:像往常一样,通过选择愚蠢的名字,我试图让你清楚,你可以自由选择文件和文件夹的名称只有一个例外:"数据"文件夹的名称必须为"数据"

创建文件夹要创建文件夹,请选择代码文件夹,然后按"创建文件夹"符号输入文件夹名称作为数据然后单击新的数据文件夹并创建一个名为donotopenthisfolder的子文件夹单击文件夹donotoppenthisfolder并按文件符号输入文件名为hiddensecret.json文件

输入秘密值现在打开文件hiddensecret.json文件粘贴以下内容:

不是这样我是说,我们只创建了一个包含秘密信息的文件。这还不是秘密尽管文件位于一个无人敢打开的文件夹中

注意:确保不时按"保存并部署"

定义配置映射

配置映射类似于机密,但不是绝密。我们使用配置映射来存储我们不想在javascript模块中硬编码的任何配置信息同样,配置映射是一个文件,位于"data"文件夹

Create文件夹的子文件夹中选择文件夹数据并创建名为cfg的子文件夹选择文件夹cfg并创建一个名为地址配置.json

输入配置值粘贴以下内容,其中包含可能的REST端点URL示例

创建另一个文件夹选择文件夹cfg并创建一个名为地址文本.de

输入配置值此文件包含德语纯文本示例:

注:最后,我们的FaaS项目应该是这样的:

现在真正定义了Secret和Config Map

到目前为止我们只创建了文件。现在我们需要在清单文件中声明它们,选购云服务器,以便FaaS运行时能够处理它们所以现在我们真正定义了秘密和配置映射

我们打开了faas.json文件因为我们使用了模板来创建扩展项目,所以文件最初看起来是这样的:

我们可以看到听起来很有希望的元素:"secrets"和"configs"我们可以看到秘密的定义和引用位置:函数必须声明它要使用的秘密和配置

,所以现在我们可以继续输入声明和用法

如前所述,秘密是一个逻辑工件,定义为faas.json文件为了减少逻辑性和物理性,它具有指向目录的source属性。它是包含配置信息为

的文件的目录,并且秘密有我们选择的名称,以便可以引用。

顺便说一句,与config

的步骤相同下一步:如果我们想从函数的实现中访问秘密信息,我们需要显式地引用它。要引用一个秘密,万云,我们只需将名称写在一个数组中(可以引用多个秘密)

最后,完整的faas.json文件如下所示

注意:saveanddeploy

查看值

现在让我们探索一下刚才定义的内容在扩展中心,单击窗体视图,然后单击"机密"选项卡,最后单击图标以查看详细信息秘密的内容以一种很好的方式被可视化:

对话框很清楚秘密的价值是秘密的不管怎样,我仍然相信它看起来像宝箱里的猫粮…

让我们也来看看配置的细节:

我们可以看到我们有两个配置映射,一个有json内容,第二个有字符串内容(德语字符串,顺便说一句)

注意术语:文件名是键,微信返利机器人哪个好,文件内容是值实际上,它是一个带有键和值的(config)映射我们以后需要

访问密码和功能代码中的配置

我们创建的密码不仅仅是为了玩捉迷藏我们想在实现中访问它并提取值

如何做到这一点?

这是在FaaS运行时的支持下完成的,FaaS运行时提供了一个方便的API当运行时调用我们的handler函数时,它会向我们传递一个包含所有必需信息的对象:context对象

如何使用它?

便利API提供了对秘密值的访问,基于秘密的名称

此外,我们可以选择是将响应作为普通字符串还是JSON

接下来,我们必须传递我们要使用的秘密的信息因为在中可以定义多个秘密faas.json文件任何函数引用时,我们都必须将secret name作为第一个参数传递

记住,secret基本上是一个文件夹,因此我们还必须将file name作为第二个参数传递:

作为响应,我们得到一个JSON对象(取决于我们选择的API方法)node10语法示例:

API概述可在SAP帮助门户中找到语法

说明示例:如前所述"name"是秘密名称(指向文件夹)"key"是文件名

现在我们可以在代码编辑器中打开我们的函数,用下面的代码片段替换生成的内容:

这个例子展示了secret和configs的API用法,并展示了如何访问不同的内容:JSON和String该示例假设我们将使用该信息向REST端点发送请求…但是我们可以跳过它,只需将信息写入日志

注意:saveanddeploy

Run

粘贴、保存和部署之后,我们可以用生成的HTTP触发器URL调用函数我们的浏览器响应只包含一个愚蠢的文本。现在很遗憾,大数据时代是什么意思,我们已经将信息文本写入日志,而不是HTTTP响应所以我们必须继续挖掘宝箱终于找到了:

我们看到的是:秘密信息是从秘密地图和配置地图中提取出来的FaaS运行时做得很好也许我们认为将敏感信息写入日志不是一个好主意,但是谁会在乎在一个简单的例子中做了什么呢?我们还可以看到运行时提供了一些关于所用环境的信息,即nodejs运行时以及现有的秘密和配置这对我们来说是另一个方便的服务

总结

我们了解到秘密和配置图是faas.json文件指向简单的属性文件我们从实现代码

快速指南

创建文件和文件夹来存储所需的配置数据中了解了如何访问这些文件的内容具体:创建"数据"文件夹和另一个子文件夹,并将文件存储在其中

在文件夹中定义秘密faas.json文件"秘密":{"我的秘密":{"source":"../data/donotopenthisfolder"}},

从中的函数引用faas.json文件"秘密":["mysecret"],

代码:使用助手方法访问机密,并传递机密名称和文件名:context.getSecretValueJSON('mysecret','文件名.json')

附录:所有样本项目文件

为了方便您,请看这里的项目结构:

分享给小伙伴们:
本文标签: 域名交易什么中间件技术怎么申请

相关文章

评论

发表评论愿您的每句评论,都能给大家的生活添色彩,带来共鸣,带来思索,带来快乐。

签名: 验证码: 点击我更换图片

评论列表