类:Mongo::Server::AppMetadata::Environment Private
- 继承:
-
对象
- 对象
- Mongo::Server::AppMetadata::Environment
- 定义于:
- build/Ruby-driver-v 2.19 /lib/mongo/server/app_metadata/environment.rb
Overview
此类是私有 API 的一部分。 应尽可能避免使用此类,因为它将来可能会被删除或更改。
实现握手规范中的逻辑,用于推断和报告程序执行的当前 FaaS 环境。
在命名空间下定义
类: MissingVariable 、 TooManyEnvironments 、 TypeMismatch 、 ValueTooLong
常量摘要折叠
- MAXIMUM_VALUE_LENGTH =
此常量是私有 API 的一部分。 应尽可能避免使用此常量,因为它将来可能会被删除或更改。
规范中未明确指定该值,仅暗示小于512 。
500
- 鉴别器 =
此常量是私有 API 的一部分。 应尽可能避免使用此常量,因为它将来可能会被删除或更改。
根据存在的环境变量确定哪个 FaaS 环境处于活动状态的映射。
{ ' AWS_EXECUTION_ENV ' => { 模式: / ^AWS_Lambda_ /, 名称: 'aws.lambda' }, ' AWS_LAMBDA_RUNTIME_API ' => { 名称: 'aws.lambda' }, ' FUNCTIONS_WORKER_RUNTIME ' => { 名称: 'azure.func' }, ' K_SERVICE ' => { 名称: ' gcp.func ' }, ' FUNCTION_NAME ' => { 名称: ' gcp.func ' }, 'VERCEL' => { 名称: 'vercel' }, }.冻结
- COERCIONS =
此常量是私有 API 的一部分。 应尽可能避免使用此常量,因为它将来可能会被删除或更改。
描述如何强制转换指定类型的值。
{ string : ->(v) { 字符串(v) }, 整数: ->(v) { 整型(v) } }.冻结
- 字段 =
此常量是私有 API 的一部分。 应尽可能避免使用此常量,因为它将来可能会被删除或更改。
描述每个 FaaS 环境需要哪些字段,以及它们的预期类型,以及它们在握手文档中的命名方式。
{ 'aws.lambda' => { 'AWS_REGION' => { 字段: :地区, 类型: : 细绳 }, 'AWS_LAMBDA_FUNCTION_MEMORY_SIZE' => { 字段: :memory_mb, 类型: :整数 }, }, 'azure.func' => {}, ' gcp.func ' => { ' FUNCTION_MEMORY_MB ' => { 字段: :memory_mb, 类型: :整数 }, ' FUNCTION_TIMEOUT_SEC ' => { 字段: :timeout_sec, 类型: :整数 }, ' FUNCTION_REGION ' => { 字段: :地区, 类型: : 细绳 }, }, 'vercel' => { ' VERCEL_REGION ' => { 字段: :地区, 类型: : 细绳 }, }, }.冻结
实例属性摘要折叠
-
# error ⇒ string | nil
只读
private
错误消息解释了为什么未检测到有效的 FaaS 环境,如果没有发生错误,则返回 nil。
-
#个字段⇒ 哈希 | nil
只读
private
描述检测到的 FaaS 环境的字段。
-
#名称⇒ string | nil
只读
private
检测到的 FaaS 环境的名称,如果未检测到有效的 FaaS 环境,则为 nil。
实例方法摘要折叠
-
# Amazon Web Services ? ⇒ true | false
private
查询当前环境是否为有效的Amazon Web Services Lambda环境。
-
# Azure ? ⇒ true | false
private
查询当前环境是否为有效的 Azure 环境。
-
# faas? ⇒ true | false
private
查询当前环境是否为有效的 FaaS 环境。
-
# GCP ? ⇒ true | false
private
查询当前环境是否为有效的GCP环境。
-
#初始化⇒ 环境
构造函数
private
创建一个新的 AppMetadata::Environment对象,并使用当前的 ENV 变量对其进行初始化。
-
# to_h ⇒ 哈希
private
将检测到的环境信息编译为哈希。
-
# vercel? ⇒ true | false
private
查询当前环境是否为有效的 Vercel 环境。
构造函数详情
#初始化⇒环境
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
创建一个新的 AppMetadata::Environment对象,并使用当前的 ENV 变量对其进行初始化。 如果未检测到 FaaS 环境,或者环境包含无效或矛盾状态,则会使用设立为 {nil} 的 {name} 进行初始化。
104 105 106 107 108 109 110 111 112 113 114 115 116 |
# File ' 构建/ruby-driver-v2.19/lib/ mongo / 服务器/app_metadata/environment.rb', 第104行 def 初始化 @error = nil @name = 检测环境 populate_fields 救援 TooManyEnvironments => e self.错误 = "检测到太多环境: #{ e . } " 救援 MissingVariable => e self.错误 = "缺少环境变量: #{ e . } " 救援 TypeMismatch => e self.错误 = e. 救援 ValueTooLong => e self.错误 = " #{ e . } 的 值 太长 " end |
实例属性详细信息
#error ⇒ String | nil
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
这些错误消息不会传播给用户;它们仅用于故障排除和调试。)
返回错误消息,解释为何未检测到有效的 FaaS 环境;如果没有发生错误,则返回 nil。
98 99 100 |
# File ' 构建/ruby-driver-v2.19/lib/ mongo / 服务器/app_metadata/environment.rb', 第98行 def 错误 @error end |
#个字段⇒哈希 | nil (只读)
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
返回描述检测到的 FaaS 环境的字段。
91 92 93 |
# File ' 构建/ruby-driver-v2.19/lib/ mongo / 服务器/app_metadata/environment.rb', 第91行 def 字段 @fields end |
#名称⇒ string | nil (只读)
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
返回检测到的 FaaS 环境的名称,如果未检测到有效的 FaaS 环境,则返回 nil。
87 88 89 |
# File ' 构建/ruby-driver-v2.19/lib/ mongo / 服务器/app_metadata/environment.rb', 第87行 def 名称 @name end |
实例方法详细信息
# Amazon Web Services ? ⇒ true | false
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
查询当前环境是否为有效的Amazon Web Services Lambda环境。
131 132 133 |
# File ' 构建/ruby-driver-v2.19/lib/ mongo / 服务器/app_metadata/environment.rb', 第131行 def Amazon Web Services ? @name == 'aws.lambda' end |
# Azure ? ⇒ true | false
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
查询当前环境是否为有效的 Azure 环境。
140 141 142 |
# File ' 构建/ruby-driver-v2.19/lib/ mongo / 服务器/app_metadata/environment.rb', 第140行 def Azure ? @name == 'azure.func' end |
# faas? ⇒ true | false
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
查询当前环境是否为有效的 FaaS 环境。
122 123 124 |
# File ' 构建/ruby-driver-v2.19/lib/ mongo / 服务器/app_metadata/environment.rb', 第122行 def faas? @name != nil end |
# GCP ? ⇒ true | false
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
查询当前环境是否为有效的GCP环境。
149 150 151 |
# File ' 构建/ruby-driver-v2.19/lib/ mongo / 服务器/app_metadata/environment.rb', 第149行 def gcp? @name == ' gcp.func ' end |
# to_h ⇒哈希
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
将检测到的环境信息编译为哈希。 它将始终包含一个 {name} 密钥,但也可能包含其他密钥,具体取决于检测到的 FaaS 环境。 (有关详细信息,请参阅握手规范。)
168 169 170 |
# File ' 构建/ruby-driver-v2.19/lib/ mongo / 服务器/app_metadata/environment.rb', 第168行 def to_h 字段.合并(merge)(名称: 名称) end |
# vercel? ⇒ true | false
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
查询当前环境是否为有效的 Vercel 环境。
158 159 160 |
# File ' 构建/ruby-driver-v2.19/lib/ mongo / 服务器/app_metadata/environment.rb', 第158行 def vercel? @name == 'vercel' end |