Azure Digital Twins

Azure Digital Twins is a platform that provides organizations with the foundation they need to create the next generation of IoT solutions. With Azure Digital Twins, you can virtually replicate the physical world by modeling the relationships between people, places, and devices in a special intelligence graph. You can use predefined data schema that are aligned to a solution’s domain-specific needs and that can accelerate and simplify it’s creation. You can query data in the context of a space rather than from disparate sensors. And you can build solutions that scale and replicate across multiple tenants.

More details are available in the Azure Digital Twins documentation. If you have a technical issue, please open a post on the developer forums through Stack Overflow.

  1. Unable to push data for some sensor hardware ids

    I made a setup using the csharp ProvisionSample flow.

    Simplified the user defined function to just set the sensor value in the graph:

    function process(telemetry, executionContext) {

    try {
    // Log SensorId and Message
    log(`Sensor ID: ${telemetry.SensorId}. `);
    log(`Sensor value: ${JSON.stringify(telemetry.Message)}.`);

    // Get sensor metadata
    var sensor = getSensorMetadata(telemetry.SensorId);

    // Retrieve the sensor reading
    var parseReading = JSON.parse(telemetry.Message);

    // Set the sensor reading as the current value for the sensor.
    setSensorValue(telemetry.SensorId, sensor.DataType, parseReading.SensorValue);

    } catch (error) {
    log(`An error has occurred processing the UDF Error: ${error.name} Message ${error.message}.`);
    }
    }

    Created some spaces, with a device in one of them,…

    5 votes
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

    3 comments  ·  Bug  ·  Flag idea as inappropriate…  ·  Admin →
  2. Error 500.600.999.999

    After deleting my Digital Twins instance and deploying one with the same name a few minutes later I can't make any requests to the instance without the following error:

    {
    "error": {
    "code": "500.600.999.999",
    "message": "The underlying provider failed on Open.",
    "innererror": {
    "code": "500.600.999.999",
    "message": "Login failed for user 'ManagementApi'."
    }
    }
    }

    This occurs on a GET request to
    https://<instance-name>.westeurope.azuresmartspaces.net/management/api/v1.0/devices

    4 votes
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Bug  ·  Flag idea as inappropriate…  ·  Admin →
  3. Error when creating a property key of type 'DateTime' and min/max values

    When we specify a min and/or max value for creating a property key of type 'DateTime', we get an error stating that the min/max is invalid.

    According to the doc, ISO8601 datetimes should be used, but:
    - DateTime.ToString("o") gives a value that is too long (more than 20 chars, due to milliseconds);
    - A string like "2000-01-01T00:00:00Z" is not accepted for instance;
    - Tried with epoch notation, no luck either;

    Do you have an example of a proper value? Could the documentation be updated to show such example? Or if it is a bug, then...

    Thanks!

    4 votes
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Bug  ·  Flag idea as inappropriate…  ·  Admin →
  4. Moving a device from a space to another does not automatically move the attached sensors

    Hello,

    I recently moved a device from one spaceId to another via API call from Postman. To my surprise, the sensors attached to that device were still assigned to the previous spaceId. But, in the Azure Digital Twins Graph Viewer, they were properly displayed. Is this a bug in the API or is it a desired behaviour?

    Kind regards,
    Tudor Mazilu

    3 votes
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

    1 comment  ·  Bug  ·  Flag idea as inappropriate…  ·  Admin →
  5. Please fix the ErrorInformation metadata produced in the Open API spec for Digital Twins

    Here's what the API metadata says is produced for ErrorInformation when creating a new Device with a POST call:

    {
    "code": "string",
    "message": "string",
    "target": "string",
    "details": [
    null
    ],
    "exception": {}
    }

    Here's what's actually produced:

    {"error":{"code":"400.600.000.000","message":"Device already exists."}}

    The claimed ErrorInformation object is actually a child of what's produced in the "error" property, rather than being the root object. Please fix this as it is breaking our error handling strategies for Digital Twin.

    2 votes
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Bug  ·  Flag idea as inappropriate…  ·  Admin →
  6. PUT /management/api/v1.0/endpoints/{id}

    Hello,

    I am trying to replace an already existing endpoint to make it point to a different Events Hub instance. Checking the swagger documentation for my Digital Twins, I saw the PUT /endpoints/{id} which should do just that.
    But, I am currently getting a surprising error:
    {
    "error": {
    "code": "400.600.000.000",
    "message": "An eventhub endpoint with DeviceMessage eventType has already been created. Only one endpoint of this combination can be created."
    }
    }

    This is a similar body to the one that I am using:
    {
    "type": "EventHub",
    "eventTypes": [
    "DeviceMessage"
    ],
    "connectionString": "Endpoint=sb://my-namespace.servicebus.windows.net/;SharedAccessKeyName=full-permissions;SharedAccessKey=someKey;EntityPath=my-entity",
    "secondaryConnectionString": "Endpoint=sb://my-namespace.servicebus.windows.net/;SharedAccessKeyName=full-permissions;SharedAccessKey=someKey;EntityPath=my-instance",
    "path": "my-instance"
    }

    Is…

    2 votes
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Bug  ·  Flag idea as inappropriate…  ·  Admin →
  7. Digital Twin service creation flow needs to check for name collisions

    If you pick an obviously used name like "Twins", the service creation flow gives it a green check mark and lets you continue, but when you look at the status later you see deployment failed:

    {
    "code": "DeploymentFailed",
    "message": "At least one resource deployment operation failed. Please list deployment operations for details. Please see https://aka.ms/arm-debug for usage details.",
    "details": [
    {
    "code": "BadRequest",
    "message": "{\r\n \"code\": \"BadRequest\",\r\n \"message\": \"Service 'Twins' is already in use. Please choose a different name.\",\r\n \"details\": {\r\n \"code\": 400\r\n }\r\n}"
    }
    ]
    }

    This should be verified during creation, just like all other services.

    1 vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Bug  ·  Flag idea as inappropriate…  ·  Admin →
  8. Please fix the paging for Devices

    The paging for Devices is broken: the pagination is applied BEFORE the query filter, so unless your desired results are in the "$top" X items, you won't get them.

    1 vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Bug  ·  Flag idea as inappropriate…  ·  Admin →
  • Don't see your idea?

Azure Digital Twins

Categories

Feedback and Knowledge Base