AWS::Lambda::Url - Amazon CloudFormation
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China (PDF).

AWS::Lambda::Url

The AWS::Lambda::Url resource creates a function URL with the specified configuration parameters. A function URL is a dedicated HTTP(S) endpoint that you can use to invoke your function.

Syntax

To declare this entity in your Amazon CloudFormation template, use the following syntax:

JSON

{ "Type" : "AWS::Lambda::Url", "Properties" : { "AuthType" : String, "Cors" : Cors, "InvokeMode" : String, "Qualifier" : String, "TargetFunctionArn" : String } }

YAML

Type: AWS::Lambda::Url Properties: AuthType: String Cors: Cors InvokeMode: String Qualifier: String TargetFunctionArn: String

Properties

AuthType

The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information, see Security and auth model for Lambda function URLs.

Required: Yes

Type: String

Allowed values: AWS_IAM | NONE

Update requires: No interruption

Cors

The Cross-Origin Resource Sharing (CORS) settings for your function URL.

Required: No

Type: Cors

Update requires: No interruption

InvokeMode

Use one of the following options:

  • BUFFERED – This is the default option. Lambda invokes your function using the Invoke API operation. Invocation results are available when the payload is complete. The maximum payload size is 6 MB.

  • RESPONSE_STREAM – Your function streams payload results as they become available. Lambda invokes your function using the InvokeWithResponseStream API operation. The maximum response payload size is 20 MB, however, you can request a quota increase.

Required: No

Type: String

Allowed values: BUFFERED | RESPONSE_STREAM

Update requires: No interruption

Qualifier

The alias name.

Required: No

Type: String

Pattern: ((?!^[0-9]+$)([a-zA-Z0-9-_]+))

Minimum: 1

Maximum: 128

Update requires: Replacement

TargetFunctionArn

The name of the Lambda function.

Name formats
  • Function name - my-function.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN - 123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

Required: Yes

Type: String

Pattern: ^(arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\d{1}:)?(\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:((?!\d+)[0-9a-zA-Z-_]+))?$

Update requires: Replacement

Return values

Ref

When you pass the logical ID of this resource to the intrinsic Ref function, Ref returns the resource name.

For more information about using the Ref function, see Ref.

Fn::GetAtt

The Fn::GetAtt intrinsic function returns a value for a specified attribute of this type. The following are the available attributes and sample return values.

For more information about using the Fn::GetAtt intrinsic function, see Fn::GetAtt.

FunctionArn

The Amazon Resource Name (ARN) of the function.

FunctionUrl

The HTTP URL endpoint for your function.