Pass Your Microsoft AZ-104 Exam Easy!

Microsoft AZ-104 Exam Questions & Answers, Accurate & Verified By IT Experts

Instant Download, Free Fast Updates, 99.6% Pass Rate

AZ-104 Premium Bundle

$79.99

Microsoft AZ-104 Premium Bundle

AZ-104 Premium File: 606 Questions & Answers

Last Update: Sep 24, 2026

AZ-104 Training Course: 132 Video Lectures

AZ-104 PDF Study Guide: 458 Pages

AZ-104 Bundle gives you unlimited access to "AZ-104" files. However, this does not replace the need for a .vce exam simulator. To download VCE exam simulator click here
Microsoft AZ-104 Premium Bundle
Microsoft AZ-104 Premium Bundle

AZ-104 Premium File: 606 Questions & Answers

Last Update: Sep 24, 2026

AZ-104 Training Course: 132 Video Lectures

AZ-104 PDF Study Guide: 458 Pages

$79.99

AZ-104 Bundle gives you unlimited access to "AZ-104" files. However, this does not replace the need for a .vce exam simulator. To download your .vce exam simulator click here

Microsoft AZ-104 Practice Test 23

Question 220

Production needs a larger service SKU while keeping tags and network identity unchanged. How should the ARM source be updated?

  1. Change only the supported SKU property or parameter and preview effects
  2. Introduce a location parameter with approved defaults and validation
  3. Declare an output exposing the required resource property or identifier
  4. Use a guarded conditional resource controlled by an explicit parameter

Explanation

Correct Answer

A:

'Change only the supported SKU property or parameter and preview effects' fits the case in which production needs a larger service SKU while keeping tags and network identity unchanged because a targeted template update avoids replacing unrelated resources accidentally. By contrast, 'Introduce a location parameter with approved defaults and validation' addresses a different condition: location should be selected at deployment for region-specific resources instead of copied blindly; it would not establish the outcome needed for this particular Azure resource. For 'Change only the supported SKU property or parameter and preview effects', confirm the supported prerequisites and authorized scope, then verify the observed service behavior before describing the change as complete.

Incorrect Answers

B:

When a template sets the region to one developer's location and blocks use elsewhere, the action 'Introduce a location parameter with approved defaults and validation' can be relevant: location should be selected at deployment for region-specific resources instead of copied blindly. For the different problem of production needs a larger service SKU while keeping tags and network identity unchanged, 'Introduce a location parameter with approved defaults and validation' misses the mechanism that a targeted template update avoids replacing unrelated resources accidentally. Choosing 'Introduce a location parameter with approved defaults and validation' would address that other need, whereas 'Change only the supported SKU property or parameter and preview effects' is intended to solve the stated condition.

C:

'Declare an output exposing the required resource property or identifier' applies to a different feature boundary because outputs provide verifiable deployment results instead of guessing naming patterns. In the stated scenario where production needs a larger service SKU while keeping tags and network identity unchanged, 'Declare an output exposing the required resource property or identifier' does not satisfy the mechanism that a targeted template update avoids replacing unrelated resources accidentally. The necessary action is 'Change only the supported SKU property or parameter and preview effects', which should be checked against this Azure resource's actual permissions and state.

D:

The nearby action 'Use a guarded conditional resource controlled by an explicit parameter' is associated with this separate need: diagnostics infrastructure is optional in test but required in production. That is because conditional deployments keep one source while creating only resources required by that environment. Here production needs a larger service SKU while keeping tags and network identity unchanged, so 'Use a guarded conditional resource controlled by an explicit parameter' misses the fact that a targeted template update avoids replacing unrelated resources accidentally. 'Change only the supported SKU property or parameter and preview effects' is the more defensible action; confirm its behavior in the target service before calling the task complete.

Question 221

A resource-group ARM template declares storage account `stgprod01`. A dependent resource builds a `resourceId` using `stgprod02` in that same resource group; `stgprod02` does not exist and validation reports ResourceNotFound. What specific reference change resolves the mismatch?

  1. Rename the parameter that holds `stgprod02` but keep its value pointing to the nonexistent account.
  2. Add `dependsOn` for `stgprod01` but continue referencing the nonexistent `stgprod02` account ID.
  3. Align the dependent resource ID with the declared `stgprod01` resource name and its actual deployment scope.
  4. Change the template deployment scope to subscription while leaving the incorrect account name unchanged.

