Share via

Unable to view custom connector in Azure IoT Operations Instance

Abby Greentree 271 Reputation points
2026-02-18T22:22:21.29+00:00

In following this tutorial: https://learn.microsoft.com/en-us/azure/iot-operations/develop-edge-apps/howto-develop-akri-connectors#author-connector-metadata-configuration

I have:

  1. Added an Azure Container Registry.
  2. Configured Anonymous Access to the Container Registry.
  3. Add a Registry Endpoint for the Container Registry.
  4. Built and publish the connector image and connector metadata to the container registry using the commands in the tutorial.

When I go to my Azure IoT Operations instance > Connector Templates > Add a Connector, I do not see the custom connector appear in the list. How can I troubleshoot this problem?

Azure IoT Operations
Azure IoT Operations

Azure IoT Operations is a set of modular services enabled by Azure Arc.

0 comments No comments

Answer accepted by question author

  1. Dominic 1,706 Reputation points Microsoft Employee
    2026-02-20T10:30:04.3066667+00:00

    Check that the metadata is correctly configured in the container registry. For example:

    az acr manifest list-metadata yourcontainerregistry.azurecr.io/your-connector-metadata --output table

    Should show something like - the configured media type must be exactly as shown:

    ConfigMediaType                                   CreatedTime                   Digest                                                                   ImageSize    LastUpdateTime                MediaType
    
    ------------------------------------------------  ----------------------------  -----------------------------------------------------------------------  -----------  ----------------------------  ------------------------------------------
    
    application/vnd.microsoft.akri-connector.v1+json  2026-01-12T18:36:10.2713469Z  sha256:0ace9c......  2082         2026-01-12T18:36:10.2713469Z  application/vnd.oci.image.manifest.v1+json
    

2 additional answers

Sort by: Most helpful
  1. Abby Greentree 271 Reputation points
    2026-02-23T18:06:44.4766667+00:00

    @Dominic

    I have confirmed the media type for my metadata artifacts are correct
    application/vnd.microsoft.aio.akri.connectors.v1+json 2026-02-19T14:47:35.1045998Z sha256:6da... 2074 2026-02-19T14:47:35.1045998Z application/vnd.oci.image.manifest.v1+json

    Is there anything else I can check? This is my connector-metadata.json file, which is based on this example.

    {
      "$schema": "https://json.schemastore.org/aio-connector-metadata-9.0-preview.json",
      "name": "RestConnector",
      "description": "Connector for polling a REST server for information",
      "version": "1.0.0",
      "imageConfigurationSettings": {
        "imageName": "RestConnector",
        "tag": "1.0.0"
      },
      "supportedArchitectures": ["linux/amd64"],
      "inboundEndpoints": [
        {
          "endpointType": "Microsoft.Http",
          "version": "2.0",
          "fields": {
            "address": {
              "input": "required",
              "exampleValue": "https://www.contoso.com/someAddress",
              "regex": ["/^(https?:\/\/)?([\\da-z\\.-]+)\\.([a-z\\.]{2,6})([\/\\w \\.-]*)*\/?$/"],
              "description": "The HTTP address to connect to"
            }
          },
          "datasets" : {
            "limits": { 
              "minimum": 0
            },
            "fields": {
              "dataSource": {
                "input": "required",
                "exampleValue": "some/http/path"
              },
              "typeRef": {
                "input": "unsupported"
              }
            },
            "datasetConfigurationSchema" : {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "$id": "https://contoso.com/datasetConfig.schema.json",
              "title": "Dataset Config Schema",
              "description": "The JSON schema for both the default dataset configuration field and all individual dataset-specific configuration fields",
              "type": "object",
              "properties": {
                "SamplingInterval": {
                  "description": "How frequently to sample each dataset by default (in milliseconds)",
                  "type": "integer"
                }
              }
            },
            "dataPoints" : { 
              "limits" : { 
                "minimum":0
              },
              "fields": {
                "dataSource": {
                  "input": "optional",
                  "exampleValue": "some/http/path"
                },
                "typeRef": {
                  "input": "optional"
                }
              }
            }
          }
        }
      ]
    }
    
    0 comments No comments

  2. Alex Burlachenko 20,665 Reputation points MVP Volunteer Moderator
    2026-02-19T12:52:09.3133333+00:00

    hi Abby Greentree,

    if the connector image and metadata were pushed successfully but it does not appear under Connector Templates, the issue is almost always metadata discovery rather than the container image itself.

    Azure iot operations does not discover connectors just because the image exists in ACR. It looks specifically for connector metadata artifacts in the configured registry endpoint, but the metadata must match the expected schema and tag conventions. See the registry endpoint in ur iot operations instance is correctly configured and in Healthy state. Make sure it points to the exact ACR login server where u pushed the metadata, not just the image repository.

    Is connector metadata was pushed correctly and with the expected reference. The metadata must be published as an OCI artifact in the registry, not just as a json file in a repo. Use az acr repository show and az acr repository showtags to confirm the metadata artifact exists.

    Look at the metadata version and API schema match the iot operations version you are running. A schema mismatch can silently prevent listing. iot operations instance has permission to access the ACR.

    Anonymous access is usually not really recommended, if using private ACR, ensure proper identity or pull permissions are configured. And allow some time for catalog refresh. If everything looks correct, loot at iot operations diagnostics logs to see whether metadata parsing or registry access errors are occurring. In most cases the root cause is either metadata not pushed as OCI artifact or registry endpoint misconfiguration.

    rgds,

    Alex


Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.