CreateFunctionUrlConfig - Amazon Lambda
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).

CreateFunctionUrlConfig

Creates a Lambda function URL with the specified configuration parameters. A function URL is a dedicated HTTP(S) endpoint that you can use to invoke your function.

Request Syntax

POST /2021-10-31/functions/FunctionName/url?Qualifier=Qualifier HTTP/1.1 Content-type: application/json { "AuthType": "string", "Cors": { "AllowCredentials": boolean, "AllowHeaders": [ "string" ], "AllowMethods": [ "string" ], "AllowOrigins": [ "string" ], "ExposeHeaders": [ "string" ], "MaxAge": number }, "InvokeMode": "string" }

URI Request Parameters

The request uses the following URI parameters.

FunctionName

The name or ARN of the Lambda function.

Name formats
  • Function namemy-function.

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

  • Partial ARN123456789012: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.

Length Constraints: Minimum length of 1. Maximum length of 140.

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

Required: Yes

Qualifier

The alias name.

Length Constraints: Minimum length of 1. Maximum length of 128.

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

Request Body

The request accepts the following data in JSON format.

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.

Type: String

Valid Values: NONE | AWS_IAM

Required: Yes

Cors

The cross-origin resource sharing (CORS) settings for your function URL.

Type: Cors object

Required: No

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.

Type: String

Valid Values: BUFFERED | RESPONSE_STREAM

Required: No

Response Syntax

HTTP/1.1 201 Content-type: application/json { "AuthType": "string", "Cors": { "AllowCredentials": boolean, "AllowHeaders": [ "string" ], "AllowMethods": [ "string" ], "AllowOrigins": [ "string" ], "ExposeHeaders": [ "string" ], "MaxAge": number }, "CreationTime": "string", "FunctionArn": "string", "FunctionUrl": "string", "InvokeMode": "string" }

Response Elements

If the action is successful, the service sends back an HTTP 201 response.

The following data is returned in JSON format by the service.

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.

Type: String

Valid Values: NONE | AWS_IAM

Cors

The cross-origin resource sharing (CORS) settings for your function URL.

Type: Cors object

CreationTime

When the function URL was created, in ISO-8601 format (YYYY-MM-DDThh:mm:ss.sTZD).

Type: String

FunctionArn

The Amazon Resource Name (ARN) of your function.

Type: String

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

FunctionUrl

The HTTP URL endpoint for your function.

Type: String

Length Constraints: Minimum length of 40. Maximum length of 100.

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.

Type: String

Valid Values: BUFFERED | RESPONSE_STREAM

Errors

For information about the errors that are common to all actions, see Common Errors.

InvalidParameterValueException

One of the parameters in the request is not valid.

HTTP Status Code: 400

ResourceConflictException

The resource already exists, or another operation is in progress.

HTTP Status Code: 409

ResourceNotFoundException

The resource specified in the request does not exist.

HTTP Status Code: 404

ServiceException

The Amazon Lambda service encountered an internal error.

HTTP Status Code: 500

TooManyRequestsException

The request throughput limit was exceeded. For more information, see Lambda quotas.

HTTP Status Code: 429

See Also

For more information about using this API in one of the language-specific Amazon SDKs, see the following: