Dieser Artikel Lambda-Schicht und X \ -Ray \ -Qiita zeigt, wie Röntgen in Lambda-Schicht eingebaut wird. Wenn mehrere Lambdas eingesetzt werden, ist dies sehr hilfreich, da sie auf einmal angebracht und abgenommen werden können, ohne dass Röntgenstrahlen einzeln eingebaut werden müssen.
Es fühlt sich ziemlich gut an, aber ich habe mich gefragt, ob es in CloudFormation konvertiert werden könnte, da es mühsam wäre, ein paar Befehle auszuführen. [Lambda-Ebenen können jetzt mit der AWS SAM-CLI erstellt werden. \ -Qiita](https: // qiita) Ich habe den Artikel .com / hayao_k / items / f8c7ad5e35e29d590957) gefunden.
Wenn Sie also den Inhalt der beiden Artikel lesen, wird es so sein
** Einfacher Röntgen-LambdaLayer mit CloudFormation! **
Es ist ein Artikel namens.
X-Ray ist ein Tracing-Tool, das mit AWS Lambda verwendet werden kann. Bei Verwendung von X-Ray wird "Welcher Teil von Lambda benötigt Zeit?" Und "Welcher Ressourcenaufruf (DynamoDB, S3 usw.) benötigt Zeit?" Wie in der folgenden Abbildung dargestellt. Sie können überprüfen.
(Quelle: AWS X \ -Ray-Konsole: \ -AWS X \ -Ray)
Zusätzlich zu template.yaml benötigen Sie nur ** xray-layer-src / require.txt **.
template.yaml
template.yaml
AWSTemplateFormatVersion: "2010-09-09"
Transform: AWS::Serverless-2016-10-31
Description: CloufFormation Template X-Ray lambda layer sample
Resources:
# X-Rays Lambda-Layer-Definition
XRayLayer:
Type: AWS::Serverless::LayerVersion
Properties:
Description: Lambda Layer for XRay
ContentUri: xray-layer-src
CompatibleRuntimes:
- python3.8 #Geben Sie die Python-Laufzeit an, die Sie hier verwenden
Metadata:
BuildMethod: python3.8 # sam-Muss beim Erstellen mit cli angegeben werden
#Beispiel für eine Lambda-Definition mit XRayLayer
SomeFunction:
Type: AWS::Serverless::Function
Properties:
CodeUri: lambda/src/
Handler: lambda_handler.lambda_handler
Runtime: python3.8
Tracing: Active
Layers:
- !Ref XRayLayer #Referenz der erstellten Ebene
xray-layer-src/requirements.txt
xray-layer-src/requirements.txt
aws-xray-sdk
Es ist in Ordnung, hier nur aws-xray-sdk anzugeben, wenn die Bibliothek angegeben wird, die in die Lambda-Ebene aufgenommen werden soll.
Sie können jetzt Ressourcen für die Röntgen-Lambda-Schicht erstellen. Die Bereitstellung ist dieselbe wie bei Verwendung von normalem Sam.
sam build
sam deploy
Der Quellcode, der Röntgen verwendet, lautet beispielsweise wie folgt.
lambda-src/lamda_handler.py
import ...
#Importieren Sie das XRay SDK. Muss zuletzt wie in der offiziellen Dokumentation importiert werden
from aws_xray_sdk.core import patch_all
#Gemeinsam in verwandten Bibliotheken wie boto3 X.-Ray Patch anwenden
patch_all()
def lambda_handler(event, context):
...
Recommended Posts