exam questions

Exam AZ-203 All Questions

View all questions & answers for the AZ-203 exam

Exam AZ-203 topic 3 question 7 discussion

Actual exam question from Microsoft's AZ-203
Question #: 7
Topic #: 3
[All AZ-203 Questions]

DRAG DROP -
You are implementing an order processing system. A point of sale application publishes orders to topics in an Azure Service Bus queue. The Label property for the topic includes the following data:

The system has the following requirements for subscriptions:

You need to implement filtering and maximize throughput while evaluating filters.
Which filter types should you implement? To answer, drag the appropriate filter types to the correct subscription. Each filter type may be used once, more than once, or not at all. You may need to drag the split bar between panes or scroll to view content.
NOTE: Each correct selection is worth one point.
Select and Place:

Show Suggested Answer Hide Answer
Suggested Answer: Explanation
FutureOrders: SQLFilter -
HighPriortyOrders: CorrelationFilter

CorrelationID only -

InternationalOrders: SQLFilter -
Country NOT USA requires an SQL Filter

HighQuantityOrders: SQLFilter -
Need to use relational operators so an SQL Filter is needed.

AllOrders: No Filter -
SQL Filter: SQL Filters - A SqlFilter holds a SQL-like conditional expression that is evaluated in the broker against the arriving messages' user-defined properties and system properties. All system properties must be prefixed with sys. in the conditional expression. The SQL-language subset for filter conditions tests for the existence of properties (EXISTS), as well as for null-values (IS NULL), logical NOT/AND/OR, relational operators, simple numeric arithmetic, and simple text pattern matching with LIKE.
Correlation Filters - A CorrelationFilter holds a set of conditions that are matched against one or more of an arriving message's user and system properties. A common use is to match against the CorrelationId property, but the application can also choose to match against ContentType, Label, MessageId, ReplyTo,
ReplyToSessionId, SessionId, To, and any user-defined properties. A match exists when an arriving message's value for a property is equal to the value specified in the correlation filter. For string expressions, the comparison is case-sensitive. When specifying multiple match properties, the filter combines them as a logical
AND condition, meaning for the filter to match, all conditions must match.
Boolean filters - The TrueFilter and FalseFilter either cause all arriving messages (true) or none of the arriving messages (false) to be selected for the subscription.
References:
https://docs.microsoft.com/en-us/azure/service-bus-messaging/topic-filters

Comments

