gpt4 book ai didi

amazon-web-services - 从cloudformation中的远程API获取参数值

转载 作者:行者123 更新时间:2023-12-03 07:29:51 25 4
gpt4 key购买 nike

我们有一个远程 API(不是 AWS),我们可以从中读取参数值。我们可以读取cloudformation中的这些值并将它们用作值吗?

或者是获取值并通过使用 aws cli 并将这些值作为部署命令中的参数值传递来提供这些值的唯一可能方法。

最佳答案

您可以使用cloudformation custom resource调用 lambda 函数解析 API 输出并将其发送回 cloudformation 并通过 !GetAtt

云形成:

    Resources:
API:
Type: Custom::API
Version: '1.0'
Properties:
ServiceToken: arn:aws:lambda:us-east-1:acc:function:CALL_API
Outputs:
Status:
Value:
Fn::GetAtt:
- API
- Data

Lambda 脚本:

import json
import cfnresponse
import boto3
import urllib.request
from botocore.exceptions import ClientError

def handler(event, context):
responseData = {}
try:
with urllib.request.urlopen("http://maps.googleapis.com/maps/api/geocode/json?address=google") as url:
data = json.loads(url.read().decode())
print(data)
responseData['Data'] = data
status=cfnresponse.SUCCESS
except ClientError as e:
responseData['Data'] = "FAILED"
status=cfnresponse.FAILED
print("Unexpected error: %s" % e)
cfnresponse.send(event, context, status, responseData, "CustomResourcePhysicalID")

关于amazon-web-services - 从cloudformation中的远程API获取参数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49871611/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com