Lambda / Client / create_function_url_config

create_function_url_config#

Lambda.Client.create_function_url_config(**kwargs)#

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.

See also: AWS API Documentation

Request Syntax

response = client.create_function_url_config(
    FunctionName='string',
    Qualifier='string',
    AuthType='NONE'|'AWS_IAM',
    Cors={
        'AllowCredentials': True|False,
        'AllowHeaders': [
            'string',
        ],
        'AllowMethods': [
            'string',
        ],
        'AllowOrigins': [
            'string',
        ],
        'ExposeHeaders': [
            'string',
        ],
        'MaxAge': 123
    },
    InvokeMode='BUFFERED'|'RESPONSE_STREAM'
)
Parameters:
  • FunctionName (string) –

    [REQUIRED]

    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.

  • Qualifier (string) – The alias name.

  • AuthType (string) –

    [REQUIRED]

    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.

  • Cors (dict) –

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

    • AllowCredentials (boolean) –

      Whether to allow cookies or other credentials in requests to your function URL. The default is false.

    • AllowHeaders (list) –

      The HTTP headers that origins can include in requests to your function URL. For example: Date, Keep-Alive, X-Custom-Header.

      • (string) –

    • AllowMethods (list) –

      The HTTP methods that are allowed when calling your function URL. For example: GET, POST, DELETE, or the wildcard character ( *).

      • (string) –

    • AllowOrigins (list) –

      The origins that can access your function URL. You can list any number of specific origins, separated by a comma. For example: https://www.example.com, http://localhost:60905.

      Alternatively, you can grant access to all origins using the wildcard character ( *).

      • (string) –

    • ExposeHeaders (list) –

      The HTTP headers in your function response that you want to expose to origins that call your function URL. For example: Date, Keep-Alive, X-Custom-Header.

      • (string) –

    • MaxAge (integer) –

      The maximum amount of time, in seconds, that web browsers can cache results of a preflight request. By default, this is set to 0, which means that the browser doesn’t cache results.

  • InvokeMode (string) –

    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.

Return type:

dict

Returns:

Response Syntax

{
    'FunctionUrl': 'string',
    'FunctionArn': 'string',
    'AuthType': 'NONE'|'AWS_IAM',
    'Cors': {
        'AllowCredentials': True|False,
        'AllowHeaders': [
            'string',
        ],
        'AllowMethods': [
            'string',
        ],
        'AllowOrigins': [
            'string',
        ],
        'ExposeHeaders': [
            'string',
        ],
        'MaxAge': 123
    },
    'CreationTime': 'string',
    'InvokeMode': 'BUFFERED'|'RESPONSE_STREAM'
}

Response Structure

  • (dict) –

    • FunctionUrl (string) –

      The HTTP URL endpoint for your function.

    • FunctionArn (string) –

      The Amazon Resource Name (ARN) of your function.

    • AuthType (string) –

      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.

    • Cors (dict) –

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

      • AllowCredentials (boolean) –

        Whether to allow cookies or other credentials in requests to your function URL. The default is false.

      • AllowHeaders (list) –

        The HTTP headers that origins can include in requests to your function URL. For example: Date, Keep-Alive, X-Custom-Header.

        • (string) –

      • AllowMethods (list) –

        The HTTP methods that are allowed when calling your function URL. For example: GET, POST, DELETE, or the wildcard character ( *).

        • (string) –

      • AllowOrigins (list) –

        The origins that can access your function URL. You can list any number of specific origins, separated by a comma. For example: https://www.example.com, http://localhost:60905.

        Alternatively, you can grant access to all origins using the wildcard character ( *).

        • (string) –

      • ExposeHeaders (list) –

        The HTTP headers in your function response that you want to expose to origins that call your function URL. For example: Date, Keep-Alive, X-Custom-Header.

        • (string) –

      • MaxAge (integer) –

        The maximum amount of time, in seconds, that web browsers can cache results of a preflight request. By default, this is set to 0, which means that the browser doesn’t cache results.

    • CreationTime (string) –

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

    • InvokeMode (string) –

      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.

Exceptions