Skip to main content
Version: v1.2.0

Azure Integration Account

Installation

To have access to the following features, you have to import the module:

PS> Install-Module -Name Arcus.Scripting.IntegrationAccount

Uploading schemas into an Azure Integration Account

Upload/update a single, or multiple schemas into an Azure Integration Account.

ParameterMandatoryDescription
ResourceGroupNameyesThe name of the Azure resource group where the Azure Integration Account is located.
NameyesThe name of the Azure Integration Account into which the schemas are to be uploaded/updated.
SchemaFilePathconditionalThe full path of a schema that should be uploaded/updated. (Mandatory if SchemasFolder has not been specified).
SchemasFolderconditionalThe path to a directory containing all schemas that should be uploaded/updated. (Mandatory if SchemaFilePath has not been specified).
ArtifactsPrefixnoThe prefix, if any, that should be added to the schemas before uploading/updating.
RemoveFileExtensionsnoIndicator (switch) whether the extension should be removed from the name before uploading/updating.

Example

Uploading a single schema into an Integration Account.

PS> Set-AzIntegrationAccountSchemas `
-ResourceGroupName 'my-resource-group' `
-Name 'my-integration-account' `
-SchemaFilePath "C:\Schemas\MySchema.xsd"
# Schema 'MySchema.xsd' has been uploaded into the Azure Integration Account 'my-integration-account'

Uploading a single schema into an Integration Account and remove the file-extension.

PS> Set-AzIntegrationAccountSchemas `
-ResourceGroupName 'my-resource-group' `
-Name 'my-integration-account' `
-SchemaFilePath "C:\Schemas\MySchema.xsd" `
-RemoveFileExtensions
# Schema 'MySchema' has been uploaded into the Azure Integration Account 'my-integration-account'

Uploading a single schema into an Integration Account and set add a prefix to the name of the schema within the Integration Account.

PS> Set-AzIntegrationAccountSchemas `
-ResourceGroupName 'my-resource-group' `
-Name 'my-integration-account' `
-SchemaFilePath "C:\Schemas\MySchema.xsd" `
-ArtifactsPrefix 'dev-'
# Schema 'dev-MySchema.xsd' has been uploaded into the Azure Integration Account 'my-integration-account'

Uploading all schemas located in a specific folder into an Integration Account.

PS> Set-AzIntegrationAccountSchemas `
-ResourceGroupName 'my-resource-group' `
-Name 'my-integration-account' `
-SchemasFolder "C:\Schemas"
# Schema 'MyFirstSchema.xsd' has been uploaded into the Azure Integration Account 'my-integration-account'
# Schema 'MySecondSchema.xsd' has been uploaded into the Azure Integration Account 'my-integration-account'

Uploading all schemas located in a specific folder into an Integration Account and remove the file-extension.

PS> Set-AzIntegrationAccountSchemas `
-ResourceGroupName 'my-resource-group' `
-Name 'my-integration-account' `
-SchemasFolder "C:\Schemas" `
-RemoveFileExtensions
# Schema 'MyFirstSchema' has been uploaded into the Azure Integration Account 'my-integration-account'
# Schema 'MySecondSchema' has been uploaded into the Azure Integration Account 'my-integration-account'

Uploading all schemas located in a specific folder into an Integration Account and set add a prefix to the name of the schemas.

PS> Set-AzIntegrationAccountSchemas `
-ResourceGroupName 'my-resource-group' `
-Name 'my-integration-account' `
-SchemasFolder "C:\Schemas" `
-ArtifactsPrefix 'dev-'
# Schema 'dev-MyFirstSchema.xsd' has been uploaded into the Azure Integration Account 'my-integration-account'
# Schema 'dev-MySecondSchema.xsd' has been uploaded into the Azure Integration Account 'my-integration-account'

Uploading maps into an Azure Integration Account

Upload/update a single, or multiple maps into an Azure Integration Account.