Chosen Answer:
This is a voting comment (?). It is better to Upvote an existing comment if you don't have anything to add.
Switch to a voting comment New
oxaytol
Highly Voted 5 years ago
Based on options you have: SQLFilter, CorrelationFilrer or No Filter, the solution is: FutureOrders: SQLFilter -> You need to specify a condition for not retreiving results. You cannot achieve this with correlation filter or no filter. HighPriorityOrders -> Correlation filter as you can handle this with AND operations and the fields. InternationOrders -> SQL Filter because you cannot set a "NOT" instruction using correlation. HighQuantityOrders: As above, you need a SQL filter in order to include a sentece with "greater than". All orders: No filter, so you will retreive all the information.
upvoted 29 times
brajen
4 years, 11 months ago
For Future Order False-filter is the right choice but its not given in the question so we can use SQL filter for the same. High Prioty Orders are having multiple condition so Correlation Filter is correct International-orders: just one condition so use SQL Filter All Order : means no filter required
upvoted 2 times
...
Juanlu
4 years, 4 months ago
Totally Agree !
upvoted 1 times
...
...
hertino
Highly Voted 4 years, 10 months ago
Today I got 900, I had this question, my answer: FutureOrders: SQLFilter HighPriortyOrders: CorrelationFilter InternationalOrders: SQLFilter HighQuantityOrders: SQLFilter AllOrders: No Filter
upvoted 23 times
pranay
4 years, 10 months ago
If you remove the existing filter(sqlFilter/TrueFilter), you will not receive any message. So no filter cannot be an answer for AllOrder.
upvoted 2 times
...
...
cbn
Most Recent 4 years, 4 months ago
This is what I think: (No Filter / SQL / SQL / SQL / SQL) --------------------- FutureOrders: [No Filter] (When there are no filters, no message will be delivered) High Priority Orders: [SQL] (High priority AND (Region <> US)) International Orders: [SQL] (Region <> US) High Quantity Orders: [SQL] (Quantity > 100) All Orders: [SQL] (We need to define an action and only SQL filters support that) --------------------- It is a bad practice to use correlation filters in unintended ways. I don't think this exam expects such answers, even though it is technically possible.
upvoted 4 times
monniq
4 years, 4 months ago
I agree. Went through the documentation and tried it on the portal and came to the same conclusion.
upvoted 3 times
...
...
sleepyboy777
4 years, 5 months ago
Boolean filter is derived from SQL filter, so since boolean filter is not an option, answer is SQL filter. True is 1=1 and false is 1=0. You technically can use correlation filter and set one of the properties to an impossible value but this is bad practice because it is confusing and what if the value became valid/possible
upvoted 1 times
...
samch
4 years, 5 months ago
FutureOrders: Would use a Boolean filter as to me it sounds conditional, as BooleanFilter isn’t an option would choose SQLFilter. HighPriortyOrders: CorrelationFilter - since correlation id is used and you should choose correlation filters over SQL-like filters because they're much more efficient in processing and have less impact on throughput InternationalOrders: SQLFilter as its conditional. i.e. Country NOT USA. HighQuantityOrders: Could be SQLFilter or CorrelationFilter since its a user defined property and correlation filters are more efficient to use. Although, couldn’t see any logic on doing a greater than in a correlation filter so a SQL Filter is needed. AllOrders: No Filter - As it affects every single order, so no filters needed.
upvoted 1 times
...
N8n0z
4 years, 8 months ago
FutureOrders -> CorrelationFilter (We need to specify a property so it won't match) HighPriorityOrders -> CorrelationFilter(The CorrelationId is a measure of priority) InternationalOrders -> SQLFilter(Use the region) HighQuantityOrders -> CorrelationFilter(It's a user defined property) AllOrders -> No Filter ("If you don't explicitly specify a filter condition for the rule, the applied filter is the true filter that enables all messages to be selected into the subscription") All here: https://docs.microsoft.com/pt-pt/azure/service-bus-messaging/topic-filters
upvoted 1 times
...
NPaul_92
4 years, 9 months ago
https://vceguide.com/which-filter-types-should-you-implement/
upvoted 3 times
...
Larry616
4 years, 10 months ago
CorrelationFilter (more efficient) SQLFilter (Note high priority oders also contains international order) SQLFilter SQLFilter NoFilter (Default to TrueFilter)
upvoted 5 times
...
quokka
4 years, 10 months ago
FutureOrders: CorrelationFilter (FalseFilter is not an option here, so set equal to "xxx no match" to ensure won't match) HighPriortyOrders: SQLFilter (high is relative, also need logical AND ShipLocation NOT 'US') InternationalOrders: SQLFilter (ShipLocation NOT 'US') HighQuantityOrders: SQLFilter (numeric comparison to 100 units) AllOrders: No Filter (default to let all orders into subscription) https://docs.microsoft.com/en-us/azure/service-bus-messaging/topic-filters Correlation filters - needs exact equal match (string is case-sensitive), there's no NOT operator, only AND. SQL filters - to test against: exists, is null, NOT/AND/OR, relational, numeric arithmetic, text pattern LIKE). Boolean filters - true or false, defaults to true and don't filter messages
upvoted 3 times
...
realbart
4 years, 10 months ago
I cannot edit my earlyer answer, so here is This question talks about a queue with several subscriptions. Surely they mean a topic? (https://www.serverless360.com/blog/azure-service-bus-queues-vs-topics) Also, removing a default Rule/Filter would cause no message to be delivered to the subscriber. So in my view, the answers would be: FutureOrders: [No Filter] High Priority Orders: [CorrelationFilter] (Priority == true can be done using correlation) International Orders: [SQLFilter] (Correlation does not have a "does not equal" option) High Quantity Orders: [SQLFilter] (Greater Than can be done using SQL Filter All Orders [ ] (You get a true filter by default. A SQL Filter with 1==1 might also do the job. This one is amiguous) As mentioned before, catching all or nothing can be achieved more explicitly selecting a TrueFilter or FalseFilter.
upvoted 1 times
...
harry973
4 years, 11 months ago
high priority orders include international orders too. International orders are ones which are from other than US. So should it not be sql filters not correlation filter?
upvoted 5 times
...
chaudh
4 years, 11 months ago
given answer is correct
upvoted 2 times
...
pranay
4 years, 11 months ago
Answer is NoFilter, CorrelationFilter, SQLFilter, SQLFilter, SQLFilter 1. Bydefault we have sqlfilter(whose condition is 1=1 mean true). if we delete default sqlfilter and add no other filter. it will not receive any messages so answer is NoFilter 2. if more than 1 conditions are there, correlationFilter should be preferred. 3. CorrelationFilter cannot check not match condition. SqlFilter can 4. sql expression so SQLFilter 5. default SQLFilter will work as its value is 1=1 and allows all messages to be recieved.
upvoted 7 times
...
brajen
4 years, 11 months ago
Given answer is Correct only..
upvoted 1 times
...
nikos2001
5 years ago
I would say FutureOrders -> CorrelationFilter. You can specify values for Label or CorrelationId properties which do not exist in your messages CorrelationFilter Filter = new CorrelationFilter() { CorrelationId = "value_not_exist" }; https://github.com/Azure/azure-service-bus/tree/master/samples/DotNet/GettingStarted/Microsoft.Azure.ServiceBus/TopicSubscriptionWithRuleOperationsSample
upvoted 1 times
...
justicetree555
5 years ago
guys this question actually came out on the actual test!
upvoted 7 times
...
smishra
5 years ago
we don't have "true" and "false" filters as option available,why so? What are we supposed to Answer for future orders(false filter) and all order(true filter)
upvoted 1 times
...
Community vote distribution
A (35%)
C (25%)
B (20%)
Other
Most Voted
A voting comment increases the vote count for the chosen answer by one.

Upvoting a comment with a selected answer will also increase the vote count towards that answer by one. So if you see a comment that you already agree with, you can upvote it instead of posting a new comment.

SaveCancel
Loading ...