GitHub Copilot Customization Explained for Beginners: Instructions, Prompt Files, Skills, Agents, and Hooks  Introduction If you've recently started using GitHub Copilot, you've probably come across terms like Instructions , Prompt Files , Skills , Agents , and Hooks . At first glance, they all seem to do the same thing—they tell Copilot what to do. So why does GitHub have five different customization features? The answer is simple: each feature solves a different problem. Think of GitHub Copilot as a new developer joining your team. On their first day, you don't just hand them code. You explain your coding standards, give them reusable templates, teach them specialized knowledge, assign them a role, and automate repetitive tasks. That's exactly how GitHub Copilot customization works. In this article, you'll learn what each feature does, when to use it, and how they all work together. By the end, you'll know which feature to start with and which ones can wait un...

Immutable Storage for Azure Blob Storage

Azure Blob Storage provides scalable, cost-efficient storage in the cloud. In general, Blob Storage holds organization data like back-ups, unstructured data, files, etc. With the Immutable Storage feature, it allows storing business-related information in the WORM (Write-Once-Read-Many) state. Immutable storage feature is available in all Azure public regions.

Immutable storage feature is set at the container level through an Access policy. Policies apply to all the blobs in the container, can be applied either for the new or existing container and supports all blob tiers (hot, cold, and archive).

Immutable storage supports two policy type:

  • Time-based retention
  • Legal hold
Note: Immutable policy type can be applied either through Azure Portal or Azure CLI. You cannot delete or modify any files within the container when any one of the policy is enabled on the container.

Immutable storage - Policy type

Time-based retention

If you enable a Time-based retention policy all blobs in the container will stay in the immutable state for the duration you define as part of the policy. The retention interval value should be within the range of 1to 400 years. By default, the time-based retention policy will be created in an unlocked state. It's always recommended policy must be in a locked state. The maximum number of edits for locked policy to change retention time interval is 5. In terms of the Audit feature for this policy maximum of seven time-based retention policy audit logs are retained for a locked policy. Once you enable the locked policy it can't be deleted or reversed. 

Note: If a time-based retention policy applied to an existing container, the effective retention period for the existing blob will be from the time of its creation.

Time-based retention policy

Legal hold

When the retention interval is not known or clear, users can set legal holds. Each legal hold policy needs to be associated with one or more tags. Tags are used as a named identifier to categorize and describe the purpose of the hold.
Legal Hold policy

To retrieve the list of tags associated with the container of Legal hold policy run the following command

az storage container legal-hold show --account-name $storageaccountname --container-name $containername

Legal hold tags



Comments

Popular posts from this blog

Tidy up - Unused Project and Nuget package reference using Visual Studio 2019

Azure Front Door vs Azure Traffic Manager?

Authenticate Azure Functions - API Keys