Sai Srikanth
01/20/2021, 10:11 PMMariia Kerimova
01/20/2021, 10:40 PM@task(...)
def InvokeLambda(creds):
pass
with Flow("test") as flow:
access_key = PrefectSecret("ACCESS_KEY")
...
Sai Srikanth
01/20/2021, 10:45 PMMariia Kerimova
01/20/2021, 10:56 PMInvokeLambdaFunction(creds)
Sai Srikanth
01/20/2021, 11:05 PMMariia Kerimova
01/21/2021, 12:06 AMfrom prefect.tasks.secrets import PrefectSecret
import prefect
from prefect import Flow, task
from prefect.tasks.aws.lambda_function import LambdaList
lambda_list = LambdaList(master_region="ap-southeast-2", function_version="ALL")
@task()
def print_result(result):
<http://prefect.context.logger.info|prefect.context.logger.info>(result['Functions'])
with Flow("test") as flow:
access_key = PrefectSecret("ACCESS_KEY")
secret_key = PrefectSecret("SECRET_ACCESS_KEY")
creds = {"ACCESS_KEY": access_key, "SECRET_ACCESS_KEY": secret_key}
result = lambda_list(creds)
print_result(result)
flow.register(project_name="Test PoC")
But for local run you’ll need to set secrets as env variables(`PREFECT__CONTEXT__SECRETS__ACCESS_KEY`and PREFECT__CONTEXT__SECRETS__SECRET_ACCESS_KEY
. See details here.Sai Srikanth
01/21/2021, 12:12 AMMariia Kerimova
01/21/2021, 12:17 AMflow.run()
), export env variables in CLI, then run flowSai Srikanth
01/21/2021, 12:21 AM