ParameterMandatoryDescription
ResourceGroupNameyesThe name of the Azure resource group where the Azure Integration Account is located.
NameyesThe name of the Azure Integration Account into which the maps are to be uploaded/updated.
MapFilePathconditionalThe full path of a map that should be uploaded/updated. (Mandatory if MapsFolder has not been specified).
MapsFolderconditionalThe path to a directory containing all maps that should be uploaded/updated. (Mandatory if MapFilePath has not been specified).
MapTypenoThe type of map to be created, default to 'Xslt'. See possible values here.
ArtifactsPrefixnoThe prefix, if any, that should be added to the maps before uploading/updating.
RemoveFileExtensionsnoIndicator (switch) whether the extension should be removed from the name before uploading/updating.

Example

Uploading a single map into an Integration Account.

PS> Set-AzIntegrationAccountMaps `
-ResourceGroupName 'my-resource-group' `
-Name 'my-integration-account' `
-MapFilePath "C:\Maps\MyMap.xslt"
# Map 'MyMap.xslt' has been uploaded into the Azure Integration Account 'my-integration-account'

Uploading a single map into an Integration Account and remove the file-extension.

PS> Set-AzIntegrationAccountMaps `
-ResourceGroupName 'my-resource-group' `
-Name 'my-integration-account' `
-MapFilePath "C:\Maps\MyMap.xslt" `
-RemoveFileExtensions
# Map 'MyMap' has been uploaded into the Azure Integration Account 'my-integration-account'

Uploading a single map into an Integration Account and set add a prefix to the name of the schema within the Integration Account.

PS> Set-AzIntegrationAccountMaps `
-ResourceGroupName 'my-resource-group' `
-Name 'my-integration-account' `
-MapFilePath "C:\Maps\MyMap.xslt" `
-ArtifactsPrefix 'dev-'
# Map 'dev-MyMap.xsd' has been uploaded into the Azure Integration Account 'my-integration-account'

Uploading all maps located in a specific folder into an Integration Account.

PS> Set-AzIntegrationAccountMaps `
-ResourceGroupName 'my-resource-group' `
-Name 'my-integration-account' `
-MapsFolder "C:\Maps"
# Map 'MyFirstMap.xslt' has been uploaded into the Azure Integration Account 'my-integration-account'
# Map 'MySecondMap.xslt' has been uploaded into the Azure Integration Account 'my-integration-account'

Uploading all maps located in a specific folder into an Integration Account and remove the file-extension.

PS> Set-AzIntegrationAccountMaps `
-ResourceGroupName 'my-resource-group' `
-Name 'my-integration-account' `
-MapsFolder "C:\Maps" `
-RemoveFileExtensions
# Map 'MyFirstMap' has been uploaded into the Azure Integration Account 'my-integration-account'
# Map 'MySecondMap' has been uploaded into the Azure Integration Account 'my-integration-account'

Uploading all maps located in a specific folder into an Integration Account and set add a prefix to the name of the maps.

PS> Set-AzIntegrationAccountMaps `
-ResourceGroupName 'my-resource-group' `
-Name 'my-integration-account' `
-MapsFolder "C:\Maps" `
-ArtifactsPrefix 'dev-'
# Map 'dev-MyFirstMap.xslt' has been uploaded into the Azure Integration Account 'my-integration-account'
# Map 'dev-MySecondMap.xslt' has been uploaded into the Azure Integration Account 'my-integration-account'

Uploading assemblies into an Azure Integration Account

Upload/update a single, or multiple assemblies into an Azure Integration Account.

ParameterMandatoryDescription
ResourceGroupNameyesThe name of the Azure resource group where the Azure Integration Account is located.
NameyesThe name of the Azure Integration Account into which the assemblies are to be uploaded/updated.
AssemblyFilePathconditionalThe full path of an assembly that should be uploaded/updated. (Mandatory if AssembliesFolder has not been specified).
AssembliesFolderconditionalThe path to a directory containing all assemblies that should be uploaded/updated. (Mandatory if AssemblyFilePath has not been specified).
ArtifactsPrefixnoThe prefix, if any, that should be added to the assemblies before uploading/updating.

Example

Uploading a single assembly into an Integration Account.