Explanation

Correct Answer

C:

The declaration and consumer must agree on the same Azure resource identity. The storage account named `stgprod01` is declared at the specified resource-group scope, whereas the dependent resource uses an ID for `stgprod02`, which is absent. ARM does not silently substitute a similarly named declared resource. Update the consumer expression to reference the declared symbol or construct an equivalent ID for `stgprod01` at that scope; validate the generated resource path and dependency graph before deploying. A `dependsOn` alone cannot repair a wrong account name, and changing to subscription scope would not manufacture the missing account.

Incorrect Answers

A:

Changing a parameter label without correcting the value used to construct the resource ID cannot change which storage account the deployment targets. The consuming resource still references `stgprod02`, which the scenario explicitly says does not exist. An ARM or Bicep reference must identify the actual deployed resource by correct name, type, and scope; a renamed variable can still resolve to the same invalid path. Verify the computed ID before redeploying, rather than assuming parameter naming alone fixes resource lookup.

B:

A dependency can influence resource creation ordering, but it does not transform a wrong resource ID into a correct one. With this option the consumer still resolves `stgprod02` even though the declared storage account is `stgprod01`. The failure is an identity mismatch, not a race in which the declared storage resource needs more time. Reference the declared resource symbol or construct the ID from the actual name and scope, and then validate the resulting deployment graph.

D:

Switching deployment scope changes where supported resources are managed or addressed, not the character sequence in the referenced storage account name. The requested storage account `stgprod02` remains nonexistent in the case. It may also make otherwise valid resource-group-scoped declarations fail because scope and resource types must match. The smallest valid correction is to align the resource reference with the existing declared `stgprod01` identity at its proper scope and validate the resulting resource ID.

Question 222

An automated validation script needs a created public IP value after deployment. What belongs in the template?

  1. Declare the requested public IP value only as an input parameter, and omit deployment outputs for the computed resource property
  2. Declare the correct dependency or valid resource ID reference in the template
  3. Declare an output exposing the required resource property or identifier
  4. Introduce a location parameter with approved defaults and validation

Explanation

Correct Answer

C:

A public IP allocated by Azure may not be known until the deployment finishes, so a validation script cannot reliably read it from a guessed name or from a value supplied before deployment. Declare a typed Bicep output that refers to the deployed resource's actual IP or resource-ID property. Azure Resource Manager returns the output value to the deployment caller, which can inspect or validate the created endpoint. A `dependsOn` relationship can order resources but does not itself return a property to an external script; outputs are the relevant interface.

Incorrect Answers

A:

A template parameter is supplied to the deployment; it is not the mechanism for returning a value generated after a public IP resource is provisioned. For example, an assigned address or created resource property might not be known until Azure finishes deployment. A downstream validation script needs an output expression referencing that deployed resource, not an input placeholder that could be empty or stale. Omitting the output prevents the script from consuming the real provisioned value, regardless of parameter typing.

B:

The nearby action 'Declare the correct dependency or valid resource ID reference in the template' is associated with this separate need: an ARM deployment fails because a web app config references a resource not yet created. That is because resource creation order must respect actual dependencies; repeating deployment without fixing references is unreliable. Here an automated validation script needs a created public IP value after deployment, so 'Declare the correct dependency or valid resource ID reference in the template' misses the fact that outputs provide verifiable deployment results instead of guessing naming patterns. 'Declare an output exposing the required resource property or identifier' is the more defensible action; confirm its behavior in the target service before calling the task complete.

D:

When a template sets the region to one developer's location and blocks use elsewhere, the action 'Introduce a location parameter with approved defaults and validation' can be relevant: location should be selected at deployment for region-specific resources instead of copied blindly. For the different problem of an automated validation script needs a created public IP value after deployment, 'Introduce a location parameter with approved defaults and validation' misses the mechanism that outputs provide verifiable deployment results instead of guessing naming patterns. Choosing 'Introduce a location parameter with approved defaults and validation' would address that other need, whereas 'Declare an output exposing the required resource property or identifier' is intended to solve the stated condition.

