Cet article Lambda Layer and X \ -Ray \ -Qiita montre comment incorporer X-Ray dans Lambda Layer. Lors du déploiement de plusieurs lambdas, c'est assez agréable car il peut être attaché et détaché en un seul coup sans incorporer X-Ray individuellement.
Cela fait du bien, mais je me demandais s'il pouvait être converti en CloudFormation car il serait compliqué de lancer quelques commandes. [Les couches Lambda peuvent maintenant être créées avec l'AWS SAM CLI. \ -Qiita](https: // qiita) J'ai trouvé l'article .com / hayao_k / items / f8c7ad5e35e29d590957).
Donc, si vous récupérez le contenu des deux articles, ce sera comme ça
** Facile à créer X-Ray LambdaLayer avec CloudFormation! **
C'est un article appelé.
X-Ray est un outil de traçage qui peut être utilisé avec AWS Lambda. En utilisant X-Ray, «Quelle partie de Lambda prend du temps?» Et «Quel appel de ressource (DynamoDB, S3, etc.) prend du temps?» Est comme illustré dans la figure ci-dessous. Vous pourrez vérifier.
(Source: AWS X \ -Ray Console: \ -AWS X \ -Ray)
En plus de template.yaml, vous n'avez besoin que de ** xray-layer-src / requirements.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-Définition de la couche Lambda de Ray
XRayLayer:
Type: AWS::Serverless::LayerVersion
Properties:
Description: Lambda Layer for XRay
ContentUri: xray-layer-src
CompatibleRuntimes:
- python3.8 #Spécifiez le runtime Python que vous utilisez ici
Metadata:
BuildMethod: python3.8 # sam-Doit être spécifié au moment de la construction avec cli
#Exemple de définition lambda utilisant XRayLayer
SomeFunction:
Type: AWS::Serverless::Function
Properties:
CodeUri: lambda/src/
Handler: lambda_handler.lambda_handler
Runtime: python3.8
Tracing: Active
Layers:
- !Ref XRayLayer #Référence du calque créé
xray-layer-src/requirements.txt
xray-layer-src/requirements.txt
aws-xray-sdk
Il est acceptable de spécifier uniquement aws-xray-sdk ici dans la spécification de la bibliothèque à inclure dans la couche Lambda.
Vous pouvez désormais créer des ressources pour la couche Lambda X-Ray. Le déploiement est le même que lors de l'utilisation de sam.
sam build
sam deploy
Le code source qui utilise X-Ray est le suivant, par exemple.
lambda-src/lamda_handler.py
import ...
#Importez le SDK XRay. Doit être importé en dernier comme dans la documentation officielle
from aws_xray_sdk.core import patch_all
#Collectivement dans des bibliothèques associées telles que boto3 X-Appliquer le patch Ray
patch_all()
def lambda_handler(event, context):
...
Recommended Posts