

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# aws-lambda-區域分析點
<a name="aws-lambda-sagemakerendpoint"></a>

![](https://docs.aws.amazon.com/zh_tw/solutions/latest/constructs/images/experimental.png)


 所有類都在積極開發中，並且在任何未來版本中都會受到非向後兼容的更改或刪除。這些不受[語義版本控制](https://semver.org/)模型。這意味著，雖然您可以使用它們，但在升級到此軟件包的較新版本時，您可能需要更新源代碼。

**請注意：** 為了確保功能正確，專案中的 AWS 解決方案建構套件和 AWS CDK 套件必須是相同的版本。


|  **語言**  |  **套件**  | 
| --- | --- | 
|  ![](https://docs.aws.amazon.com/zh_tw/solutions/latest/constructs/images/python.png) Python  |  aws\_solutions\_constructs.aws\_lambda\_sagemakerendpoint  | 
|  ![](https://docs.aws.amazon.com/zh_tw/solutions/latest/constructs/images/typescript.png) 打字稿  |  @aws-solutions-constructs/aws-lambda-sagemakerendpoint  | 
|  ![](https://docs.aws.amazon.com/zh_tw/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.lambdasagemakerendpoint  | 

## Overview
<a name="overview-41"></a>

 此 AWS 解決方案建構實作連接到 Amazon Sagemaker 終端節點的 AWS Lambda 函數。

 下面是 TypeScript 中的最小可部署模式定義：

```
import { Duration } from '@aws-cdk/core';
import * as lambda from '@aws-cdk/aws-lambda';
import {
  LambdaToSagemakerEndpoint,
  LambdaToSagemakerEndpointProps,
} from '@aws-solutions-constructs/aws-lambda-sagemakerendpoint';

const constructProps: LambdaToSagemakerEndpointProps = {
  modelProps: {
    primaryContainer: {
      image: '{{AccountId}}.dkr.ecr.{{region}}.amazonaws.com/linear-learner:latest',
      modelDataUrl: 's3://{{bucket-name}}/{{prefix}}/model.tar.gz',
    },
  },
  lambdaFunctionProps: {
    runtime: lambda.Runtime.PYTHON_3_8,
    // This assumes a handler function in lib/lambda/index.py
    code: lambda.Code.fromAsset(`${__dirname}/lambda`),
    handler: 'index.handler',
    timeout: Duration.minutes(5),
    memorySize: 128,
  },
};

new LambdaToSagemakerEndpoint(this, 'LambdaToSagemakerEndpointPattern', constructProps);
```

## Initializer
<a name="initializer-41"></a>

```
new LambdaToSagemakerEndpoint(scope: Construct, id: string, props: LambdaToSagemakerEndpointProps);
```

 *參數* 
+  scope[`Construct`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html) 
+  id`string` 
+  提案[`LambdaToSagemakerEndpointProps`](#pattern-construct-props-41) 

## 模式建立道具
<a name="pattern-construct-props-41"></a>


|  **名稱**  |  **類型**  |  **描述**  | 
| --- | --- | --- | 
|  現在還有蘭姆達伯？  |  [`lambda.Function`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  Lambda 函數對象的現有實例，提供這個和lambdaFunctionProps會造成錯誤。 | 
|  拉姆針灸道具？  |  [`lambda.FunctionProps`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html)  |  選用的使用者提供的屬性來覆寫 Lambda 函數的預設屬性。 | 
|  現在薩格馬克倫波因托比？  |  [`sagemaker.CfnEndpoint`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sagemaker.CfnEndpoint.html)  |  要使用的選擇性現有 Sagemaker 登錄。同時提供這個和endpointProps會造成錯誤。 | 
|  模型道具？  |  [`sagemaker.CfnModelProps`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sagemaker.CfnModelProps.html) \| any  |  使用者提供的性質，以取代「草繪機模型」的預設性質。至少要modelProps.primaryContainer必須提供來創建一個模型。依預設，模式會建立具有最低所需權限的角色，但用戶端可以使用modelProps.executionRoleArn。 | 
|  端點配置道具？  |  [`sagemaker.CfnEndpointConfigProps`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sagemaker.CfnEndpointConfigProps.html)  |  可選的使用者提供的性質，用於覆寫 Sagemaker 端點組態的預設性質。 | 
|  端點道具？  |  [`sagemaker.CfnEndpointProps`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sagemaker.CfnEndpointProps.html)  |  可選的使用者提供的性質，用於取代「草繪器端點」的預設性質。 | 
|  是否存在 VPC？  |  [`ec2.IVpc`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.IVpc.html)  |  應該部署此建構的選用現有 VPC。在 VPC 中部署時，Lambda 函數和 Sagemaker 端點將使用 VPC 中的 ENI 來存取網路資源。將在亞馬遜 Sagemaker 運行時和 Amazon S3 VPC 端點的 VPC 中創建一個接口端點。如果提供了現有的 VPC，則deployVpc屬性不能為true。 | 
|  VPCProps？  |  [`ec2.VpcProps`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.VpcProps.html)  |  可選的使用者提供的屬性，用於覆寫新 VPC 的預設屬性。enableDnsHostnames、enableDnsSupport、natGateways和subnetConfiguration是由構造設置的，所以這裡提供的屬性的任何值都將被覆蓋。如果deployVpc不是true，則此屬性會忽略。 | 
|  部署 vPC？  |  boolean  |  是否建立新的 VPC 基於vpcProps來部署此模式。將此設為true將部署最小的，最私有的 VPC 來運行該模式：+  CDK 程式使用的每個可用區域內有一個隔離子網路。 <br />+  `enableDnsHostnames`和`enableDnsSupport`都將設置為`true`。  如果此屬性已設為true，然後existingVpc無法指定。預設為 false。 | 
|  薩格馬克倫聲音變數名稱？  |  string  |  為 Lambda 函數設定的 SageMaker 端點環境變數的可選名稱。 | 

## 模式屬性
<a name="pattern-properties-41"></a>


|  **名稱**  |  **類型**  |  **描述**  | 
| --- | --- | --- | 
|  LambdFunction  |  [`lambda.Function`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  返回由模式創建的 Lambda 函數的實例。 | 
|  相模繪圖連接點  |  [`sagemaker.CfnEndpoint`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sagemaker.CfnEndpoint.html)  |  傳回由樣式建立的「切割器端點」的例證。 | 
|  薩格馬克點配置？  |  [`sagemaker.CfnEndpointConfig`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sagemaker.CfnEndpointConfig.html)  |  返回由模式創建的 SageMaker EndpointConfig 的實例，如果existingSagemakerEndpointObj未提供。 | 
|  射影模型？  |  [`sagemaker.CfnModel`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sagemaker.CfnModel.html)  |  返回由圖案創建的 Sagemaker 模型的實例，如果existingSagemakerEndpointObj未提供。 | 
|  vpc？  |  ec2.IVpc  |  返回由模式創建的 VPC 的實例，如果deployVpc是true，或者如果existingVpc已提供。 | 

## 預設設定
<a name="default-settings-41"></a>

 此模式的開箱即用實現沒有任何覆蓋將設置以下默認值：

### AWS Lambda 功能
<a name="w23aab9d147c25b5"></a>
+  設定 Lambda 函數的有限權限存取 IAM 角色。
+  為 NodeJS Lambda 函數啟用具有持續作用的連線重複使用。
+  允許函數為「推論」呼叫「草繪器」端點。
+  配置函數以存取 VPC 中部署 Sagemaker 端點的資源。
+  啟用 X-Ray 追蹤。
+  設定環境變數：
  + `SAGEMAKER_ENDPOINT_NAME` (default)
  + `AWS_NODEJS_CONNECTION_REUSE_ENABLED`（對於節點 10.x 和更高版本的函數）

### Amazon SagMaker 端點
<a name="w23aab9d147c25b7"></a>
+  配置有限的權限以創建 Sagemaker 資源。
+  部署「切割器」模型、端點設定和端點。
+  設定要在 VPC 中部署的 Sagemaker 端點。
+  部署 S3 VPC 端點和模具執行階段 VPC 介面。

## Architecture
<a name="architecture-41"></a>

![](https://docs.aws.amazon.com/zh_tw/solutions/latest/constructs/images/aws-lambda-sagemakerendpoint.png)


## GitHub
<a name="github-41"></a>


<table>
<thead>
  <tr><th colspan="2"> <b>要查看此模式的代碼，創建/查看問題和提取請求，以及更多：</b> </th></tr>
</thead>
<tbody>
  <tr><td> <img src="https://docs.aws.amazon.com/zh_tw/solutions/latest/constructs/images/GitHub-Mark-32px.png" alt="" /> </td><td> <a href="https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-lambda-sagemakerendpoint">@aws-解決方案結構/aws-lambda-模擬點</a> </td></tr>
</tbody>
</table>