Question 223

A subscription contains twenty near-identical storage definitions with only environment inputs differing. What design improves reuse?

  1. Generate subnet resources from validated, distinct prefix definitions in a loop
  2. Set the correct Bicep or ARM deployment scope and target resource scope
  3. Export the required typed module output and reference its actual name
  4. Extract a parameterized Bicep module with explicit inputs and outputs
  5. Reference the declared Bicep symbolic name for dependencies and the resource name for deployment identity

Explanation

Correct Answer

D:

'Extract a parameterized Bicep module with explicit inputs and outputs' fits the case in which a subscription contains twenty near-identical storage definitions with only environment inputs differing because modules standardize a tested resource shape without copying divergent templates. By contrast, 'Generate subnet resources from validated, distinct prefix definitions in a loop' addresses a different condition: the loop avoids repeated declarations but inputs still must provide nonoverlapping addresses; it would not establish the outcome needed for this particular Azure resource. For 'Extract a parameterized Bicep module with explicit inputs and outputs', confirm the supported prerequisites and authorized scope, then verify the observed service behavior before describing the change as complete.

Incorrect Answers

A:

The nearby action 'Generate subnet resources from validated, distinct prefix definitions in a loop' is associated with this separate need: a network template hardcodes twelve nearly identical subnets and occasionally duplicates address ranges. That is because the loop avoids repeated declarations but inputs still must provide nonoverlapping addresses. Here a subscription contains twenty near-identical storage definitions with only environment inputs differing, so 'Generate subnet resources from validated, distinct prefix definitions in a loop' misses the fact that modules standardize a tested resource shape without copying divergent templates. 'Extract a parameterized Bicep module with explicit inputs and outputs' is the more defensible action; confirm its behavior in the target service before calling the task complete.

B:

'Set the correct Bicep or ARM deployment scope and target resource scope' solves another task because policy/governance objects can require a higher scope than ordinary application resources. For the situation where a subscription contains twenty near-identical storage definitions with only environment inputs differing, this distractor misses the requirement that modules standardize a tested resource shape without copying divergent templates. Unlike 'Set the correct Bicep or ARM deployment scope and target resource scope', 'Extract a parameterized Bicep module with explicit inputs and outputs' directly targets that requirement; its success must be confirmed at the authorized resource scope.

C:

When a module consumer references an output property the module never declares, the action 'Export the required typed module output and reference its actual name' can be relevant: a consumer cannot infer an undeclared output from a module's internal variable names. For the different problem of a subscription contains twenty near-identical storage definitions with only environment inputs differing, 'Export the required typed module output and reference its actual name' misses the mechanism that modules standardize a tested resource shape without copying divergent templates. Choosing 'Export the required typed module output and reference its actual name' would address that other need, whereas 'Extract a parameterized Bicep module with explicit inputs and outputs' is intended to solve the stated condition.

E:

The nearby action 'Reference the declared Bicep symbolic name for dependencies and the resource name for deployment identity' is associated with this separate need: a Bicep file declares `resource storage 'Microsoft.Storage/storageAccounts@...'` and uses a different actual account name. That is because Bicep symbolic identifiers connect expressions; actual Azure resource names are deployed values. Here a subscription contains twenty near-identical storage definitions with only environment inputs differing, so 'Reference the declared Bicep symbolic name for dependencies and the resource name for deployment identity' misses the fact that modules standardize a tested resource shape without copying divergent templates. 'Extract a parameterized Bicep module with explicit inputs and outputs' is the more defensible action; confirm its behavior in the target service before calling the task complete.

Question 224

A template tries to deploy a subscription-scope policy assignment as a resource-group child. What must change?

  1. Set the correct Bicep or ARM deployment scope and target resource scope
  2. Change the policy assignment display name to match its resource group while keeping a resource-group deployment scope
  3. Use a resource-group-scoped ARM/Bicep deployment
  4. Grant only the required deployment actions at the target scope

Explanation

Correct Answer

A:

