Bird
Raised Fist0
Azurecloud~10 mins

Trigger types (HTTP, Timer, Blob, Queue) in Azure - Interactive Code Practice

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to define an HTTP trigger function in Azure Functions.

Azure
def main(req: func.HttpRequest) -> func.HttpResponse:
    if req.method == '[1]':
        return func.HttpResponse('Hello HTTP!')
Drag options to blanks, or click blank then click option'
ADELETE
BPOST
CPUT
DGET
Attempts:
3 left
💡 Hint
Common Mistakes
Using POST instead of GET for simple retrieval.
2fill in blank
medium

Complete the code to set a Timer trigger schedule to run every 5 minutes.

Azure
timer = func.TimerRequest(schedule='[1]')
Drag options to blanks, or click blank then click option'
A0 */5 * * * *
B*/5 * * * *
C5 * * * *
D0 5 * * * *
Attempts:
3 left
💡 Hint
Common Mistakes
Using 5-field cron expressions missing the seconds field.
3fill in blank
hard

Fix the error in the Blob trigger binding path to listen to the container named 'images'.

Azure
blob_trigger = func.InputStream('[1]/{name}')
Drag options to blanks, or click blank then click option'
Aimages
Bimage
Cimage-container
Dimg
Attempts:
3 left
💡 Hint
Common Mistakes
Using singular or incorrect container names.
4fill in blank
hard

Fill both blanks to define a Queue trigger function that listens to the 'tasks' queue and uses the correct parameter type.

Azure
def main(msg: [1]):
    logging.info(f'Received message: {msg.[2]')
Drag options to blanks, or click blank then click option'
Afunc.QueueMessage
Bfunc.QueueTrigger
Cfunc.QueueItem
Dcontent
Attempts:
3 left
💡 Hint
Common Mistakes
Using incorrect parameter types or accessing wrong attributes.
5fill in blank
hard

Fill all three blanks to define an HTTP triggered Azure Function that reads a query parameter 'name' and returns a greeting.

Azure
def main(req: func.HttpRequest) -> func.HttpResponse:
    name = req.params.get('[1]')
    if not name:
        try:
            req_body = req.get_json()
        except ValueError:
            pass
        else:
            name = req_body.get('[2]')
    if name:
        return func.HttpResponse(f'Hello, [3]!')
    else:
        return func.HttpResponse('Please pass a name on the query string or in the request body.', status_code=400)
Drag options to blanks, or click blank then click option'
Aname
Busername
Duser
Attempts:
3 left
💡 Hint
Common Mistakes
Using different keys for query and JSON, or wrong variable in greeting.

Practice

(1/5)
1. Which Azure Function trigger type starts a function when a web request is received?
easy
A. Queue trigger
B. Timer trigger
C. HTTP trigger
D. Blob trigger

Solution

  1. Step 1: Understand trigger types

    HTTP triggers start functions when they receive web requests.
  2. Step 2: Match trigger to event

    Since the question asks about web requests, HTTP trigger is the correct match.
  3. Final Answer:

    HTTP trigger -> Option C
  4. Quick Check:

    Web request triggers = HTTP trigger [OK]
Hint: Web requests always use HTTP triggers [OK]
Common Mistakes:
  • Confusing Timer with HTTP
  • Thinking Blob triggers handle web requests
  • Mixing Queue triggers with HTTP
2. Which of the following is the correct way to define a Timer trigger in Azure Functions using function.json?
easy
A. {"bindings": [{"type": "timerTrigger", "direction": "in", "name": "myTimer", "schedule": "0 */5 * * * *"}]}
B. {"bindings": [{"type": "httpTrigger", "direction": "in", "name": "req"}]}
C. {"bindings": [{"type": "blobTrigger", "direction": "in", "name": "myBlob", "path": "samples-workitems/{name}"}]}
D. {"bindings": [{"type": "queueTrigger", "direction": "in", "name": "myQueueItem", "queueName": "myqueue-items"}]}

