Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The Azure Blob Storage Connector can be configured using the Rest API. It requires the following entities to be created:

  • Credential
  • Connection
  • Connector
  • Seed

Below are the examples of how to create the Connection and the Seed. For the Connector please check this page.

Easy Heading Free
navigationTitleOn this Page
wrapNavigationTexttrue
navigationExpandOptionexpand-all-by-default

Create Credential


Field

Required

Default

Multiple

NotesExample
typeYes-No

The value must be "azure-blob".

"azure-blob"

descriptionYes-NoName of the credential object.

"Azure Blob StorageCredential"

propertiesYes-NoConfiguration object
storageConnectionStringYes-NoAzure Storage Connection String"DefaultEndpointsProtocol=http;AccountName=myAccount;AccountKey=myKey;"

Example

Code Block
themeRDark
titlePOST aspire/_api/credentials
{
    "type": "<Connector Type>",
    "description": "<Connector Name> Credential",
    "properties": {
		"storageConnectionString": "DefaultEndpointsProtocol=http;AccountName=myAccount;AccountKey=myKey;"
    }
}

Update Credential


Field

Required

Default

Multiple

NotesExample
idYes-NoId of the credential to update."2f287669-d163-4e35-ad17-6bbfe9df3778"
descriptionYes-NoName of the credential object.

"Azure Blob StorageCredential"

propertiesYes-NoConfiguration object
storageConnectionStringYes-NoAzure Storage Connection String"DefaultEndpointsProtocol=http;AccountName=myAccount;AccountKey=myKey;"

Example 

Code Block
themeRDark
titlePUT aspire/_api/credentials/2a5ca234-e328-4d40-bb2a-2df3e550b065
{
    "id": "2a5ca234-e328-4d40-bb2a-2df3e550b065",
    "description": "<Connector Name> Credential",
    "properties": {   
		"storageConnectionString": "DefaultEndpointsProtocol=http;AccountName=myAccount;AccountKey=myKey;"     
	}
}

Create Connection


url-siteCollectionUrlseedsFilePath

Field

Required

Default

Multiple

Notes

Example

typeYes-No

The value must be azure-blob

azure-blob

descriptionYes-NoName of the connection object.

"MyAzure Blob StorageConnection"

throttlePolicyNo-NoId of the throttle policy that applies to this connection object."f5587cee-9116-4011-b3a9-6b235b333a1b"
routingPoliciesNo[ ]YesThe ids of the routing policies that this connection will use.["313de87c-3cb9-4fe0-a2cb-17f75ce7d0c7", "b4d2579f-1a0a-4a8b-9fd4-d42780003b36"]
propertiesYes-NoConfiguration object
sourceTypescanRecursivelyYesNo"useRootURL"TRUENoSource type ("useRootURL", "useSeedsFile")"useRootURL"Select if subfolders are to be scanned.TRUE
scanExcludedItemsNoFALSENoOnly required when sourceType "useRootURL" is selected. Azure Blob Container URL which will serve as the start of the crawl. http://hostname/tennant/blobContainer
useExtraBlobContainersNofalseNoAdd More Azure Blob Containersfalse
siteCollectionsToCrawlNo-YesOnly required when "useExtraBlobContainers" is enabled. List of Azure Blob Container to crawl[{"siteCollectionUrl": "http://hostname/tennant/blobContainer1"},{"siteCollectionUrl": "http://hostname/tennant/blobContainer2"}]
Select so that the scanner will scan sub items of container items excluded by a patternFALSE
includesNo-YesList of regex URL patterns to include[{"include":".*tmp[^/]$"}]
includeNo-NoAzure Blob Container to crawl"http://hostname/tennant/blobContainer1"regex URL patterns to include".*tmp[^/]$"
excludesNo-NoOnly required if sourceType "useSeedsFile" is selected. Seeds File path."/path/to/file"
scanRecursivelyNoTRUENoSelect if subfolders are to be scanned.TRUE
scanExcludedItemsNoFALSENoSelect so that the scanner will scan sub items of container items excluded by a patternFALSE
includesNo-YesList of regex URL patterns to include[{"include":".*tmp[^/]$"}]
includeNo-Noregex URL patterns to include".*tmp[^/]$"
excludesNo-YesList of regex URL patterns to exclude[{"include":".*tmp[^/]$"}]
excludeNo-Noregex URL patterns to exclude".*tmp[^/]$"

