After updating to the latest Azure CLI (2.22.0) for Windows 10, I am now seeing the same error as others have reported:
Any command such as “az bicep version” is producing the following error:
The command failed with an unexpected error. Here is the traceback and detailed error: type object 'datetime.datetime' has no attribute 'fromisoformat' Traceback (most recent call last): File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\knack/cli.py", line 231, in invoke File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/init.py", line 657, in execute File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/init.py", line 720, in _run_jobs_serially File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/init.py", line 691, in _run_job File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/init.py", line 328, in call File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/init.py", line 807, in default_command_handler File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/command_modules/resource/custom.py", line 3294, in build_bicep_file File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/command_modules/resource/_bicep.py", line 63, in run_bicep_command File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/command_modules/resource/_bicep.py", line 152, in _load_bicep_version_check_result_from_cache AttributeError: type object 'datetime.datetime' has no attribute 'fromisoformat'
Is there a temp workaround?
One of the workarounds is to uninstalled Azure CLI 2.22.0 , and then install the prior version 2.21.0. You could confirm 2.21.0 version is working for you by running the same command.
Hope this will be helpful for you, as i faced with this issue hours before my demo to #GlobalAzure 2021 π
I am getting ready bits and pieces of the presentation and demo code for the #GlobalAzure 2021 event.
This is going to be my second year in a row, presenting at this global event, and I am pumped to contribute with two new sessions this year.
Feel free to check out the details of each session and links here .
WHY bother to transfrom your exising Azure ARM templates into Bicep?
Easy to understand and maintain code for your Azure infrastructure
Day zero support for all resource types & API versions
Nice transparent abstractionΒ for the underlying platform
Awesome Tooling β VS Code extension for Bicep
Deep integration with other Azure Services
Preflight validation β both Bicep/ARM does preflight validation on entire template
Provides high level of confidence that your code is ‘syntactically valid’ before deploying
Support β starting from v.03, Bicep is 100% supported by Microsoft Support Plans
This time, I am looking forward to share level 200 talk and demos, where we will ALL deep dive into challenges of transforming exisiting ARM templates into Azure Bicep.
We will inspect the ARM JSON decompiler, which comes with Azure Bicep and how to make it work your way.
Stay tunes, i hope to see you all during the event!
Hello friends, I am back again, this time with another follow-up announcement of a second Global Azure 2021 session in Azure Data focus area, for ALL of you!
I am truly excited to present the following session on April 17th, live from my broadcasting studio in East Cost:)
This session will be a deep dive into different data movement scenarios using first-class tooling in Azure data echo-system and Azure Data Factory (ADF). We will learn about handy new features and data connectors, while copying and transforming datasets from a Data Lake and SQL Relational Database storages. Thus, tune in to learn about latest developments in Microsoft Azure data transformation services.
In my second session, I will share following journey with you:
Abstract of the upcoming session provided below π
We will learn about what is ETL and ELT stands for in data world, and how Azure Data Factory (ADF) service could help you. Along the way, we will look into inner-workings and fundamentals of a cloud-based ETL and data integration service that allows you to create data-driven workflows for orchestrating data movement and transforming data at scale.
Finally, we will conclude the session with ADF demo and Q&A
TheCloudMarathoner π
Please let me know, what topics are you interested in?
Hello eveyone, I am very happy to share exciting news with all of you.
Few days ago, i have receieved an email confirming acceptance of my both Azure sessions for the Global Azure 2021 event. I am truely trilled to present on April 16th and 17th following two sesions for eveyone live:
I am looking forward for your participiation, and tune in to learn about latest developments in Microsoft Azure.
In my first session i will share the following new session with you.
Abstract of the presentation as is:
Infrastructure as a Code (IaC) is important strategy to manage your digital estate in any cloud environment. Simplifying management of your infrastructure while re-using code is even better. In Microsoft Azure, we have ARM (Azure Resource Manager) templates that could declaratively define your cloud project infrastructure.
However, it is not easy to author ARM JSON templates and maintain them when your project grows and requires changes. In this demo heavy session, we will introduce the Azure Bicep language and demonstrate how it simplifies authoring ARM templates for your Azure infrastructure. We will author a manageable, readable, and modularized Azure infrastructure code, while using familiar tools.
TheCloudMarathoner π
Please let me know, what topics are you interested in?
The biggest benefit in using Git and infrastructure-as-code (IaC) is that you can now use continuous integration and deployment. With tools like GitHub actions, you can automatically deploy and/or update infrastructure code and automatically apply it to your cloud environment. Resources that have been added to the infrastructure code are created automatically and made ready for use.
The resources that were changed are updated in your cloud environment and resources that are removed from the infrastructure code are automatically spun down and deleted. This allows you to write code, commit it to your Git repository, and take full advantage of all the benefits of the DevOps process.
GitOps
GitOps uses a Git repository as the single source of truth for infrastructure definitions. Simply put, a Git repository is a “.git” folder in a project that tracks all changes made to files in a project. Infrastructure as code (IaC) is the practice of keeping all infrastructure configuration tracked and saved as code files. The actual desired state may or may not be stored as code, depending your approach and organizational policies.
MRs
GitOps uses merge requests as the change process for all infrastructure updates. The merge request (MR) is where teams can collaborate via reviews and comments. The MR could also have a formal approval for changes to take place. A merge commits to your “main” branch is a potential changelog for a later audit and/or troubleshooting when needed.
CI/CD
GitOps automates infrastructure updates using a Git workflow with continuous integration and continuous delivery (CI/CD). When new code is merged, the CI/CD pipeline enacts the change in the environment. Any configuration drift, such as manual changes or errors, is overwritten by GitOps automation so the environment converges on the desired state defined in the Git. GitHub actions uses CI/CD pipelines to manage and implement GitOps automation.
GitOps isnβt a black box anymore. It just takes IaC tools you already know and wraps them in a DevOps-style workflow. This approach provides a better revision tracking, fewer costly errors, and quick, automated infrastructure deployments that can be repeated for on any environment.
By adopting GitOps in your organization, you could improve the developer experience because often-dreaded releases become fully automated. This will allow developers to focus on their code. Teams eliminate or minimize manual steps and make deployments repeatable and reliable.
You could also improve security and standardization by utilizing GitOps. By practicing GitOps, developers have no need to manually access cloud resources and additional security checks can be put in place at the code level in CI/CD pipelines.
I hope you like the GitOps approach and please let me know, what are you working on. Or how you could relate your work to GitOps?
As cloudβοΈ journey matures, each company π¨ knows that service requirements and needs will be changing. As cloud providers add new features and products, the new market opportunities and possibilities will rise.
There are several reasons why you would want to pursue the cloud landing zones. Using the start small and expand landing zone, you could get started with cloud adoption at a low-risk pace, and build up the security, governance, and regulatory policies over time.
As a benefit, with “start small and expand” you can use Azure Resource Manager templates and Azure Policy to create a CI/CD pipelines for subscriptions with Azure Blueprints.
As an ongoing improvement effort, you could expand and improve the landing zone with the Cloud Adoption Framework enterprise-scale design guidelines from Microsoft Azure β’
The Administrative Units (AU) are Azure AD resources which can contain only users and groups.
AUs could manage permissions π‘οΈπ in a role to any segment of your organization. For example, you could use AUs to delegate the User Administrator role to regional support specialists, so they can manage users only in the region that they support.
The AUs are especially helpful when an organization whose IT department is scattered across globe and wants to categorize and define relevant geographical boundaries.
Currently, supported scenarious from Azure AD portal are:
Create administrative units
Add users and groups members of administrative units
Assign IT staff to administrative unit-scoped administrator roles.
My little intro – well, skip this as it might be boring π
Let’s start with a little bit of background to my somewhat unorthodox journey into Azure Developer cert way back in 2018.
Three years ago, I got a beta exam invite for Azure Core Developer (AZ-200) certification. At the time, there were no readily availiable study materials to learn from and prepare. My focus was on the exam objectives document, with a special highlight on Azure services that I did not have a chance to work with.
Long story short, at the end of the exam I did not know if it was a PASS β or not β, as it was a beta exam. However, good and somewhat unexpected “pass news” with a cert email came back in 2 months. I was over the moon π and delighted to be one of the few candidates to succeed. Later, this exam was retired, as most cert nowadays…
Back to the current time, Feb 2021
Today, I was feeling excited & pumped to go after Azure Developer cert (AZ-204) πββοΈπ΄ββοΈπββοΈπͺ – and yes, I posted earlier that I will share the result – either pass or fail.
Well, the good news is – I did not have to wait 2 months to learn the result π It was a pass – and not an easy one though, as there were 60% more materials and more detail oriented questions on different inner workings of Azure services.
Let’s give a round of applause πππ to Microsoft Learn modules and Learning path tracks – as they are getting better and better – and help me to cover this material in a somewhat fun way….
How was my actual exam experience?
The overall experience was exciting π² and scary π± at the same time. Mainly, because of the two case studies appearing at different sections of the exam. Well, at the end of the exam I shared this non pleasant experience by providing feedback β. I think every exam participant should be willing to share their experience, as it will be a good set of metrics for exam creators to assess and modify the exam experience to make it better overall.
Speaking about the exam, I got approximately 50 questionsβ; where two case studies contained approx. 5-7 questions each. My surprise was to discover π, one case study right in the beginning, and another one right at the end of the exam. It threw my timing a little bit off.
So, be prepared to save enough time for exam case studies (yes, there might be more than one, and I had three in the Microsoft exams last year), no matter what, as they consume a considerable chunk of your time and could cause your brain to start steaming β¨ – due to time constraints.
If you are a Cloud Solutions Architect (aka, CSA) you may find certain questions too technical in nature, like knowing the exact sequence of operations to place each task correctly. Well, if you never played with that specific feature then don’t panic. Just focus on the question and use your #quizskills. As an example: I had several educated guesses β – on what might be the right order of operations without knowing 100%.
In the real world, you could easily find your way with a quick search on your favorite engine… but an exam is an exam… and you are not penalized for wrong answers.
Good news is: a certain number of questions are high level, and your current CSA experience will be very handy; like assessing/suggesting the workload for the most effective Azure service or solution based on customer requirements.
Exam duration is180 minutesβ° or 220 min including the feedback time. Generally speaking, this should be enough with a small caveat: You have to plan your time carefully and watch for the exact # of potential questions and remaining case studies of the exam. That said, there were several questions with true/false options, many drag-and-drop scenarios, and multi-select choices that seemed easy and tricky at the same time.
Where should I start my Azure Developer journey?
The official exam page AZ-204 is a really good place to start. Followed by the suggested learning track and modules in the bottom of the page.
The exam page AZ-204 gets even better with a final section on “Exam resources“. I consider this section a REAL “gem” πππ
Dear friends, stay tuned – as your information on how to earn a #free exam voucher is included in this post. Look into Microsoft’s “Cloud Skills Challenge” program below.
FREE exam voucher through Microsoft Cloud Skills Challenge (Expired – Not a Valid anymore)
For a limited time, Microsoft Learn provides a free, interactive way of learning by combining short step-by-step tutorials, browser-based interactive coding and scripting environments, and task-based achievements to help you advance your technical skills while earning achievements.
What are you waiting for? Register today via this link π
That is it folk, I tried to share and illustrate my exam experiences in this post. I hope you will find it helpful and apply to your “Azure developer” certification journey.
Please, feel free to share your experience or thoughts, as i am planning to keep this post up to date with your contributions going forward. #keeplearning
Stay safe and be the 4th with you … #nevergiveup #keeppushing