added API gateway, as in contrast to AWS Academy, localstack allows API gateway creation
This commit is contained in:
		@@ -53,6 +53,15 @@ s3Resource = boto3.resource('s3', endpoint_url=endpoint_url)
 | 
			
		||||
lClient = boto3.client('lambda', endpoint_url=endpoint_url)
 | 
			
		||||
apiClient = boto3.client("apigatewayv2", endpoint_url=endpoint_url)
 | 
			
		||||
 | 
			
		||||
print("Deleting old API gateway...")
 | 
			
		||||
print("------------------------------------")
 | 
			
		||||
response = apiClient.get_apis()
 | 
			
		||||
for api in response["Items"]:
 | 
			
		||||
    if api["Name"] == functionName + '-api':
 | 
			
		||||
        responseDelete = apiClient.delete_api(
 | 
			
		||||
            ApiId=api["ApiId"]
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
print("Deleting old function...")
 | 
			
		||||
print("------------------------------------")
 | 
			
		||||
try:
 | 
			
		||||
@@ -130,17 +139,14 @@ print("Lambda Function and S3 Bucket to store the counter are available. Sadly,
 | 
			
		||||
#
 | 
			
		||||
# https://348yxdily0.execute-api.eu-central-1.amazonaws.com/default/cloudcomp-counter-demo
 | 
			
		||||
 | 
			
		||||
# print("creating API gateway...")
 | 
			
		||||
# print("------------------------------------")
 | 
			
		||||
#
 | 
			
		||||
# #apiArn = ""
 | 
			
		||||
# response = apiClient.create_api(
 | 
			
		||||
#     Name=functionName + '-api',
 | 
			
		||||
#     ProtocolType='HTTP',
 | 
			
		||||
#     Target=lambdaFunctionARN
 | 
			
		||||
# )
 | 
			
		||||
# #apiArn=response['']
 | 
			
		||||
#
 | 
			
		||||
# #response = lClient.create_event_source_mapping(
 | 
			
		||||
# #    EventSourceArn=apiArn,
 | 
			
		||||
# #)
 | 
			
		||||
print("creating API gateway...")
 | 
			
		||||
print("------------------------------------")
 | 
			
		||||
 | 
			
		||||
response = apiClient.create_api(
 | 
			
		||||
    Name=functionName + '-api',
 | 
			
		||||
    ProtocolType='HTTP',
 | 
			
		||||
    Target=lambdaFunctionARN
 | 
			
		||||
)
 | 
			
		||||
apiArn=response
 | 
			
		||||
 | 
			
		||||
print("API Endpoint can be reached at: http://" + apiArn["ApiEndpoint"])
 | 
			
		||||
 
 | 
			
		||||
@@ -7,6 +7,8 @@ import boto3
 | 
			
		||||
#
 | 
			
		||||
################################################################################################
 | 
			
		||||
 | 
			
		||||
endpoint_url = "http://localhost.localstack.cloud:4566"
 | 
			
		||||
 | 
			
		||||
# you need to create a bucket in S3, here in this demo it is called "cloudcomp-counter", but
 | 
			
		||||
# bucket names need to be world wide unique ;) The demo looks for a file that is named
 | 
			
		||||
# "us-east-1" (same as our default region) in the bucket and expects a number in it to increase
 | 
			
		||||
@@ -40,10 +42,20 @@ def cleanup_s3_bucket(s3_bucket):
 | 
			
		||||
 | 
			
		||||
client = boto3.setup_default_session(region_name=region)
 | 
			
		||||
s3Client = boto3.client('s3')
 | 
			
		||||
s3Resource = boto3.resource('s3')
 | 
			
		||||
lClient = boto3.client('lambda')
 | 
			
		||||
s3Resource = boto3.resource('s3', endpoint_url=endpoint_url)
 | 
			
		||||
lClient = boto3.client('lambda', endpoint_url=endpoint_url)
 | 
			
		||||
apiClient = boto3.client("apigatewayv2", endpoint_url=endpoint_url)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
print("Deleting old API gateway...")
 | 
			
		||||
print("------------------------------------")
 | 
			
		||||
response = apiClient.get_apis()
 | 
			
		||||
for api in response["Items"]:
 | 
			
		||||
    if api["Name"] == functionName + '-api':
 | 
			
		||||
        responseDelete = apiClient.delete_api(
 | 
			
		||||
            ApiId=api["ApiId"]
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
print("Deleting old function...")
 | 
			
		||||
print("------------------------------------")
 | 
			
		||||
try:
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user