An Azure policy assignment targeted at a subscription is a subscription-scope resource, so it cannot simply be declared as a child of a resource group and treated as though it inherits the desired scope. The Bicep or ARM deployment must target the appropriate subscription scope, for example with a subscription-level template or a module deployed to that scope, and the policy assignment must identify the intended scope. This distinguishes deployment topology from mere naming. Before applying the change, validate the actual principal's deployment permissions and inspect a what-if result for the correct subscription, because a successful resource-group template cannot establish that a subscription policy was deployed.

Incorrect Answers

B:

A display name is only descriptive metadata; Azure Resource Manager resolves a resource's deployment scope from the template target, module or resource scope properties, not from naming conventions. Keeping the policy assignment inside a resource-group deployment while renaming it to resemble a subscription does not make a subscription-scoped authorization resource valid. The repair is to choose a subscription-scope deployment or appropriately scoped module and give the assignment the correct target subscription. Verify the effective policy assignment at that subscription after deployment.

C:

'Use a resource-group-scoped ARM/Bicep deployment' applies to a different feature boundary because ordinary application resources are targeted to the group that will own their lifecycle. In the stated scenario where a template tries to deploy a subscription-scope policy assignment as a resource-group child, 'Use a resource-group-scoped ARM/Bicep deployment' does not satisfy the mechanism that policy/governance objects can require a higher scope than ordinary application resources. The necessary action is 'Set the correct Bicep or ARM deployment scope and target resource scope', which should be checked against this Azure resource's actual permissions and state.

D:

The nearby action 'Grant only the required deployment actions at the target scope' is associated with this separate need: a valid template fails to deploy resources in a production subscription because the service principal lacks rights. That is because template syntax cannot override RBAC; deployment operation rights must exist where resources are created. Here a template tries to deploy a subscription-scope policy assignment as a resource-group child, so 'Grant only the required deployment actions at the target scope' misses the fact that policy/governance objects can require a higher scope than ordinary application resources. 'Set the correct Bicep or ARM deployment scope and target resource scope' is the more defensible action; confirm its behavior in the target service before calling the task complete.

Question 225

A Bicep file already deploys a VNet with address space 10.42.0.0/16 and an existing subnet `app` using 10.42.8.0/24. The author adds a second subnet `batch` with prefix 10.42.8.128/25. The deployment fails before workload configuration begins. What must be corrected before refactoring the subnet definitions into a loop?

  1. Choose a new unused CIDR range within 10.42.0.0/16 that does not overlap 10.42.8.0/24 or any other subnet, then validate before deploying
  2. Rename `batch` to a different subnet name while retaining its overlapping 10.42.8.128/25 address prefix
  3. Wrap the subnet declarations in a Bicep `for` loop; a loop automatically permits subnet address ranges to overlap
  4. Add an NSG allow rule for the proposed subnet; security-rule priority resolves overlapping Azure subnet address spaces

Explanation

Correct Answer

A:

The existing `app` subnet includes the whole block 10.42.8.0 through 10.42.8.255. The proposed 10.42.8.128/25 covers addresses already contained within that /24. Azure requires subnet address ranges inside a VNet to be unique and nonoverlapping. Fix the address plan first by selecting an available range elsewhere inside the VNet's allowed 10.42.0.0/16 address space. Only after validating the ranges should the author consider a Bicep resource loop for repetitive definitions. A loop improves maintainability but cannot repair a logically invalid network-address allocation.

Incorrect Answers

B:

Azure requires distinct subnet names within the same VNet, but a unique name is not sufficient for a valid network deployment. The address range is the actual conflict: `batch` includes a subset of addresses that belong to the already deployed `app` subnet. Giving the new subnet another name leaves both CIDR prefixes unchanged, so the Azure network service would still reject the overlap. This is a different problem from duplicate symbolic resource names in Bicep. The administrator must change the network address allocation, not merely rename the deployment resource.

C:

Bicep loops are a valid way to generate several resources from an array of distinct input definitions; that is the separate inference tested by the neighboring subnet-loop question. But a loop does not bypass the Azure Virtual Network service's requirement that its subnet ranges be nonoverlapping. Iterating over invalid prefix inputs repeats the same bad network design programmatically. The two prefix ranges given in the question intersect regardless of the deployment syntax. First use an available CIDR block outside 10.42.8.0/24, then use a loop only if it simplifies the otherwise valid resource definitions.

