A. The output binding type should be "http" not "httpTrigger".
B. The output binding type "http" is invalid; it should be "httpResponse".
C. The output binding type "http" is invalid; it should be "httpTrigger".
D. The output binding type should be "http" with direction "in".
Solution
Step 1: Review input and output bindings
The input binding uses "httpTrigger" which is correct for HTTP triggers.
Step 2: Identify output binding error
The output binding incorrectly uses "httpTrigger"; it should be "http" with direction "out" for HTTP responses.
Final Answer:
The output binding type should be "http" not "httpTrigger". -> Option A
Quick Check:
HTTP output binding = type "http" [OK]
Hint: HTTP output binding uses type "http", not "httpTrigger" [OK]
Common Mistakes:
Using "httpTrigger" as output binding type incorrectly
Confusing input and output binding types
Setting wrong direction for output binding
5. You want to create an Azure Function with an HTTP trigger that only allows calls with a function key (authLevel set to "function") and responds with JSON containing a greeting message using the "name" query parameter and returns a JSON error message if the "name" query parameter is missing. Which of the following code snippets correctly implements this behavior?
hard
A. import azure.functions as func
def main(req: func.HttpRequest) -> func.HttpResponse:
name = req.params.get('name')
if not name:
return func.HttpResponse('Missing name', status_code=400)
return func.HttpResponse(f'{"message": "Hello, {name}!"}', mimetype='application/json')
B. import azure.functions as func
def main(req: func.HttpRequest) -> func.HttpResponse:
name = req.get_json().get('name')
if not name:
return func.HttpResponse('Missing name', status_code=400)
return func.HttpResponse(f'Hello, {name}!')
C. import azure.functions as func
import json
def main(req: func.HttpRequest) -> func.HttpResponse:
name = req.params.get('name')
if not name:
return func.HttpResponse(json.dumps({'error': 'Missing name'}), status_code=400, mimetype='application/json')
return func.HttpResponse(json.dumps({'message': f'Hello, {name}!'}), mimetype='application/json')
D. import azure.functions as func
import json
def main(req: func.HttpRequest) -> func.HttpResponse:
name = req.params.get('name')
return func.HttpResponse(json.dumps({'message': f'Hello, {name}!'}), mimetype='text/plain')
Solution
Step 1: Check authLevel and input handling
authLevel "function" is set in function.json (not shown), so code must handle query param 'name' safely.
Step 2: Validate JSON response and error handling
import azure.functions as func
import json
def main(req: func.HttpRequest) -> func.HttpResponse:
name = req.params.get('name')
if not name:
return func.HttpResponse(json.dumps({'error': 'Missing name'}), status_code=400, mimetype='application/json')
return func.HttpResponse(json.dumps({'message': f'Hello, {name}!'}), mimetype='application/json') uses json.dumps to create proper JSON for both error ({'error': 'Missing name'}) and success ({'message': f'Hello, {name}!'}), with mimetype='application/json' and status_code=400 for errors.
Step 3: Compare other options
A returns plain text error and f-string JSON-like string; C uses get_json() instead of params; D uses text/plain mimetype.
Final Answer:
Uses json.dumps and mimetype='application/json' for both success and error JSON responses. -> Option C
Quick Check:
json.dumps for JSON error and success with application/json mimetype [OK]
Hint: Use json.dumps and mimetype 'application/json' for JSON responses [OK]