クラス: 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 環境を削減と報告するために、ハンドシェイク仕様からロジックを実装します。
名前空間で定義済み
クラス: 欠落変数、 ToolsTooManyEnvironments 、 TypeMismatch 、 ValueTooLong
定数の概要の削減
- MAX_VALUE_LENGTH =
この定数は、プライベート API の一部です。 この定数は将来削除または変更される可能性があるため、可能な限り使用しないでください。
この値は 仕様では明示的に指定されておらず、 512より小さいことが暗黙的に指定されているだけです。
500
- 弁別子 =
この定数は、プライベート API の一部です。 この定数は将来削除または変更される可能性があるため、可能な限り使用しないでください。
どの環境変数が存在するかに基づいて、どの FaaS 環境がアクティブであるかを決定するマッピング。
{ 'AWS_EXECUTION_ENV' => { パターン: / ^AWS_Lambda_ /, name: 'aws.lambda' }, 'AWS_LAMBDA_RUNTIME_API' => { name: 'aws.lambda' }, ' FUNCTIONS_WORKER_RUNTIME ' => { name: 'azure.func' }, 「 K_SERVICE 」 => { name: 'gcp.func' }, 'FUNCTION_NAME' => { name: 'gcp.func' }, 'VERCEL' => { name: 'vercel' }, }.freeze
- COERCIONS =
この定数は、プライベート API の一部です。 この定数は将来削除または変更される可能性があるため、可能な限り使用しないでください。
指定された型の値を強制する方法を説明します。
{ string: ->(v) { 文字列(v) }, 整数: ->(v) { 整数(v) } }.freeze
- FIELDS =
この定数は、プライベート API の一部です。 この定数は将来削除または変更される可能性があるため、可能な限り使用しないでください。
各 FaaS 環境に必要なフィールドと、そのフィールドに予想されるタイプ、およびハンドシェイク ドキュメントでのフィールドの名前付け方法について説明します。
{ 'aws.lambda' => { 'AWS_REGION' => { フィールド: :region, type: :string }, 'AWS_LAMBDA_FUNCTION_MEMORY_SIZE' => { フィールド: :memory_mb, type: : 整数 }, }, 'azure.func' => {}, 'gcp.func' => { 'FUNCTION_MEMORY_MB' => { フィールド: :memory_mb, type: : 整数 }, 'FUNCTION_TIMEOUT_SEC' => { フィールド: :timeout_second, type: : 整数 }, 'FUNCTION_REGION' => { フィールド: :region, type: :string }, }, 'vercel' => { 'VERCEL_REGION' => { フィールド: :region, type: :string }, }, }.freeze
インスタンス属性の概要を折りたたむ
-
#error ⇒ String | nil
readOnly
private
有効な FaaS 環境が検出されなかった場合、 またはエラーが発生しなかった場合は nil のエラーメッセージが表示されます。
-
フィールド= ハッシュ | nil
readOnly
private
検出された FaaS 環境を説明するフィールド。
-
# name = string | nil
readOnly
private
検出された FaaS 環境の名前、または有効な FaaS 環境が検出されなかった場合は nil 。
インスタンス メソッドの概要を折りたたむ
-
# Amazon Web Services = true | false
private
現在の環境が有効なAmazon Web Services Lambda環境であるかどうかをクエリします。
-
はAzureますか。 = true | false
private
現在の環境が有効な Azure 環境であるかどうかをクエリします。
-
#FAS = true | false
private
現在の環境が有効な FaaS 環境であるかどうかをクエリします。
-
GCP = true | false
private
現在の環境が有効な GCP 環境であるかどうかをクエリします。
-
#初期化~ 環境
コンストラクター
private
新しい AppMetadata::Environment オブジェクトを作成し、現在の Env 変数から初期化します。
-
# to_h =ハッシュ
private
検出された環境情報をハッシュにコンパイルします。
-
番号: = true | false
private
現在の環境が有効な Vercel 環境であるかどうかをクエリします。
コンストラクターの詳細
#初期化~環境
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
新しい AppMetadata::Environment オブジェクトを作成し、現在の Env 変数から初期化します。 FaaS 環境が検出されない場合、または環境に無効または競合する状態が含まれている場合は、{{name} を {nil} に設定して初期化されます。
104 105 106 107 108 109 110 111 112 113 114 115 116 |
# ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/server/app_metadata/environment.rb', 行104 デフォルト 初期化 @error = nil @name = trigger_environment private_fields ヘルプ ToolsManyEnvironments => e 自己.エラー = 「多すぎる環境が検出されました: #{ e .} " ヘルプ 欠落変数 => e 自己.エラー = "欠落している環境変数: #{ e .} " ヘルプ TypeMismatch => e 自己.エラー = e. ヘルプ ValueTooLong => e 自己.エラー = " #{ e } の " 値 が長すぎ ます " end |
インスタンス属性の詳細
#error ⇒ String | nil
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
これらのエラー メッセージはユーザーに伝達されません。トラブルシューティングとデバッグのみを目的としたものです)。
有効な FaaS 環境が検出されなかった理由を説明するエラーメッセージを返します。エラーが発生していない場合は nil を返します。
98 99 100 |
# ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/server/app_metadata/environment.rb', 行98 デフォルト エラー @error end |
フィールド=ハッシュ | nil (読み取り専用)
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
検出された FaaS 環境を説明するフィールドを返します。
91 92 93 |
# ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/server/app_metadata/environment.rb', 行91 デフォルト フィールド @fields end |
# name = string | nil (読み取り専用)
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
検出された FaaS 環境の名前を返します。有効な FaaS 環境が検出されなかった場合は nil を返します。
87 88 89 |
# ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/server/app_metadata/environment.rb', 行87 デフォルト name @name end |
インスタンス メソッドの詳細
# Amazon Web Services = true | false
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
現在の環境が有効なAmazon Web Services Lambda環境であるかどうかをクエリします。
131 132 133 |
# ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/server/app_metadata/environment.rb', 行131 デフォルト Amazon Web Servicesは表示されません。 @name == 'aws.lambda' end |
はAzureますか。 = true | false
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
現在の環境が有効な Azure 環境であるかどうかをクエリします。
140 141 142 |
# ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/server/app_metadata/environment.rb', 行140 デフォルト azure? @name == 'azure.func' end |
#FAS = true | false
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
現在の環境が有効な FaaS 環境であるかどうかをクエリします。
122 123 124 |
# ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/server/app_metadata/environment.rb', 行122 デフォルト faas? @name != nil end |
GCP = true | false
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
現在の環境が有効な GCP 環境であるかどうかをクエリします。
149 150 151 |
# ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/server/app_metadata/environment.rb', 行149 デフォルト gcp? @name == 'gcp.func' end |
# to_h =ハッシュ
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
検出された環境情報をハッシュにコンパイルします。 これには常に {name} キーが含まれますが、検出された FaaS 環境に応じて他のキーも含まれる場合があります。 (詳細については、 ハンドシェイク仕様 を参照してください。)
168 169 170 |
# ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/server/app_metadata/environment.rb', 行168 デフォルト to_h フィールド.merge(name: name) end |
番号: = true | false
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
現在の環境が有効な Vercel 環境であるかどうかをクエリします。
158 159 160 |
# ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/server/app_metadata/environment.rb', 行158 デフォルト vercel? @name == 'vercel' end |