クラス: Mongo::Server::AppMetadata::Environment Private

継承:
オブジェクト
  • オブジェクト
すべて表示
定義:
build/ruby-Driver-v 2.19 /lib/mongo/server/app_metadata/environment.rb

Overview

このクラスは、プライベート API の一部です。 このクラスは将来削除または変更される可能性があるため、可能な限り使用しないでください。

プログラムが実行されている現在の FaaS 環境を削減と報告するために、ハンドシェイク仕様からロジックを実装します。

以来

  • 2.0.0

名前空間で定義済み

クラス: 欠落変数ToolsTooManyEnvironmentsTypeMismatchValueTooLong

定数の概要の削減

MAX_VALUE_LENGTH =

この定数は、プライベート API の一部です。 この定数は将来削除または変更される可能性があるため、可能な限り使用しないでください。

この値は 仕様では明示的に指定されておらず、 512より小さいことが暗黙的に指定されているだけです。

以来

  • 2.0.0

500
弁別子 =

この定数は、プライベート API の一部です。 この定数は将来削除または変更される可能性があるため、可能な限り使用しないでください。

どの環境変数が存在するかに基づいて、どの FaaS 環境がアクティブであるかを決定するマッピング。

以来

  • 2.0.0

{
  '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 の一部です。 この定数は将来削除または変更される可能性があるため、可能な限り使用しないでください。

指定された型の値を強制する方法を説明します。

以来

  • 2.0.0

{
  string: ->(v) { 文字列(v) },
  整数: ->(v) { 整数(v) }
}.freeze
FIELDS =

この定数は、プライベート API の一部です。 この定数は将来削除または変更される可能性があるため、可能な限り使用しないでください。

各 FaaS 環境に必要なフィールドと、そのフィールドに予想されるタイプ、およびハンドシェイク ドキュメントでのフィールドの名前付け方法について説明します。

以来

  • 2.0.0

{
  '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

インスタンス属性の概要を折りたたむ

インスタンス メソッドの概要を折りたたむ

コンストラクターの詳細

#初期化環境

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

新しい AppMetadata::Environment オブジェクトを作成し、現在の Env 変数から初期化します。 FaaS 環境が検出されない場合、または環境に無効または競合する状態が含まれている場合は、{{name} を {nil} に設定して初期化されます。

以来

  • 2.0.0



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 .message } の " 値 が長すぎ ます "
end

インスタンス属性の詳細

#errorString | nil

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

注:

これらのエラー メッセージはユーザーに伝達されません。トラブルシューティングとデバッグのみを目的としたものです)。

有効な FaaS 環境が検出されなかった理由を説明するエラーメッセージを返します。エラーが発生していない場合は nil を返します。

次の値を返します。

  • ( string | nil )

    有効な FaaS 環境が検出されなかったことを説明するエラーメッセージ、またはエラーが発生しなかった場合は nil 。

以来

  • 2.0.0



98
99
100
# ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/server/app_metadata/environment.rb', 行98

デフォルト エラー
  @error
end

フィールド=ハッシュ | nil (読み取り専用)

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

検出された FaaS 環境を説明するフィールドを返します。

次の値を返します。

  • (ハッシュ | nil )

    検出された FaaS 環境を説明するフィールド。

以来

  • 2.0.0



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 を返します。

次の値を返します。

  • ( string | nil )

    検出された FaaS 環境の名前、または有効な FaaS 環境が検出されなかった場合は nil 。

以来

  • 2.0.0



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環境であるかどうかをクエリします。

次の値を返します。

  • true | false

    環境がAmazon Web Services Lambda環境であるかどうか。

以来

  • 2.0.0



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 環境であるかどうかをクエリします。

次の値を返します。

  • true | false

    環境が Azure 環境であるかどうか。

以来

  • 2.0.0



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 環境であるかどうかをクエリします。

次の値を返します。

  • true | false

    環境が FaaS 環境であるかどうか。

以来

  • 2.0.0



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 環境であるかどうかをクエリします。

次の値を返します。

  • true | false

    環境が GCP 環境であるかどうか。

以来

  • 2.0.0



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 環境に応じて他のキーも含まれる場合があります。 (詳細については、 ハンドシェイク仕様 を参照してください。)

次の値を返します。

  • ハッシュ

    検出された環境情報。

以来

  • 2.0.0



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 環境であるかどうかをクエリします。

次の値を返します。

  • true | false

    環境が Vercel 環境であるかどうか。

以来

  • 2.0.0



158
159
160
# ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/server/app_metadata/environment.rb', 行158

デフォルト vercel?
  @name == 'vercel'
end