D:

A network security group controls traffic permitted to and from subnet or network-interface addresses after network resources exist. It does not allocate or reserve CIDR blocks, reconcile overlapping IP subnets, or override VNet subnet validation. The stated failure occurs during subnet creation, before any application security-rule decision. Raising or lowering rule priority cannot make 10.42.8.128/25 disjoint from 10.42.8.0/24. The appropriate repair is to change and validate the conflicting address prefix, then configure NSG rules separately for the intended workloads.

Question 226

A module consumer references an output property the module never declares. What repair makes the deployment valid?

  1. Export the required typed module output and reference its actual name
  2. Extract a parameterized Bicep module with explicit inputs and outputs
  3. Declare the missing output only in an unrelated root Bicep file and continue reading it as an output of the unchanged module.
  4. Reference the module output using a newly invented property name without adding any declaration to the module.

Explanation

Correct Answer

A:

'Export the required typed module output and reference its actual name' fits the case in which a module consumer references an output property the module never declares because a consumer cannot infer an undeclared output from a module's internal variable names. By contrast, 'Extract a parameterized Bicep module with explicit inputs and outputs' addresses a different condition: modules standardize a tested resource shape without copying divergent templates; it would not establish the outcome needed for this particular Azure resource. For 'Export the required typed module output and reference its actual name', confirm the supported prerequisites and authorized scope, then verify the observed service behavior before describing the change as complete.

Incorrect Answers

B:

The nearby action 'Extract a parameterized Bicep module with explicit inputs and outputs' is associated with this separate need: a subscription contains twenty near-identical storage definitions with only environment inputs differing. That is because modules standardize a tested resource shape without copying divergent templates. Here a module consumer references an output property the module never declares, so 'Extract a parameterized Bicep module with explicit inputs and outputs' misses the fact that a consumer cannot infer an undeclared output from a module's internal variable names. 'Export the required typed module output and reference its actual name' is the more defensible action; confirm its behavior in the target service before calling the task complete.

C:

Bicep module consumers access properties declared by the referenced module, not arbitrary outputs defined in an unrelated parent or root deployment. The consumer in this case references a property that the module never exports. Adding a similarly named output elsewhere does not alter the module's typed output contract and leaves the reference unresolved. Add the required typed output to that module, ensure its value is derived from the correct resource or parameter, and update the consuming expression to the exact published module output name.

D:

An output reference is not dynamically synthesized merely because a caller writes a plausible property name. Bicep checks module output declarations and the expressions the consumer uses to access them. If the referenced module has no matching declared output, the consumer cannot retrieve the resource property and the template remains invalid. The administrator must edit the module's output contract to expose the actual value, use its correct type and exact name, and then validate the parent deployment. Inventing a caller-side output name does not create that contract.

Question 227

A developer wants to place a database password as an ordinary template default for convenience. What should be done instead?

  1. Introduce a location parameter with approved defaults and validation
  2. Use secure parameter handling and a secret store without plaintext source defaults
  3. Set the correct Bicep or ARM deployment scope and target resource scope
  4. Review exported values and replace inappropriate fixed settings with parameters

Explanation

Correct Answer

B:

'Use secure parameter handling and a secret store without plaintext source defaults' fits the case in which a developer wants to place a database password as an ordinary template default for convenience because secrets in template files or default parameter values can leak through source control and deployment history. By contrast, 'Introduce a location parameter with approved defaults and validation' addresses a different condition: location should be selected at deployment for region-specific resources instead of copied blindly; it would not establish the outcome needed for this particular Azure resource. For 'Use secure parameter handling and a secret store without plaintext source defaults', confirm the supported prerequisites and authorized scope, then verify the observed service behavior before describing the change as complete.

Incorrect Answers

A:

The nearby action 'Introduce a location parameter with approved defaults and validation' is associated with this separate need: a template sets the region to one developer's location and blocks use elsewhere. That is because location should be selected at deployment for region-specific resources instead of copied blindly. Here a developer wants to place a database password as an ordinary template default for convenience, so 'Introduce a location parameter with approved defaults and validation' misses the fact that secrets in template files or default parameter values can leak through source control and deployment history. 'Use secure parameter handling and a secret store without plaintext source defaults' is the more defensible action; confirm its behavior in the target service before calling the task complete.