PS> Set-AzIntegrationAccountAssemblies `
-ResourceGroupName 'my-resource-group' `
-Name 'my-integration-account' `
-AssemblyFilePath "C:\Assemblies\MyAssembly.dll"
# Assembly 'MyAssembly.dll' has been uploaded into the Azure Integration Account 'my-integration-account'

Uploading a single assembly into an Integration Account and set add a prefix to the name of the assembly within the Integration Account.

PS> Set-AzIntegrationAccountAssemblies `
-ResourceGroupName 'my-resource-group' `
-Name 'my-integration-account' `
-AssemblyFilePath "C:\Assemblies\MyAssembly.dll" `
-ArtifactsPrefix 'dev-'
# Assembly 'dev-MyAssembly.dll' has been uploaded into the Azure Integration Account 'my-integration-account'

Uploading all assemblies located in a specific folder into an Integration Account.

PS> Set-AzIntegrationAccountAssemblies `
-ResourceGroupName 'my-resource-group' `
-Name 'my-integration-account' `
-AssembliesFolder "C:\Assemblies"
# Assembly 'MyFirstAssembly.dll' has been uploaded into the Azure Integration Account 'my-integration-account'
# Assembly 'MySecondAssembly.dll' has been uploaded into the Azure Integration Account 'my-integration-account'

Uploading all assemblies located in a specific folder into an Integration Account and set add a prefix to the name of the assemblies.

PS> Set-AzIntegrationAccountAssemblies `
-ResourceGroupName 'my-resource-group' `
-Name 'my-integration-account' `
-AssembliesFolder "C:\Assemblies" `
-ArtifactsPrefix 'dev-'
# Assembly 'dev-MyFirstAssembly.dll' has been uploaded into the Azure Integration Account 'my-integration-account'
# Assembly 'dev-MySecondAssembly.dll' has been uploaded into the Azure Integration Account 'my-integration-account'

Uploading certificates into an Azure Integration Account

Upload/update a single, or multiple certificates into an Azure Integration Account.

ParameterMandatoryDescription
ResourceGroupNameyesThe name of the Azure resource group where the Azure Integration Account is located.
NameyesThe name of the Azure Integration Account into which the certificates are to be uploaded/updated.
CertificateTypeyesThe type of certificate that will be uploaded, this can be either Public or Private.
CertificateFilePathconditionalThe full path of a certificate that should be uploaded/updated. (Mandatory if CertificatesFolder has not been specified).
CertificatesFolderconditionalThe path to a directory containing all certificates that should be uploaded/updated. (Mandatory if CertificateFilePath has not been specified). This parameter is not supported when uploading Private certificates.
KeyNamenoThe name of the key in Azure KeyVault that is used when uploading Private certificates. (Mandatory if CertificateType is set to Private)
KeyVersionnoThe version of the key in Azure KeyVault that is used when uploading Private certificates. (Mandatory if CertificateType is set to Private)
KeyVaultIdnoThe id of the Azure KeyVault that is used when uploading Private certificates. (Mandatory if CertificateType is set to Private)
ArtifactsPrefixnoThe prefix, if any, that should be added to the certificates before uploading/updating.

Example

Uploading a single public certificate into an Integration Account.

PS> Set-AzIntegrationAccountCertificates `
-ResourceGroupName 'my-resource-group' `
-Name 'my-integration-account' `
-CertificateType 'Public' `
-CertificateFilePath "C:\Certificates\MyCertificate.cer"
# Certificate 'MyCertificate.cer' has been uploaded into the Azure Integration Account 'my-integration-account'

Uploading a single public certificate into an Integration Account and set add a prefix to the name of the certificate within the Integration Account.

PS> Set-AzIntegrationAccountCertificates `
-ResourceGroupName 'my-resource-group' `
-Name 'my-integration-account' `
-CertificateType 'Public' `
-CertificateFilePath "C:\Certificates\MyCertificate.cer" `
-ArtifactsPrefix 'dev-'
# Certificate 'dev-MyCertificate.cer' has been uploaded into the Azure Integration Account 'my-integration-account'

Uploading all public certificates located in a specific folder into an Integration Account.

PS> Set-AzIntegrationAccountCertificates `
-ResourceGroupName 'my-resource-group' `
-Name 'my-integration-account' `
-CertificateType 'Public' `
-CertificatesFolder "C:\Certificates"
# Certificate 'MyFirstCertificate.cer' has been uploaded into the Azure Integration Account 'my-integration-account'
# Certificate 'MySecondCertificate.cer' has been uploaded into the Azure Integration Account 'my-integration-account'

Uploading all public assemblies located in a specific folder into an Integration Account and set add a prefix to the name of the certificates.

PS> Set-AzIntegrationAccountCertificates `
-ResourceGroupName 'my-resource-group' `
-Name 'my-integration-account' `
-CertificateType 'Public' `
-CertificatesFolder "C:\Certificates" `
-ArtifactsPrefix 'dev-'
# Certificate 'dev-MyFirstCertificate.cer' has been uploaded into the Azure Integration Account 'my-integration-account'
# Certificate 'dev-MySecondCertificate.cer' has been uploaded into the Azure Integration Account 'my-integration-account'