Example

YesList of regex URL patterns to exclude[{"include":".*tmp[^/]$"}]
excludeNo-Noregex URL patterns to exclude".*tmp[^/]$"

Example

Code Block
themeRDark
titlePOST aspire/_api/connections
{
    "type": "<Connector Type>",
    "description": "<Connector Name> Test Connector",
Code Block
themeRDark
titlePOST aspire/_api/connections
{
    "typeproperties": "<Connector Type>",
    "description": "<Connector Name> Test Connector",
{
        "propertiesscanRecursively": {true,
        "sourceTypescanExcludedItems": "useRootURL"false,
        "urlincludes": "http://hostname/tennant/blobContainer",
[
           "seedsFilePath": "", {
        "useExtraBlobContainers": true,
         "siteCollectionsToCrawlinclude": ".*tmp[^/]$"
            {}
        ],
        "siteCollectionUrlexcludes": "http://hostname/tennant/blobContainer1"[
            },{
            {
    "exclude": ".*tmp[^/]$"
           "siteCollectionUrl": "http://hostname/tennant/blobContainer2"
            }
 }
        ],
        "scanRecursively": true,
        "scanExcludedItems": false,
        "includes": [
            {
                "include": ".*tmp[^/]$"
            }
        ],
        "excludes": [
            {
                "exclude": }
}

Update Connection


Field

Required

Default

Multiple

Notes

Example

idYes-NoId of the connection to update"89d6632a-a296-426c-adb0-d442adcab4b0",
descriptionNo-NoName of the connection object.

"MyImage AddedConnection"

throttlePolicyNo-NoId of the throttle policy that applies to this connection object."f5587cee-9116-4011-b3a9-6b235b333a1b"
routingPoliciesNo[ ]YesThe ids of the routing policies that this connection will use.["313de87c-3cb9-4fe0-a2cb-17f75ce7d0c7", "b4d2579f-1a0a-4a8b-9fd4-d42780003b36"]
propertiesYes-NoConfiguration object
scanRecursivelyNoTRUENoSelect if subfolders are to be scanned.TRUE
scanExcludedItemsNoFALSENoSelect so that the scanner will scan sub items of container items excluded by a patternFALSE
includesNo-YesList of regex URL patterns to include[{"include":".*tmp[^/]$"}]
includeNo-Noregex URL patterns to include".*tmp[^/]$"
} ] } }
excludesNo-YesList of regex URL patterns to exclude[{"include":".*tmp[^/]$"}]
excludeNo-Noregex URL patterns to exclude".*tmp[^/]$"

Example

