我开始使用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库来代替它,对吗?然后python解释器将使用Pulumi作为我的aws资源的公共接口库(比如boto3)。最后一个问题可能看起来很奇怪,但目前我只看到在运行pulumi up时使用pulumi作为堆栈和体系结构“构建器”。
发布于 2020-08-03 04:14:33
您可以尝试将lambda导入到您的pulumi堆栈中,如下所示
aws.lambda_.Function("sqs_lambda", opts=ResourceOptions(import=[
"lambda_id",
]))一个普鲁米向上,张贴这将意味着羔羊是由普鲁米管理,从那里on.You也应该谨慎。
pulumi stack destroy因为这意味着进口的资源也将被删除。你可以读普鲁米进口资源
https://stackoverflow.com/questions/62960792
复制相似问题