C:

When a template tries to deploy a subscription-scope policy assignment as a resource-group child, the action 'Set the correct Bicep or ARM deployment scope and target resource scope' can be relevant: policy/governance objects can require a higher scope than ordinary application resources. For the different problem of a developer wants to place a database password as an ordinary template default for convenience, 'Set the correct Bicep or ARM deployment scope and target resource scope' misses the mechanism that secrets in template files or default parameter values can leak through source control and deployment history. Choosing 'Set the correct Bicep or ARM deployment scope and target resource scope' would address that other need, whereas 'Use secure parameter handling and a secret store without plaintext source defaults' is intended to solve the stated condition.

D:

'Review exported values and replace inappropriate fixed settings with parameters' applies to a different feature boundary because export captures a snapshot, not automatically reusable, approved source of truth. In the stated scenario where a developer wants to place a database password as an ordinary template default for convenience, 'Review exported values and replace inappropriate fixed settings with parameters' does not satisfy the mechanism that secrets in template files or default parameter values can leak through source control and deployment history. The necessary action is 'Use secure parameter handling and a secret store without plaintext source defaults', which should be checked against this Azure resource's actual permissions and state.

Question 228

An application team deploys a VNet and VMs into an existing resource group. Which deployment scope fits?

  1. Deploy at subscription scope solely because the resource group already exists
  2. Inspect deployment operation status, output values and actual resources
  3. Use a Bicep resource loop over validated subnet definitions
  4. Use a subscription-level deployment for the subscription-scoped resources
  5. Use a resource-group-scoped ARM/Bicep deployment

Explanation

Correct Answer

E:

The entry-point deployment targets virtual networks and virtual machines inside an existing Azure resource group, so resource-group deployment scope is the natural fit. In Bicep, an entry-point with resourceGroup target scope can be deployed by a resource-group-level command with suitable permissions. Subscription-level deployment is appropriate when the entry point itself creates subscription-scope resources such as new resource groups; that is a different task. Verify resources and nested modules use compatible declared scopes, supply required parameters, and inspect deployment operations afterward. The chosen scope must match the resource types actually declared rather than being inferred from an arbitrary subscription name.

Incorrect Answers

A:

The presence of an existing resource group does not require a subscription-level template deployment for ordinary VNet and VM resources inside it. A resource-group-scope deployment is the direct fit for application resources targeting that group, with inherited deployment permissions and references assessed as needed. Choosing a broader subscription scope without a subscription-level resource purpose complicates authorization and does not solve the stated application deployment request.

B:

When a CI job reports that an ARM deployment was accepted, but operations cannot find the expected resource, the action 'Inspect deployment operation status, output values and actual resources' can be relevant: submission and successful resource provisioning are different outcomes; ARM history identifies failures. For the different problem of an application team deploys a VNet and VMs into an existing resource group, 'Inspect deployment operation status, output values and actual resources' misses the mechanism that ordinary application resources are targeted to the group that will own their lifecycle. Choosing 'Inspect deployment operation status, output values and actual resources' would address that other need, whereas 'Use a resource-group-scoped ARM/Bicep deployment' is intended to solve the stated condition.

C:

'Use a Bicep resource loop over validated subnet definitions' applies to a different feature boundary because loops generate multiple resources from a collection while retaining unique names and address prefixes. In the stated scenario where an application team deploys a VNet and VMs into an existing resource group, 'Use a Bicep resource loop over validated subnet definitions' does not satisfy the mechanism that ordinary application resources are targeted to the group that will own their lifecycle. The necessary action is 'Use a resource-group-scoped ARM/Bicep deployment', which should be checked against this Azure resource's actual permissions and state.

D:

The nearby action 'Use a subscription-level deployment for the subscription-scoped resources' is associated with this separate need: a deployment provisions a resource group and a subscription-level policy in the same administrative workflow. That is because creating governance at subscription scope differs from deploying an ordinary resource group child. Here an application team deploys a VNet and VMs into an existing resource group, so 'Use a subscription-level deployment for the subscription-scoped resources' misses the fact that ordinary application resources are targeted to the group that will own their lifecycle. 'Use a resource-group-scoped ARM/Bicep deployment' is the more defensible action; confirm its behavior in the target service before calling the task complete.

Question 229

A single top-level Bicep deployment must create an Azure resource group and assign an Azure Policy definition at the subscription scope. Its entry-point file declares these subscription-scoped resources directly. Which deployment scope and command should be used for that entry point?

  1. Use a resource-group-scoped ARM/Bicep deployment
  2. Use a subscription-level deployment for the subscription-scoped resources
  3. Use a resource-group-level deployment for the top-level Bicep file, because referencing subscription() in an expression automatically changes targetScope
  4. Derive the resource ID from parameters and target deployment scope

Explanation

Correct Answer

B:

An Azure resource group itself is a subscription-scoped ARM resource, and the policy assignment in this scenario is also declared at the subscription scope. Set the top-level Bicep targetScope to subscription and deploy it with a subscription-level command such as az deployment sub create. If the deployment additionally needs resource-group child resources, use modules scoped to the created resource group rather than attempting to declare every resource at an incompatible target scope. This answer matches the explicitly described entry point and both types of subscription-level resource; a resource-group deployment cannot create the same parent resource group at its own child scope.

Incorrect Answers

A:

When an application team deploys a VNet and VMs into an existing resource group, the action 'Use a resource-group-scoped ARM/Bicep deployment' can be relevant: ordinary application resources are targeted to the group that will own their lifecycle. For the different problem of a deployment provisions a resource group and a subscription-level policy in the same administrative workflow, 'Use a resource-group-scoped ARM/Bicep deployment' misses the mechanism that creating governance at subscription scope differs from deploying an ordinary resource group child. Choosing 'Use a resource-group-scoped ARM/Bicep deployment' would address that other need, whereas 'Use a subscription-level deployment for the subscription-scoped resources' is intended to solve the stated condition.

C:

Calling subscription() inside a Bicep expression returns subscription information; it does not change the deployment scope of the entire entry-point file. A resource-group-level top-level deployment still has resourceGroup target scope and cannot directly deploy the described subscription-level resource group creation and subscription policy assignment. To change this, the entry point needs a subscription targetScope and a corresponding subscription deployment. Merely computing an ID or referencing subscription metadata does not grant the ARM deployment engine permission to create objects at a different scope.

D:

'Derive the resource ID from parameters and target deployment scope' solves another task because hard-coded subscription IDs can direct dependencies to the wrong tenant or fail when deployed elsewhere. For the situation where a deployment provisions a resource group and a subscription-level policy in the same administrative workflow, this distractor misses the requirement that creating governance at subscription scope differs from deploying an ordinary resource group child. Unlike 'Derive the resource ID from parameters and target deployment scope', 'Use a subscription-level deployment for the subscription-scoped resources' directly targets that requirement; its success must be confirmed at the authorized resource scope.

Question 230

A planned Bicep update will remove or replace several production resources. Which check should run before applying (Select TWO distinct actions.)

  1. Treat a green what-if summary as a guarantee no application outage can occur
  2. Run ARM deployment what-if against the actual target scope
  3. Inspect risky proposed resource changes against the approved change window
  4. Use an old resource-group export without comparing it to current deployment state
  5. Deploy immediately and use what-if only after production changes
  6. Delete every resource mentioned in the preview to force clean deployment

Explanation

Correct Answers

B:

'Run ARM deployment what-if against the actual target scope' fits the case in which a planned Bicep update will remove or replace several production resources because what-if surfaces intended additions, modifications, and deletions before mutation. By contrast, 'Treat a green what-if summary as a guarantee no application outage can occur' addresses a different condition: what-if describes resource changes but cannot certify runtime dependency behavior; it would not establish the outcome needed for this particular Azure resource. For 'Run ARM deployment what-if against the actual target scope', confirm the supported prerequisites and authorized scope, then verify the observed service behavior before describing the change as complete.

C:

'Inspect risky proposed resource changes against the approved change window' fits the case in which a planned Bicep update will remove or replace several production resources because a preview must be interpreted and accepted, especially for replacements and removals. By contrast, 'Use an old resource-group export without comparing it to current deployment state' addresses a different condition: a historical export can miss changes made since the snapshot; it would not establish the outcome needed for this particular Azure resource. For 'Inspect risky proposed resource changes against the approved change window', confirm the supported prerequisites and authorized scope, then verify the observed service behavior before describing the change as complete.

Incorrect Answers

A:

'Treat a green what-if summary as a guarantee no application outage can occur' fails the stated scenario where a planned Bicep update will remove or replace several production resources because what-if describes resource changes but cannot certify runtime dependency behavior. The required multi-part resolution instead needs what-if previews intended resource differences; it is not proof that runtime behavior will be safe, which 'Treat a green what-if summary as a guarantee no application outage can occur' does not establish. Do not count 'Treat a green what-if summary as a guarantee no application outage can occur' among the mandatory actions; confirm the specific service's effective permissions, network path, or deployment result before treating the design as complete.

D:

'Use an old resource-group export without comparing it to current deployment state' fails the stated scenario where a planned Bicep update will remove or replace several production resources because a historical export can miss changes made since the snapshot. The required multi-part resolution instead needs what-if previews intended resource differences; it is not proof that runtime behavior will be safe, which 'Use an old resource-group export without comparing it to current deployment state' does not establish. Do not count 'Use an old resource-group export without comparing it to current deployment state' among the mandatory actions; confirm the specific service's effective permissions, network path, or deployment result before treating the design as complete.

E:

'Deploy immediately and use what-if only after production changes' fails the stated scenario where a planned Bicep update will remove or replace several production resources because a retrospective preview cannot prevent an unapproved destructive change. The required multi-part resolution instead needs what-if previews intended resource differences; it is not proof that runtime behavior will be safe, which 'Deploy immediately and use what-if only after production changes' does not establish. Do not count 'Deploy immediately and use what-if only after production changes' among the mandatory actions; confirm the specific service's effective permissions, network path, or deployment result before treating the design as complete.

F:

'Delete every resource mentioned in the preview to force clean deployment' fails the stated scenario where a planned Bicep update will remove or replace several production resources because that makes the suspected destructive scope broader rather than safer. The required multi-part resolution instead needs what-if previews intended resource differences; it is not proof that runtime behavior will be safe, which 'Delete every resource mentioned in the preview to force clean deployment' does not establish. Do not count 'Delete every resource mentioned in the preview to force clean deployment' among the mandatory actions; confirm the specific service's effective permissions, network path, or deployment result before treating the design as complete.


Microsoft Azure Administrator (AZ-104) Practice Tests

Purchase Individually

AZ-104 Premium File

Premium File
AZ-104 Premium File
606 Q&A
$76.99$69.99

AZ-104 Training Video Course

Training Course
AZ-104 Training Video Course
132 Lectures
$27.49$24.99

AZ-104 Study Guide

Study Guide
AZ-104 Study Guide
458 PDF Pages
$27.49$24.99

Site Search:

 

VISA, MasterCard, AmericanExpress, UnionPay

SPECIAL OFFER: GET 10% OFF

ExamCollection Premium

ExamCollection Premium Files

Pass your Exam with ExamCollection's PREMIUM files!

  • ExamCollection Certified Safe Files
  • Guaranteed to have ACTUAL Exam Questions
  • Up-to-Date Exam Study Material - Verified by Experts
  • Instant Downloads
Enter Your Email Address to Receive Your 10% Off Discount Code
A Confirmation Link will be sent to this email address to verify your login
We value your privacy. We will not rent or sell your email address

SPECIAL OFFER: GET 10% OFF

Use Discount Code:

MIN10OFF

A confirmation link was sent to your e-mail.
Please check your mailbox for a message from support@examcollection.com and follow the directions.

Next

Download Free Demo of VCE Exam Simulator

Experience Avanset VCE Exam Simulator for yourself.

Simply submit your e-mail address below to get started with our interactive software demo of your free trial.

Free Demo Limits: In the demo version you will be able to access only first 5 questions from exam.