Code Block
themeRDark
{
    "id": "

Update Connection

Field

Required

Default

Multiple

Notes

Example

idYes-NoId of the connection to update"
89d6632a-a296-426c-adb0-d442adcab4b0",
descriptionNo-NoName of the connection object.

"MyImage RemovedConnection"

throttlePolicyNo-NoId of the throttle policy that applies to this connection object."f5587cee-9116-4011-b3a9-6b235b333a1b"routingPoliciesNo[ ]YesThe ids of the routing policies that this connection will use.["313de87c-3cb9-4fe0-a2cb-17f75ce7d0c7", "b4d2579f-1a0a-4a8b-9fd4-d42780003b36"]propertiesYes-NoConfiguration objectsourceTypeYes"useRootURL"NoSource type ("useRootURL", "useSeedsFile")"useRootURL"urlNo-NoOnly required when sourceType "useRootURL" is selected. Azure Blob Container URL which will serve as the start of the crawl. http://hostname/tennant/blobContaineruseExtraBlobContainersNofalseNoAdd More Azure Blob ContainersfalsesiteCollectionsToCrawlNo-YesOnly required when "useExtraBlobContainers" is enabled. List of Azure Blob Container to crawl[{"siteCollectionUrl": "http://hostname/tennant/blobContainer1"},{"siteCollectionUrl": "http://hostname/tennant/blobContainer2"}]siteCollectionUrlNo-NoAzure Blob Container to crawl"http://hostname/tennant/blobContainer1"seedsFilePathNo-NoOnly required if sourceType "useSeedsFile" is selected. Seeds File path."/path/to/file"scanRecursivelyNoTRUENoSelect if subfolders are to be scanned.TRUEscanExcludedItemsNoFALSENoSelect so that the scanner will scan sub items of container items excluded by a patternFALSEincludesNo-YesList of regex URL patterns to include[{"include":".*tmp[^/]$"}]includeNo-Noregex URL patterns to include".*tmp[^/]$"excludesNo-YesList of regex URL patterns to exclude[{"include":".*tmp[^/]$"}]excludeNo-Noregex URL patterns to exclude".*tmp[^/]$"

    "description": "<Connector Name> Test Connector",
    "properties": {         
        "scanRecursively": true,
        "scanExcludedItems": false,
        "includes": [
            {
                "include": ".*tmp[^/]$"
            }
        ],
        "excludes": [
            {
                "exclude": ".*tmp[^/]$"
            }
        ]     
	}
}

Create Connector Instance


For the creation of the Connector object using the Rest API check this page

Update Connector Instance


For the update of the Connector object using the Rest API check this page

Create Seed


Field

Required

Default

Multiple

Notes

Example

seedYes-No<seed description>
typeYes-No

The value must be azure-blob.

azure-blob

descriptionYes-NoName of the seed object.

"My Azure Blob Storage Seed"

connectorYes-NoThe id of the connector to be used with this seed. The connector type must match the seed type."82f7f0a4-8d28-47ce-8c9d-e3ca414b0d31"
connectionYes-NoThe id of the connection to be used with this seed. The connection type must match the seed type."602d3700-28dd-4a6a-8b51-e4a663fe9ee6"
workflowsNo[ ]YesThe ids of the workflows that will be executed for the documents crawled.["f8c414cb-1f5d-42ef-9cc9-5696c3f0bda4"]
throttlePolicyNo-NoId of the throttle policy that applies to this connection object."f5587cee-9116-4011-b3a9-6b235b333a1b"
routingPoliciesNo[ ]YesThe ids of the routing policies that this seed will use.["313de87c-3cb9-4fe0-a2cb-17f75ce7d0c7", "b4d2579f-1a0a-4a8b-9fd4-d42780003b36"]
tagsNo[ ]YesThe tags of the seed. These can be used to filter the seed["tag1", "tag2"]
propertiesYes-NoConfiguration object
seedYes-NoThis value must be azure_blob_seedazure_blob_seed
sourceTypeYes"useRootURL"NoSource type ("useRootURL", "useSeedsFile")"useRootURL"
urlNo-NoOnly required when sourceType "useRootURL" is selected. Azure Blob Container URL which will serve as the start of the crawl. http://hostname/tennant/blobContainer
useExtraBlobContainersNofalseNoAdd More Azure Blob Containersfalse
siteCollectionsToCrawlNo-YesOnly required when "useExtraBlobContainers" is enabled. List of Azure Blob Container to crawl[{"siteCollectionUrl": "http://hostname/tennant/blobContainer1"},{"siteCollectionUrl": "http://hostname/tennant/blobContainer2"}]
siteCollectionUrlNo-NoAzure Blob Container to crawl"http://hostname/tennant/blobContainer1"
seedsFilePathNo-NoOnly required if sourceType "useSeedsFile" is selected. Seeds File path."/path/to/file"

Example 