Solution

  1. Step 1: Identify Timer trigger syntax

    Timer triggers use type "timerTrigger" and include a "schedule" property.
  2. Step 2: Match JSON with Timer trigger

    {"bindings": [{"type": "timerTrigger", "direction": "in", "name": "myTimer", "schedule": "0 */5 * * * *"}]} has type "timerTrigger" and a cron schedule, matching Timer trigger format.
  3. Final Answer:

    Option A JSON with timerTrigger and schedule -> Option A
  4. Quick Check:

    Timer trigger needs "timerTrigger" type and schedule [OK]
Hint: Timer triggers always include a cron schedule in function.json [OK]
Common Mistakes:
  • Using httpTrigger type for Timer
  • Missing schedule property
  • Confusing Blob or Queue trigger syntax
3. Given this Azure Function code snippet using a Queue trigger:
public static void Run([QueueTrigger("myqueue-items")] string myQueueItem, ILogger log) {
    log.LogInformation($"Processed queue item: {myQueueItem}");
}

What will be logged when a message "Hello" is added to the queue?
medium
A. Processed queue item: Hello
B. Processed queue item: myqueue-items
C. Queue trigger error
D. No log output

Solution

  1. Step 1: Understand Queue trigger behavior

    The function runs when a message arrives in "myqueue-items" queue, passing the message content as myQueueItem.
  2. Step 2: Analyze log output

    The log prints "Processed queue item: " plus the message content, which is "Hello".
  3. Final Answer:

    Processed queue item: Hello -> Option A
  4. Quick Check:

    Queue message content logged = "Processed queue item: Hello" [OK]
Hint: Queue trigger passes message content as parameter [OK]
Common Mistakes:
  • Logging queue name instead of message
  • Expecting error without cause
  • Assuming no output from trigger
4. You wrote this Azure Function with a Blob trigger:
public static void Run([BlobTrigger("samples-workitems/{name}")] Stream myBlob, string name, ILogger log) {
    log.LogInformation($"Blob name: {name}, Size: {myBlob.Length} bytes");
}

But the function never runs when you upload blobs. What is the most likely cause?
medium
A. Blob triggers require HTTP requests to start
B. The Blob trigger path is incorrect or container name is wrong
C. The function is missing a Timer trigger
D. The function must use Queue trigger instead

Solution

  1. Step 1: Check Blob trigger path

    The Blob trigger listens to a specific container path; if the container name or path is wrong, it won't trigger.
  2. Step 2: Eliminate other causes

    Timer triggers or HTTP requests are unrelated; Blob triggers respond to storage changes only.
  3. Final Answer:

    The Blob trigger path is incorrect or container name is wrong -> Option B
  4. Quick Check:

    Blob trigger needs correct container path to run [OK]
Hint: Blob trigger must match exact container path [OK]
Common Mistakes:
  • Expecting Timer or HTTP triggers to start Blob
  • Wrong container or path in BlobTrigger attribute
  • Confusing Blob and Queue triggers
5. You want to run an Azure Function every day at 3 AM and also process any new files uploaded to a Blob container immediately. Which trigger types should you combine in your solution?
hard
A. HTTP trigger for schedule and Queue trigger for file uploads
B. Blob trigger for schedule and HTTP trigger for file uploads
C. Queue trigger for schedule and Timer trigger for file uploads
D. Timer trigger for schedule and Blob trigger for file uploads

Solution

  1. Step 1: Identify trigger for scheduled runs

    Timer triggers run functions on schedules like daily at 3 AM.
  2. Step 2: Identify trigger for file uploads

    Blob triggers respond immediately to new files uploaded to Blob storage.
  3. Step 3: Combine triggers correctly

    Use Timer trigger for scheduled runs and Blob trigger for file events.
  4. Final Answer:

    Timer trigger for schedule and Blob trigger for file uploads -> Option D
  5. Quick Check:

    Schedule = Timer, File upload = Blob trigger [OK]
Hint: Schedule needs Timer; file events need Blob trigger [OK]
Common Mistakes:
  • Using HTTP trigger for schedule
  • Mixing Queue with schedule incorrectly
  • Confusing Blob and HTTP triggers