@staticmethod<EOL><INDENT>def _get_function_name_from_arn(function_arn):<DEDENT>
if not function_arn:<EOL><INDENT>return None<EOL><DEDENT>matches = re.match(LambdaUri._REGEX_GET_FUNCTION_NAME, function_arn)<EOL>if not matches or not matches.groups():<EOL><INDENT>LOG.debug("<STR_LIT>", function_arn)<EOL>return None<EOL><DEDENT>groups = matches.groups()<EOL>maybe_function_name = groups[<NUM_LIT:0>]  <EOL>if re.match(LambdaUri._REGEX_STAGE_VARIABLE, maybe_function_name):<EOL><INDENT>LOG.debug("<STR_LIT>", function_arn)<EOL>return None<EOL><DEDENT>elif re.match(LambdaUri._REGEX_VALID_FUNCTION_NAME, maybe_function_name):<EOL><INDENT>return maybe_function_name<EOL><DEDENT>LOG.debug("<STR_LIT>",<EOL>function_arn)<EOL>
Given the integration ARN, extract the Lambda function name from the ARN. If there
are stage variables, or other unsupported formats, this function will return None.

Parameters
----------
function_arn : basestring or None
    Function ARN from the swagger document

Returns
-------
basestring or None
    Function name of this integration. None if the ARN is not parsable