Code Block
themeRDark
titlePOST aspire/_api/seeds
{
    "type": "<Connector Type>",
    "seed": "directory",
    "connector": "82f7f0a4-8d28-47ce-8c9d-e3ca414b0d31",
    "description": "<connector>_Test_Seed",
    "throttlePolicy": "6b8b5f23-fc77-47a1-9b58-106577162e7b",
    "routingPolicies": ["313de87c-3cb9-4fe0-a2cb-17f75ce7d0c7", "b4d2579f-1a0a-4a8b-9fd4-d42780003b36"],
    "connection": "602d3700-28dd-4a6a-8b51-e4a663fe9ee6",
    "workflows": ["f8c414cb-1f5d-42ef-9cc9-5696c3f0bda4"],
    "tags": ["tag1", "tag2"],
    "properties": {

Example

Code Block
themeRDark
{
    "id": "89d6632a-a296-426c-adb0-d442adcab4b0",
    "description": "<Connector Name> Test Connector",
    "properties": {         
		"sourceType": "useRootURL",
        "url": "http://hostname/tennant/blobContainer",
        "seedsFilePath": "",
        "useExtraBlobContainers": true,
        "siteCollectionsToCrawl": [
            {
                "siteCollectionUrl": "http://hostname/tennant/blobContainer1"
            },
            {
                "siteCollectionUrl": "http://hostname/tennant/blobContainer2"
            }
        ],
        "scanRecursively": true,
        "scanExcludedItems": false,
        "includes": [
            {
                "include": ".*tmp[^/]$"
            }
        ],
        "excludesseed": ["azure_blob_seed",
 		"sourceType": "useRootURL",
        "url":  {
"http://hostname/tennant/blobContainer",
        "seedsFilePath": "",
        "excludeuseExtraBlobContainers": ".*tmp[^/]$"true,
         "siteCollectionsToCrawl": [
            }
{
              ]     
	}
}

Create Connector Instance

For the creation of the Connector object using the Rest API check this page

Update Connector Instance

For the update of the Connector object using the Rest API check this page

"siteCollectionUrl": "http://hostname/tennant/blobContainer1"
            },
            {
                "siteCollectionUrl": "http://hostname/tennant/blobContainer2"
            }
        ]
	}
}

Update Seed


Field

Required

Default

Multiple

Notes

Example

id

Create Seed

Field

Required

Default

Multiple

Notes

Example

seedYes-No<seed description>typeYes-No

The value must be azure-blob.

azure-blob

descriptionYes-NoName of the seed object.

"My Azure Blob Storage Seed"

connector
Yes-No
The id
Id of the
connector to be used with this seed. The connector type must match the seed type
seed to update."
82f7f0a4
2f287669-
8d28
d163-
47ce
4e35-
8c9d
ad17-
e3ca414b0d31"connection
6bbfe9df3778"
seedNo-No<seed description>
descriptionNo
Yes
-No
The id
Name of the
connection to be used with this seed. The connection type must match the seed type."602d3700-28dd-4a6a-8b51-e4a663fe9ee6"
seed object.

"MyAzure Blob StorageSeed"