Uploading a single private certificate into an Integration Account.

PS> Set-AzIntegrationAccountCertificates `
-ResourceGroupName 'my-resource-group' `
-Name 'my-integration-account' `
-CertificateType 'Private' `
-CertificateFilePath "C:\Certificates\MyCertificate.cer" `
-KeyName 'MyKey' `
-KeyVersion 'MyKeyVersion' `
-KeyVaultId '/subscriptions/<subscriptionId>/resourcegroups/<resourceGroup>/providers/microsoft.keyvault/vaults/<keyVault>'
# Certificate 'MyCertificate.cer' has been uploaded into the Azure Integration Account 'my-integration-account'

Uploading a single private certificate into an Integration Account and set add a prefix to the name of the certificate within the Integration Account.

PS> Set-AzIntegrationAccountCertificates `
-ResourceGroupName 'my-resource-group' `
-Name 'my-integration-account' `
-CertificateType 'Private' `
-CertificateFilePath "C:\Certificates\MyCertificate.cer" `
-ArtifactsPrefix 'dev-' `
-KeyName 'MyKey' `
-KeyVersion 'MyKeyVersion' `
-KeyVaultId '/subscriptions/<subscriptionId>/resourcegroups/<resourceGroup>/providers/microsoft.keyvault/vaults/<keyVault>'
# Certificate 'dev-MyCertificate.cer' has been uploaded into the Azure Integration Account 'my-integration-account'

Uploading partners into an Azure Integration Account

Upload/update a single, or multiple partners into an Azure Integration Account.

ParameterMandatoryDescription
ResourceGroupNameyesThe name of the Azure resource group where the Azure Integration Account is located.
NameyesThe name of the Azure Integration Account into which the partners are to be uploaded/updated.
PartnerFilePathconditionalThe full path of a partner that should be uploaded/updated. (Mandatory if PartnersFolder has not been specified).
PartnersFolderconditionalThe path to a directory containing all partners that should be uploaded/updated. (Mandatory if PartnerFilePath has not been specified).
ArtifactsPrefixnoThe prefix, if any, that should be added to the partners before uploading/updating.

Example

Uploading a single partner into an Integration Account.

PS> Set-AzIntegrationAccountPartners `
-ResourceGroupName 'my-resource-group' `
-Name 'my-integration-account' `
-PartnerFilePath "C:\Partners\MyPartner.json"
# Partner 'MyPartner.json' has been uploaded into the Azure Integration Account 'my-integration-account'

Uploading a single partner into an Integration Account and set add a prefix to the name of the partner within the Integration Account.

PS> Set-AzIntegrationAccountPartners `
-ResourceGroupName 'my-resource-group' `
-Name 'my-integration-account' `
-PartnerFilePath "C:\Partners\MyPartner.json" `
-ArtifactsPrefix 'dev-'
# Partner 'dev-MyPartner.json' has been uploaded into the Azure Integration Account 'my-integration-account'

Uploading all partners located in a specific folder into an Integration Account.

PS> Set-AzIntegrationAccountPartners `
-ResourceGroupName 'my-resource-group' `
-Name 'my-integration-account' `
-PartnersFolder "C:\Partners"
# Partner 'MyFirstPartner.json' has been uploaded into the Azure Integration Account 'my-integration-account'
# Partner 'MySecondPartner.json' has been uploaded into the Azure Integration Account 'my-integration-account'

Uploading all partners located in a specific folder into an Integration Account and set add a prefix to the name of the partners.

PS> Set-AzIntegrationAccountPartners `
-ResourceGroupName 'my-resource-group' `
-Name 'my-integration-account' `
-PartnersFolder "C:\Partners" `
-ArtifactsPrefix 'dev-'
# Partner 'dev-MyFirstPartner.json' has been uploaded into the Azure Integration Account 'my-integration-account'
# Partner 'dev-MySecondPartner.json' has been uploaded into the Azure Integration Account 'my-integration-account'

Partner JSON Example The partner definition is the JSON representation of your partner, this JSON definition can also be viewed in the Azure Portal using https://docs.microsoft.com/en-us/azure/logic-apps/logic-apps-enterprise-integration-partners#edit-a-partner and clicking on Edit as JSON.

An example of this file
{
"name": "MyPartner",
"properties": {
"partnerType": "B2B",
"content": {
"b2b": {
"businessIdentities": [
{
"qualifier": "1",
"value": "12345"
},
{
"qualifier": "1",
"value": "54321"
}
]
}
}
}
}

Uploading agreements into an Azure Integration Account

Upload/update a single, or multiple agreements into an Azure Integration Account.

ParameterMandatoryDescription
ResourceGroupNameyesThe name of the Azure resource group where the Azure Integration Account is located.
NameyesThe name of the Azure Integration Account into which the agreements are to be uploaded/updated.
AgreementFilePathconditionalThe full path of a agreement that should be uploaded/updated. (Mandatory if AgreementsFolder has not been specified).
AgreementsFolderconditionalThe path to a directory containing all agreements that should be uploaded/updated. (Mandatory if AgreementFilePath has not been specified).
ArtifactsPrefixnoThe prefix, if any, that should be added to the agreements before uploading/updating.

Example

Uploading a single agreement into an Integration Account.

PS> Set-AzIntegrationAccountAgreements `
-ResourceGroupName 'my-resource-group' `
-Name 'my-integration-account' `
-AgreementFilePath "C:\Agreements\MyAgreement.json"
# Agreement 'MyAgreement' has been uploaded into the Azure Integration Account 'my-integration-account'

Uploading a single agreement into an Integration Account and set add a prefix to the name of the agreement within the Integration Account.

PS> Set-AzIntegrationAccountAgreements `
-ResourceGroupName 'my-resource-group' `
-Name 'my-integration-account' `
-AgreementFilePath "C:\Agreements\MyAgreement.json" `
-ArtifactsPrefix 'dev-'
# Agreement 'dev-MyAgreement' has been uploaded into the Azure Integration Account 'my-integration-account'

Uploading all agreements located in a specific folder into an Integration Account.

