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 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.
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 toNONE
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 theInvoke
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 theInvokeWithResponseStream
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 toNONE
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 theInvoke
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 theInvokeWithResponseStream
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 AWS 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 AWS SDKs, see the following: