GithubHelp home page GithubHelp logo

Comments (8)

jongio avatar jongio commented on May 31, 2024

@olivierbloch / @chrissie926 / @pierreca / @wickste / @digimaun / @c-ryan-k - Thoughts on this experience? The scenario is that I want to create a device and had trouble discovering how to from the CLI itself (w/o docs). First inclination was to use az iot device. I think we should optimize for that.

Here's what I recommend:

  1. Move commands under az iot hub device-identity to az iot device
  2. Remove az iot hub device-identity

from azure-iot-cli-extension.

digimaun avatar digimaun commented on May 31, 2024

A long time ago (very early iterations), the az iot hub device-identity ... CRUD set of commands used to be under az iot device. Moving closer towards the widely announced release early this year we reformulated the entire command space to this current set.

On one hand, az iot hub device-identity ... makes sense from an Azure IoT architecture perspective (i.e. interacting with device representation (device-identity) on your IoT assets manager (iot hub).

On the other hand az iot device ... is intuitive and fast...you don't have to think about it much. In the reformulated command set this space is primarily for device perspective operation (C2D/D2C messaging, basic device simulation, file upload).

One alternative idea discussed is command aliases (so you can do say az iot hub device-identity create or az iot device create) but I am not a fan of this because the user is overwhelmed with superfluous options ("whats the difference between these device create commands? which should I use?").

Also I would note (an obvious point) that base command name changes are 'heavy operations' in the sense that you have to at least:

  • Deprecate existing stuff (and come up with removal plan)
  • Update downstream/dependent tools and components to use the new stuff
  • Related to last point: Update documentation everywhere...more of a thing for non-automation generated docs.

Thoughts @olivierbloch and @chrissie926 ??

from azure-iot-cli-extension.

jongio avatar jongio commented on May 31, 2024

@c-ryan-k @iluican - Thoughts on this thread?

from azure-iot-cli-extension.

c-ryan-k avatar c-ryan-k commented on May 31, 2024

I do agree that az iot hub device-identity create can be a bit confusing (as well as tedious to type compared to the alternative).

Like @digimaun mentioned, from an architecture perspective it makes sense, however once a 'device-identity' has been created, we then use az iot device to interact with that 'device' (c2d, d2c, etc) - so syntactically at that point we do treat it like a device rather than an identity.

There's also a good point about aliases. I'd have no issue being able to use both, and that might even be the first step towards migrating to only using az iot device in the future.

While it is a bit overwhelming having multiple commands that do the same thing, there might be a chance that they don't in the future.

So to sum up what we currently provide:

  1. az iot hub device-identity
    a. CRUD
    b. Import / Export
    c. List All
  2. az iot device
    a. D2C / C2D
    b. Simulation
    c. File upload

I'd say there's definitely a case to be made for moving / aliasing CRUD operations into az iot device, but what about list, import, and export?

from azure-iot-cli-extension.

jongio avatar jongio commented on May 31, 2024

Thanks Ryan. I would like to see all device commands under az iot device.

from azure-iot-cli-extension.

wickste avatar wickste commented on May 31, 2024

I agree with Jon here. This seems like the right direction.

Anyone know if there is Azure CLI guidance or precedence for deprecating and removing commands? If not, I will follow up on that.

from azure-iot-cli-extension.

digimaun avatar digimaun commented on May 31, 2024

There is precedence. We've deprecated and removed lots of commands in the past. Both in the IoT command module and IoT extension.

from azure-iot-cli-extension.

digimaun avatar digimaun commented on May 31, 2024

Closing the issue as there has not been any discussion or activity for a loong time. Happy to talk more though.

from azure-iot-cli-extension.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.