Event invocation. Start by identifying the failing state and the supported request form, rather than invoking the function repeatedly until one request succeeds.
Record the origin function name or ARN exactly as sent, account and region, adapter version, selected target profile, code artifact and invocation type. Use the Lambda service profile for operation and packaging coverage. Cloud Run, Azure Functions, Container Apps, Knative, Kubernetes and other targets have different deployment, networking and logging models.
Separate deployment from invocation
Do not turn one state into proof of another. In particular, changing a function’s memory or timeout does not repair a route to the wrong deployment.
Inspect configuration without invoking
For a profile that servesGetFunctionConfiguration, use the origin endpoint and the caller’s normal IAM credentials. Set LAMBDA_ENDPOINT, AWS_REGION and FUNCTION_NAME to the deployment being investigated:
$LATEST rather than a full published-version contract. Confirm coverage for the installed profile. Do not silently remove a production qualifier to make a request succeed: that changes which function the caller intended to address.
Classify invocation failures
A modeled API error before execution can indicate invalid signing, an unknown function, a mismatched account or region, unsupported request options, permission refusal or unavailable routing. Preserve the status and error code. Checklambda:InvokeFunction authorization separately from the target runtime’s own permissions.
A synchronous RequestResponse result requires inspecting both response metadata and payload. HTTP success alone does not establish handler success; FunctionError identifies a handler failure. Record ExecutedVersion when supplied, but use the artifact and native revision to identify deployed code. A $LATEST label is not an immutable image digest. AWS documents the distinction between API status and function errors in the Invoke reference.
An asynchronous Event request is unsupported by current Cloud Adapter Lambda profiles. Native AWS supports that invocation type, but the selected adapter profiles list it as out of scope. Do not treat an AWS-native acceptance response or private implementation code as evidence of supported adapter delivery. If the application requires asynchronous invocation, resolve that capability requirement explicitly; changing its client to RequestResponse changes the application’s contract.
The current Invoke path also rejects LogType=Tail. Do not add that option merely to obtain debugging output. Use the selected target’s approved log access and supported diagnostics; a profile must explicitly establish broader log-tail support.
Correlate logs with the same attempt
Keep the origin request ID, invocation type, logical application job ID, function identity and time window. Add the native request or revision identifier when available. Correlate those values with the selected target’s runtime logs and the application’s result store. Separate an image-pull or initialization failure from a handler exception and from a downstream API refusal. The caller’s IAM permission to invoke does not grant the function access to an object, secret or database. A handler can start successfully and then fail under its own runtime identity. Do not assume CloudWatch log groups exist for a function hosted elsewhere. Read the profile’s logging integration and native runtime observations. Avoid dumping complete payloads, environment variables or authorization headers into a ticket; logs can contain customer data and credentials.Compare Cloud Run and Azure Container Apps
The examples below investigate an existing synchronousRequestResponse attempt on two catalog container-image mappings. They do not send another Invoke. Record the logical function, exact artifact/image identity, selected profile, native service/revision and original request time. Neither profile’s public contract includes Event invocation, aliases or a general published-version Invoke surface.
Cloud Run: a caller deadline is not handler termination
For Lambda → Google Cloud Run, the function is packaged as a container image and routed to its mapped Cloud Run service. The profile configures one request per instance and maps the function timeout to a native request deadline. With the mapped service identity, the target operator can inspect its configuration without invoking:Container Apps: distinguish deployment health from worker admission
For Lambda → Azure Container Apps, the catalog also requires a container image, but Tensor9’s adapter owns single-request admission per worker. Azure Container Apps scales the replica fleet; it does not supply the same one-request-per-instance contract as this Cloud Run profile. Inspect the mapped revision through the target operator’s Azure identity:Event, which is outside current public profile support.
Worked case: HTTP success, failed handler
Suppose an existing synchronous call tothumbnail-worker returned HTTP 200, FunctionError: Unhandled and a payload indicating that an input-object read was denied.
- Preserve that response and the application job ID. Do not count it as a successful thumbnail solely because transport returned
200. - Read function configuration without invoking. Confirm the intended artifact, ready state, timeout and memory; inspect the native revision selected for the function.
- Find the same attempt in native logs. Verify whether the refusal occurred under the function’s storage identity, rather than under the original caller’s invocation identity.
- Inspect the application’s job ledger and expected output object using authorized reads. The error does not by itself prove that no earlier side effect happened.
- Have the resource owner review the precise permission or mapping. Any permission change and subsequent test invocation is a separate approved action. Keep the same logical job identity and verify duplicate handling before retrying work.
Keep retries and Explain scoped
List the retry sources actually present: client/SDK transport retries, application retries and upstream caller retries. They can overlap. Do not assume native AWS asynchronous-delivery retries apply to an adapter that does not serveEvent. A response timeout does not prove that a handler stopped; consult the result store before repeating a job and use application-level idempotent commits. An invocation API is not a universal exactly-once mechanism.
For a supported path, request Explain can help identify the selected route and captured attempt. Invocation Explain and function-lifecycle Explain have separate coverage. Current executing Invoke capture is restricted to qualified synchronous, identity-authorized routed paths. Current Cloud Adapter profiles do not provide Event invocation or executing Explain for it. Retrieve an existing receipt through the dedicated t9 service as the original report owner. Polling the report does not invoke the function.
The planned PostgreSQL plan guide applies only to instrumented SQL actually reached by that adapter. A function’s arbitrary application database queries are not automatically collected. Full plans can include sensitive expressions, so sanitize any exported copy.
Share configuration and artifact identities, the native response, handler error, retry history, correlated logs and independently observed effects through Getting Help. Use Lambda tuning after identifying the failing stage.
Use a Support Agent to compare the original invocation, native revision and business-result evidence before deciding whether another invocation is safe.