CLI (v2) Azure Blob datastore YAML schema

Important

This feature is currently in public preview. This preview version is provided without a service-level agreement, and it's not recommended for production workloads. Certain features might not be supported or might have constrained capabilities. For more information, see Supplemental Terms of Use for Microsoft Azure Previews.

Schema

The source JSON schema can be found at https://azuremlschemas.azureedge.net/latest/azureBlob.schema.json. The schema is provided below in JSON and YAML formats for convenience.

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "definitions": {
    "AccountKeySchema": {
      "type": "object",
      "required": [
        "access_key"
      ],
      "properties": {
        "access_key": {
          "title": "access_key",
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "SasTokenSchema": {
      "type": "object",
      "required": [
        "sas_token"
      ],
      "properties": {
        "sas_token": {
          "title": "sas_token",
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "ServicePrincipalSchema": {
      "type": "object",
      "required": [
        "client_id",
        "client_secret",
        "tenant_id"
      ],
      "properties": {
        "authority_uri": {
          "title": "authority_uri",
          "type": "string"
        },
        "client_id": {
          "title": "client_id",
          "type": "string"
        },
        "client_secret": {
          "title": "client_secret",
          "type": "string"
        },
        "resource_url": {
          "title": "resource_url",
          "type": "string"
        },
        "tenant_id": {
          "title": "tenant_id",
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "CertificateSchema": {
      "type": "object",
      "required": [
        "client_id",
        "tenant_id",
        "thumbprint"
      ],
      "properties": {
        "authority_uri": {
          "title": "authority_uri",
          "type": "string"
        },
        "certificate": {
          "title": "certificate",
          "type": "string"
        },
        "client_id": {
          "title": "client_id",
          "type": "string"
        },
        "resource_url": {
          "title": "resource_url",
          "type": "string"
        },
        "tenant_id": {
          "title": "tenant_id",
          "type": "string"
        },
        "thumbprint": {
          "title": "thumbprint",
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "AzureBlobSchema": {
      "type": "object",
      "required": [
        "account_name",
        "container_name",
        "credential",
        "type"
      ],
      "properties": {
        "account_name": {
          "title": "account_name",
          "type": "string"
        },
        "container_name": {
          "title": "container_name",
          "type": "string"
        },
        "credential": {
          "anyOf": [
            {
              "type": "object",
              "$ref": "#/definitions/AccountKeySchema"
            },
            {
              "type": "object",
              "$ref": "#/definitions/SasTokenSchema"
            },
            {
              "type": "object",
              "$ref": "#/definitions/ServicePrincipalSchema"
            },
            {
              "type": "object",
              "$ref": "#/definitions/CertificateSchema"
            }
          ]
        },
        "description": {
          "title": "description",
          "type": "string"
        },
        "endpoint": {
          "title": "endpoint",
          "type": "string"
        },
        "name": {
          "title": "name",
          "type": "string"
        },
        "protocol": {
          "title": "protocol",
          "type": "string"
        },
        "$schema": {
          "title": "$schema",
          "type": "string",
          "readonly": true
        },
        "type": {
          "type": "string",
          "enum": [
            "azure_blob"
          ],
          "title": "type"
        },
        "tags": {
          "title": "tags",
          "type": "object",
          "additionalProperties": {
            "title": "tags",
            "type": "string"
          }
        }
      },
      "additionalProperties": false
    }
  },
  "$ref": "#/definitions/AzureBlobSchema"
}

Remarks

The az ml datastore command can be used for managing Azure Machine Learning datastores.

Next steps