本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
aws-lambda 字符串參數
所有類都在積極開發中,並且在任何未來版本中都會受到非向後兼容的更改或刪除。這些不受語義版本控制
請注意: 為了確保功能正確,專案中的 AWS 解決方案建構套件和 AWS CDK 套件必須是相同的版本。
| 語言 | 套件 |
|---|---|
|
aws_solutions_constructs.aws_lambda_ssm_string_parameter
|
|
@aws-solutions-constructs/aws-lambda-ssmstringparameter
|
|
software.amazon.awsconstructs.services.lambdassmstringparameter
|
Overview
此 AWS 解決方案建構以最低權限實作 AWS Lambda 函數和 AWS Systems Manager Parameter Store 字串參數。
下面是 TypeScript 中的最小可部署模式定義:
const { LambdaToSsmstringparameterProps, LambdaToSsmstringparameter } from '@aws-solutions-constructs/aws-lambda-ssmstringparameter'; const props: LambdaToSsmstringparameterProps = { lambdaFunctionProps: { runtime: lambda.Runtime.NODEJS_14_X, // This assumes a handler function in lib/lambda/index.js code: lambda.Code.fromAsset(`${__dirname}/lambda`), handler: 'index.handler' }, stringParameterProps: { stringValue: "test-string-value" } }; new LambdaToSsmstringparameter(this, 'test-lambda-ssmstringparameter-stack', props);
Initializer
new LambdaToSsmstringparameter(scope: Construct, id: string, props: LambdaToSsmstringparameterProps);
參數
-
scope
Construct -
id
string
模式建立道具
| 名稱 | 類型 | 描述 |
|---|---|---|
| 現在還有蘭姆達伯? |
lambda.Function
|
Lambda 函數對象的現有實例,同時提供這個和lambdaFunctionProps會造成錯誤。 |
| 拉姆針灸道具? |
lambda.FunctionProps
|
選用的使用者提供的屬性來覆寫 Lambda 函數的預設屬性。忽略existingLambdaObj已提供。 |
| 存在字符串參數? |
ssm.StringParameter
|
SSM 字串參數物件的現有執行個體,同時提供這個和stringParameterProps會造成錯誤。 |
| 字符串參數道具? |
ssm.StringParameterProps
|
可選的使用者提供的道具來覆寫 SSM 字串參數的預設道具。如果existingStringParameterObj未設定,stringParameterProps是必要的。唯一支援ssm.StringParameterProps.type是STRING如果提供了不同的值,它將被覆蓋。 |
| 字符串參數變量名稱? |
string
|
為 Lambda 函數設定的 SSM 字串參數環境變數的選擇性名稱。 |
| 是否存在 VPC? |
ec2.IVpc
|
應該部署此模式的選用現有 VPC。在 VPC 中部署時,Lambda 函數將使用 VPC 中的 ENI 來存取網路資源,並且會在 VPC 中為 AWS Systems Manager 參數建立一個介面端點。如果提供了現有的 VPC,deployVpc屬性不能為true。這會使用ec2.IVpc,以允許用戶端使用ec2.Vpc.fromLookup()方法。 |
| VPCProps? |
ec2.VpcProps
|
可選的使用者提供的屬性,用於覆寫新 VPC 的預設屬性。enableDnsHostnames、enableDnsSupport、natGateways和subnetConfiguration是由模式設置的,因此此處提供的屬性的任何值都將被覆蓋。如果deployVpc不是true那麼這個屬性將忽略。 |
| 部署 vPC? |
boolean
|
是否建立新的 VPC 基於vpcProps來部署此模式。將此設為true將部署最小的,最私有的 VPC 來運行該模式:
true,然後existingVpc無法指定。預設為 false。 |
| 字串參數權限? |
string
|
要授與 Lambda 函數的選用 SSM 字串參數權限。可指定下列任一項:Read、ReadWrite。 |
模式屬性
| 名稱 | 類型 | 描述 |
|---|---|---|
| Lambda Function |
lambda.Function
|
傳回lambda.Function由建構建立。 |
| StringParameter |
ssm.StringParameter
|
傳回ssm.StringParameter由建構建立。 |
| vpc? |
ec2.IVpc
|
返回模式使用的 VPC 上的接口(如果有的話)。這可能是由模式或提供給模式構造函數的 VPC 創建的 VPC。 |
預設設定
此模式的開箱即用實現沒有任何覆蓋將設置以下默認值:
AWS Lambda 功能
-
設定 Lambda 函數的有限權限存取 IAM 角色。
-
針對 NodeJS Lambda 函數啟用重複使用連線的功能。
-
啟用 X-Ray 追蹤。
-
設定環境變數:
-
SSM_STRING_PARAMETER_NAME(default) -
AWS_NODEJS_CONNECTION_REUSE_ENABLED(對於節點 10.x 和更高版本的函數)
-
Amazon AWS AWS Systems Manager Parameter Store String
-
啟用相關聯的 AWS Lambda 函數的唯讀存取權。
-
使用提供的值建立新的 SSM 字串參數。
-
刪除 CloudFormation 堆疊時,請保留 SSM 字串參數。
Architecture
GitHub
| 要查看此模式的代碼,創建/查看問題和提取請求,以及更多: | |
|---|---|
|
@aws-解決方案-構造/aw-lambda-字符串參數 |