Skip to content

Latest commit

 

History

History
144 lines (112 loc) · 6.85 KB

API_CreateFunctionUrlConfig.md

File metadata and controls

144 lines (112 loc) · 6.85 KB

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
   }
}

URI Request Parameters

The request uses the following URI parameters.

** FunctionName ** 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.
    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 IAM 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

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"
}

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 IAM 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.

Errors

** InvalidParameterValueException **
One of the parameters in the request is invalid.
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.
HTTP Status Code: 429

See Also

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