PS> Set-AzIntegrationAccountAgreements `
-ResourceGroupName 'my-resource-group' `
-Name 'my-integration-account' `
-AgreementsFolder "C:\Agreements"
# Agreement 'MyFirstAgreement' has been uploaded into the Azure Integration Account 'my-integration-account'
# Agreement 'MySecondAgreement' has been uploaded into the Azure Integration Account 'my-integration-account'

Uploading all agreements located in a specific folder into an Integration Account and set add a prefix to the name of the agreements.

PS> Set-AzIntegrationAccountAgreements `
-ResourceGroupName 'my-resource-group' `
-Name 'my-integration-account' `
-AgreementsFolder "C:\Agreements" `
-ArtifactsPrefix 'dev-'
# Agreement 'dev-MyFirstAgreement' has been uploaded into the Azure Integration Account 'my-integration-account'
# Agreement 'dev-MySecondAgreement' has been uploaded into the Azure Integration Account 'my-integration-account'

Agreement JSON Example The agreement definition is the JSON representation of your agreement, this JSON definition can also be viewed in the Azure Portal using https://docs.microsoft.com/en-us/azure/logic-apps/logic-apps-enterprise-integration-agreements#edit-an-agreement and clicking on Edit as JSON.

An example of this file
{
"name": "MyAgreement",
"properties": {
"hostPartner": "Partner1",
"guestPartner": "Partner2",
"hostIdentity": {
"qualifier": "1",
"value": "12345"
},
"guestIdentity": {
"qualifier": "1",
"value": "98765"
},
"agreementType": "AS2",
"content": {
"aS2": {
"receiveAgreement": {
"protocolSettings": {
"messageConnectionSettings": {
"ignoreCertificateNameMismatch": false,
"supportHttpStatusCodeContinue": true,
"keepHttpConnectionAlive": true,
"unfoldHttpHeaders": true
},
"acknowledgementConnectionSettings": {
"ignoreCertificateNameMismatch": false,
"supportHttpStatusCodeContinue": false,
"keepHttpConnectionAlive": false,
"unfoldHttpHeaders": false
},
"mdnSettings": {
"needMDN": false,
"signMDN": false,
"sendMDNAsynchronously": false,
"dispositionNotificationTo": "http://localhost",
"signOutboundMDNIfOptional": false,
"sendInboundMDNToMessageBox": true,
"micHashingAlgorithm": "SHA1"
},
"securitySettings": {
"overrideGroupSigningCertificate": false,
"enableNRRForInboundEncodedMessages": false,
"enableNRRForInboundDecodedMessages": false,
"enableNRRForOutboundMDN": false,
"enableNRRForOutboundEncodedMessages": false,
"enableNRRForOutboundDecodedMessages": false,
"enableNRRForInboundMDN": false
},
"validationSettings": {
"overrideMessageProperties": false,
"encryptMessage": false,
"signMessage": false,
"compressMessage": false,
"checkDuplicateMessage": false,
"interchangeDuplicatesValidityDays": 5,
"checkCertificateRevocationListOnSend": false,
"checkCertificateRevocationListOnReceive": false,
"encryptionAlgorithm": "DES3",
"signingAlgorithm": "Default"
},
"envelopeSettings": {
"messageContentType": "text/plain",
"transmitFileNameInMimeHeader": false,
"fileNameTemplate": "%FILE().ReceivedFileName%",
"suspendMessageOnFileNameGenerationError": true,
"autogenerateFileName": false
},
"errorSettings": {
"suspendDuplicateMessage": false,
"resendIfMDNNotReceived": false
}
},
"senderBusinessIdentity": {
"qualifier": "1",
"value": "9876"
},
"receiverBusinessIdentity": {
"qualifier": "1",
"value": "1234"
}
},
"sendAgreement": {
"protocolSettings": {
"messageConnectionSettings": {
"ignoreCertificateNameMismatch": false,
"supportHttpStatusCodeContinue": true,
"keepHttpConnectionAlive": true,
"unfoldHttpHeaders": true
},
"acknowledgementConnectionSettings": {
"ignoreCertificateNameMismatch": false,
"supportHttpStatusCodeContinue": false,
"keepHttpConnectionAlive": false,
"unfoldHttpHeaders": false
},
"mdnSettings": {
"needMDN": false,
"signMDN": false,
"sendMDNAsynchronously": false,
"dispositionNotificationTo": "http://localhost",
"signOutboundMDNIfOptional": false,
"sendInboundMDNToMessageBox": true,
"micHashingAlgorithm": "SHA1"
},
"securitySettings": {
"overrideGroupSigningCertificate": false,
"enableNRRForInboundEncodedMessages": false,
"enableNRRForInboundDecodedMessages": false,
"enableNRRForOutboundMDN": false,
"enableNRRForOutboundEncodedMessages": false,
"enableNRRForOutboundDecodedMessages": false,
"enableNRRForInboundMDN": false
},
"validationSettings": {
"overrideMessageProperties": false,
"encryptMessage": false,
"signMessage": false,
"compressMessage": false,
"checkDuplicateMessage": false,
"interchangeDuplicatesValidityDays": 5,
"checkCertificateRevocationListOnSend": false,
"checkCertificateRevocationListOnReceive": false,
"encryptionAlgorithm": "DES3",
"signingAlgorithm": "Default"
},
"envelopeSettings": {
"messageContentType": "text/plain",
"transmitFileNameInMimeHeader": false,
"fileNameTemplate": "%FILE().ReceivedFileName%",
"suspendMessageOnFileNameGenerationError": true,
"autogenerateFileName": false
},
"errorSettings": {
"suspendDuplicateMessage": false,
"resendIfMDNNotReceived": false
}
},
"senderBusinessIdentity": {
"qualifier": "1",
"value": "1234"
},
"receiverBusinessIdentity": {
"qualifier": "1",
"value": "9876"
}
}
}
}
}
}