connectorNo-NoThe id of the connector to be used with this seed. The connector type must match the seed type."82f7f0a4-8d28-47ce-8c9d-e3ca414b0d31"
connection
workflowsNo[ ]YesThe ids of the workflows that will be executed for the documents crawled.["f8c414cb-1f5d-42ef-9cc9-5696c3f0bda4"]throttlePolicy
No-No
Id
The id of the
throttle policy that applies to this connection object
connection to be used with this seed. The connection type must match the seed type."
f5587cee
602d3700-
9116
28dd-
4011
4a6a-
b3a9
8b51-
6b235b333a1b
e4a663fe9ee6"
routingPolicies
workflowsNo[ ]YesThe ids of the
routing policies
workflows that
this seed will use
will be executed for the documents crawled.["
313de87c
f8c414cb-
3cb9
1f5d-
4fe0
42ef-
a2cb
9cc9-
17f75ce7d0c7", "b4d2579f-1a0a-4a8b-9fd4-d42780003b36"]
5696c3f0bda4"]
workflows.addNo[ ]YesThe ids of the workflows to add.["f8c414cb-1f5d-42ef-9cc9-5696c3f0bda4"]
workflows.remove
tags
No[ ]YesThe
tags
ids of the
seed. These can be used to filter the seed["tag1", "tag2"]propertiesYes-NoConfiguration objectseedYes-NoThis value must be azure_blob_seedazure_blob_seed

Example 

Code Block
themeRDark
titlePOST aspire/_api/seeds
{ "type": "<Connector Type>", "seed": "directory", "connector": "82f7f0a4-8d28-47ce-8c9d-e3ca414b0d31", "description": "<connector>_Test_Seed", "throttlePolicy": "6b8b5f23-fc77-47a1-9b58-106577162e7b", "routingPolicies":
workflows to remove.["f8c414cb-1f5d-42ef-9cc9-5696c3f0bda4"]
throttlePolicyNo-NoId of the throttle policy that applies to this connection object."f5587cee-9116-4011-b3a9-6b235b333a1b"
routingPoliciesNo[ ]YesThe ids of the routing policies that this seed will use.["313de87c-3cb9-4fe0-a2cb-17f75ce7d0c7", "b4d2579f-1a0a-4a8b-9fd4-d42780003b36"]
routingPolicies.addNo[ ]YesThe ids of the routingPolicies to add.["b4d2579f-1a0a-4a8b-9fd4-d42780003b36"]
routingPolicies.removeNo[ ]YesThe ids of the routingPolicies to remove.
["313de87c-3cb9-4fe0-a2cb-
17f75ce7d0c7", "b4d2579f-1a0a-4a8b-9fd4-d42780003b36"], "connection": "602d3700-28dd-4a6a-8b51-e4a663fe9ee6", "workflows": ["f8c414cb-1f5d-42ef-9cc9-5696c3f0bda4"], "tags": ["tag1", "tag2"], "properties": { "seed": "azure_blob_seed"     } }

Update Seed

Field

Required

Default

Multiple

Notes

Example

idYes-NoId of the seed to update."2f287669-d163-4e35-ad17-6bbfe9df3778"seedNo-No<seed description>descriptionNo-NoName of the seed object.

"MyAzure Blob StorageSeed"

connectorNo-NoThe id of the connector to be used with this seed. The connector type must match the seed type."82f7f0a4-8d28-47ce-8c9d-e3ca414b0d31"connectionNo-NoThe id of the connection to be used with this seed. The connection type must match the seed type."602d3700-28dd-4a6a-8b51-e4a663fe9ee6"workflowsNo[ ]YesThe ids of the workflows that will be executed for the documents crawled.["f8c414cb-1f5d-42ef-9cc9-5696c3f0bda4"]workflows.addNo[ ]YesThe ids of the workflows to add.["f8c414cb-1f5d-42ef-9cc9-5696c3f0bda4"]workflows.removeNo[ ]YesThe ids of the workflows to remove.["f8c414cb-1f5d-42ef-9cc9-5696c3f0bda4"]throttlePolicyNo-NoId of the throttle policy that applies to this connection object."f5587cee-9116-4011-b3a9-6b235b333a1b"routingPoliciesNo[ ]YesThe ids of the routing policies that this seed will use.
17f75ce7d0c7"]
tagsNo[ ]YesThe tags of the seed. These can be used to filter the seed["tag1", "tag3"]
tags.addNo[ ]YesThe tags to add["tag4"]
tags.removeNo[ ]YesThe tags to remove["tag2"]
propertiesYes-NoConfiguration object
seedYes-NoThis value must be azure_blob_seedazure_blob_seed
sourceTypeYes"useRootURL"NoSource type ("useRootURL", "useSeedsFile")"useRootURL"
urlNo-NoOnly required when sourceType "useRootURL" is selected. Azure Blob Container URL which will serve as the start of the crawl. http://hostname/tennant/blobContainer
useExtraBlobContainersNofalseNoAdd More Azure Blob Containersfalse
siteCollectionsToCrawlNo-YesOnly required when "useExtraBlobContainers" is enabled. List of Azure Blob Container to crawl[{"siteCollectionUrl": "http://hostname/tennant/blobContainer1"},{"siteCollectionUrl": "http://hostname/tennant/blobContainer2"}]
siteCollectionUrlNo-NoAzure Blob Container to crawl"http://hostname/tennant/blobContainer1"
seedsFilePathNo-NoOnly required if sourceType "useSeedsFile" is selected. Seeds File path."/path/to/file"

Example 

Code Block
themeRDark
titlePUT aspire/_api/seeds/2f287669-d163-4e35-ad17-6bbfe9df3778
{
    "id": "2f287669-d163-4e35-ad17-6bbfe9df3778",
    "seed": "<seed example>",
    "connector": "82f7f0a4-8d28-47ce-8c9d-e3ca414b0d31",
    "description": "<connector>_Test_Seed",
    "throttlePolicy": "6b8b5f23-fc77-47a1-9b58-106577162e7b",
    "routingPolicies": ["313de87c-3cb9-4fe0-a2cb-17f75ce7d0c7", "b4d2579f-1a0a-4a8b-9fd4-d42780003b36"]
routingPolicies.addNo[ ]YesThe ids of the routingPolicies to add.["b4d2579f-1a0a-4a8b-9fd4-d42780003b36"]routingPolicies.removeNo[ ]YesThe ids of the routingPolicies to remove.["313de87c-3cb9-4fe0-a2cb-17f75ce7d0c7"]tagsNo[ ]YesThe tags of the seed. These can be used to filter the seed["tag1", "tag3"]tags.addNo[ ]YesThe tags to add["tag4"]tags.removeNo[ ]YesThe tags to remove["tag2"]propertiesYes-NoConfiguration objectseedYes-NoThis value must be azure_blob_seedazure_blob_seed

Example 

Code Block
themeRDark
titlePUT aspire/_api/seeds/2f287669-d163-4e35-ad17-6bbfe9df3778
{
    "id": "2f287669-d163-4e35-ad17-6bbfe9df3778",
    "seed": "<seed example>",
    "connector": "82f7f0a4-8d28-47ce-8c9d-e3ca414b0d31",
    "description": "<connector>_Test_Seed",
    "throttlePolicy": "6b8b5f23-fc77-47a1-9b58-106577162e7b",
    "routingPolicies": ["313de87c-3cb9-4fe0-a2cb-17f75ce7d0c7", "b4d2579f-1a0a-4a8b-9fd4-d42780003b36"],
    "connection": "602d3700-28dd-4a6a-8b51-e4a663fe9ee6",
    "workflows": ["b255e950-1dac-46dc-8f86-1238b2fbdf27", "f8c414cb-1f5d-42ef-9cc9-5696c3f0bda4"],
    "tags": ["tag", "tag2"],
    "properties": {        
		"seed": "azure_blob_seed"      ,
    "connection": "602d3700-28dd-4a6a-8b51-e4a663fe9ee6",
    "workflows": ["b255e950-1dac-46dc-8f86-1238b2fbdf27", "f8c414cb-1f5d-42ef-9cc9-5696c3f0bda4"],
    "tags": ["tag", "tag2"],
    "properties": {        
		"seed": "azure_blob_seed",
		"sourceType": "useRootURL",
        "url": "http://hostname/tennant/blobContainer",
        "seedsFilePath": "",
        "useExtraBlobContainers": true,
        "siteCollectionsToCrawl": [
            {
                "siteCollectionUrl": "http://hostname/tennant/blobContainer1"
            },
            {
                "siteCollectionUrl": "http://hostname/tennant/blobContainer2"
            }
        ]   
	}
}