如何将现有程序绑定到Pulumi



我开始与Pulumi合作设计我的项目的IaC,但我很难理解如何将我现有的代码绑定到Pulumi的使用中
例如,假设我在python中创建了一个lambda函数,其内容如下:

# test_lambda.py
import boto3
import json

sqs_client = boto3.client('sqs')
ssm_client = boto3.client('ssm')

def get_auth_token():
response = ssm_client.get_parameters(
Names=[
'lambda_auth_token',
],
WithDecryption=False
)
return response["Parameters"][0]["Value"]

def handler(event, _):
body = json.loads(event['body'])
if body['auth_token'] == get_auth_token():    
sqs_client.send_message(
QueueUrl='my-queue',
MessageBody='validated auth code',
MessageDeduplicationId='akjseh3278y7iuad'
)
return {'statusCode': 200}
else:
return {'statusCode': 403}

如何在Pulumi项目中引用包含lambda函数的整个文件?所以我可以使用这个集成了SNS服务的lambda。

而且,由于我的架构使用的是Pulumi,boto3似乎不受欢迎,我可以用Pulumi aws库来代替它,对吧?然后python解释器将使用Pulumi作为我的aws资源(如boto3(的通用接口库?最后一个问题可能看起来很奇怪,但目前我只看到了pulumi作为堆栈和架构的使用;构建器";当运行CCD_ 1时。

您可以尝试将lambda导入到pulumi堆栈中,如下所示

aws.lambda_.Function("sqs_lambda", opts=ResourceOptions(import=[
"lambda_id",
]))

pulumi up,post这将意味着lambda从此由pulumi管理。你也应该谨慎对待

pulumi stack destroy

因为这意味着导入的资源也将被删除。您可以阅读Pulumi导入资源

相关内容

  • 没有找到相关文章

最新更新