Inleiding
De Workspace 365 Provisioning API is bedoeld voor het inrichten en beheren van Workspace 365-resources. De API gebruikt een REST-achtige interface, wat betekent dat je in plaats van acties/methoden aan te roepen, de actie definieert die je op een resource wilt uitvoeren via de HTTP-METHOD (d.w.z. GET, POST, PUT en DELETE) en JSON gebruikt als gegevensprotocol.
Vereisten
Om toegang te krijgen tot de Provisioning API moet er bij elk verzoek een zogenaamde Provisioning Key worden verstrekt.
Deze sleutel wordt gegeven tijdens de lancering van de Workspace. Met deze sleutel kun je je hele instantie beheren, bijvoorbeeld het aanmaken of verwijderen van tenants. Dit is zeer gevoelige informatie en moet binnen je organisatie bekend zijn. Als je de sleutel bent kwijtgeraakt, dien dan een supportticket in.
De Provisioning Key wordt verstrekt via de waarde van een header genaamd ProvisioningKey. Bij elk verzoek wordt een extra header meegeleverd: X-Requested-With: XMLHttpRequest.
Er is geen GUI of een manier om de API vanuit de Workspace te bekijken. We beschrijven de beschikbare eindpunten en hun gegevensobjecten per resourcetype. Bij elk eindpunt is een voorbeeld van het verzoek inbegrepen. Deze voorbeelden gaan ervan uit dat Workspace 365 de volgende instellingen heeft:
Workspace 365 is gehost op https://yourworkspace365instance.url
De Provisioning Key is 00000000-0000-0000-0000-000000000000
Houd er rekening mee dat dit voorbeeldwaarden zijn. Controleer je eigen waarden op je eigen instantie.
Provisioning API ingeschakeld
Alleen zelf-gehoste partners moeten controleren of de Provisioning API is ingeschakeld. Voor ons gehoste platform is dit standaard ingeschakeld.
Dit is te vinden in NDAW.WebApp.config met de naam ProvisioningApiEnabled en moet worden ingesteld op True of False, bijvoorbeeld;
<setting name="ProvisioningApiEnabled" serializeAs="String"> <value>TRUE</value> </setting>
ProvisioningKey
Wordt gebruikt om de waarde van de Provisioning Key aan te geven die wordt gebruikt om te authenticeren bij de API. De provisioning key wordt gegeven wanneer je begint als partner en moet binnen je organisatie bekend zijn.
Zelf-gehoste partners kunnen dit vinden in NDAW.WebApp.config met de naam ProvisioningKey, dit moet worden ingesteld op een niet-lege stringwaarde, bijvoorbeeld:
<setting name="ProvisioningKey" serializeAs="String"> <value>00000000-0000-0000-0000-000000000000</value> </setting>
Gehoste partners die hun provisioning key kwijt zijn, kunnen een nieuwe aanvragen. We kunnen geen bestaande provisioning keys verstrekken of verifiëren.
Preview API's
Import/export van omgevingsconfiguratie
Onderdelen die we momenteel exporteren/importeren zijn:
Aangepaste app-afbeeldingen
Apps (zowel geïnstalleerd uit de catalogus als aangepaste)
Standaard workspace template
Gedeelde tegelgroepen
Gedeelde ruimtes
Opmerking: Niet alle apps worden gelijk geëxporteerd/geïmporteerd. Apps die een relatie hebben met andere configuraties (bijvoorbeeld Clientless RDP of Business App) worden slechts gedeeltelijk geëxporteerd/geïmporteerd. Je moet ze daarna bijwerken.
Eindpunten
Omgeving
POST
/Provisioning/Environment/?version=2.0
Creëert een omgeving en een gebruiker met beheerdersrechten met een tijdelijk wachtwoord. Versie 2
Naam | Gelegen in | Omschrijving | Verplicht |
Omgeving | Body | Omgeving op te Creëren | Ja |
Schema:
{ EmailAddress:
string (email)
Email address of the admin
EnvironmentName: string
Name of the environment
FirstName: string
First name of the admin
LastName: string
Last name of the admin
}Code | Omschrijving | Schema |
200 | Naam van de gecreëerde omgeving. Deze waarde kan verschillen van de ingevoerde gegevens omdat deze is gesaneerd. | { |
400 | Lijst van validatieresultaten | [ValidationResult] |
403 | De provisioning key in de configuratie is niet gedefinieerd of leeg. De provisioning API is niet ingeschakeld in de configuratie. De provisioning key in de header komt niet overeen met de geconfigureerde waarde. |
|
500 | Interne serverfout. Dit kan worden veroorzaakt door het doorgeven van een onjuist gegevensobject |
|
Voorbeeld
POST https://workspace365instance.url/Provisioning/Environment/?version=2.0 HTTP/1.1
Accept: application/json
Content-Length: 148
Content-Type: application/json
ProvisioningKey: 00000000-0000-0000-0000-000000000000
Host: yourworkspace365instance.url
X-Requested-With: XMLHttpRequest{
"EnvironmentName": "{EnvironmentName}",
"EmailAddress": "admin@example.com",
"FirstName": "Admin",
"LastName": "-"
}
PUT
/Provisioning/Environment/{EnvironmentName}/Activate
Activeert de omgeving
Naam | Gelegen in | Omschrijving | Verplicht |
Omgevingsnaam | Pad | Naam van de omgeving | Ja |
Schema
string
Antwoorden
Code | Beschijving | Schema |
200 | De omgeving is actief
| string |
403 | De provisioning key in de configuratie is niet gedefinieerd of leeg. De provisioning API is niet ingeschakeld in de configuratie. De provisioning key in de header komt niet overeen met de geconfigureerde waarde. | [ValidationResult] |
404 | De bron is niet gevonden |
|
411 | De header “Content-Length: 0” ontbreekt |
|
500 | Interne serverfout. Dit kan worden veroorzaakt door het doorgeven van een onjuist gegevensobject |
|
Voorbeeld
PUT https://workspace365instance.url/Provisioning/Environment/{EnvironmentName}/Activate/ HTTP/1.1 Accept: application/json Content-Length: 0 ProvisioningKey: 00000000-0000-0000-0000-000000000000 Host: yourworkspace365instance.url X-Requested-With: XMLHttpRequestPUT
/Provisioning/Environment/{EnvironmentName}/Deactivate
Deactiveert de omgeving
Naam | Gelegen in | Omschrijving | Verplicht |
Omgevingsnaam | Pad | Naam van de omgeving | Ja |
Antwoorden
Code | Omschrijving | Schema |
200 | De omgeving is gedeactiveerd | string |
403 | De provisioning key in de configuratie is niet gedefinieerd of leeg. De provisioning API is niet ingeschakeld in de configuratie. De provisioning key in de header komt niet overeen met de geconfigureerde waarde. | [ValidationResult] |
404 | De bron is niet gevonden |
|
411 | De header “Content-Length: 0” ontbreekt |
|
500 | Interne serverfout. Dit kan worden veroorzaakt door het doorgeven van een onjuist gegevensobject |
|
Voorbeeld
PUT https://workspace365instance.url/Provisioning/Environment/{EnvironmentName}/Deactivate/ HTTP/1.1 Accept: application/json Content-Length: 0 ProvisioningKey: 00000000-0000-0000-0000-000000000000 Host: yourworkspace365instance.url X-Requested-With: XMLHttpRequestDELETE
/Provisioning/Environment/{EnvironmentName}/
Verwijdert de omgeving
Naam | Gelegen in | Omschrijving | Verplicht |
Omgevingsnaam | Pad | Naam van de omgeving | Ja |
Schema
string
Antwoorden
Code | Omschrijving | Schema |
200 | De omgeving is verwijderd | string |
403 | De provisioning key in de configuratie is niet gedefinieerd of leeg. De provisioning API is niet ingeschakeld in de configuratie. De provisioning key in de header komt niet overeen met de geconfigureerde waarde. | [ValidationResult] |
404 | De bron is niet gevonden |
|
500 | Interne serverfout. Dit kan worden veroorzaakt door het doorgeven van een onjuist gegevensobject |
|
Voorbeeld
DELETE https://workspace365instance.url/Provisioning/Environment/{EnvironmentName}/ HTTP/1.1 Accept: application/json ProvisioningKey: 00000000-0000-0000-0000-000000000000 Host: yourworkspace365instance.url X-Requested-With: XMLHttpRequest GET
/Provisioning/Environment/
Haalt een lijst met omgevingen op
Antwoorden
Code | Omschrijving | Schema |
200 | De omgevingen | [ |
403 | De provisioning key in de configuratie is niet gedefinieerd of leeg. De provisioning API is niet ingeschakeld in de configuratie. De provisioning key in de header komt niet overeen met de geconfigureerde waarde. |
|
500 | Interne serverfout. Dit kan worden veroorzaakt door het doorgeven van een onjuist gegevensobject |
|
Voorbeelden
GET https://workspace365instance.url/Provisioning/Environment/ HTTP/1.1 Accept: application/json Host: yourworkspace365instance.url ProvisioningKey: 00000000-0000-0000-0000-000000000000 X-Requested-With: XMLHttpRequest
SSO
Dit eindpunt kan worden gebruikt om SSO opnieuw te configureren indien nodig. Raadpleeg dit artikel voor instructies hoe dit te doen.
PUT
/Provisioning/{EnvironmentName}/SingleSignOnSettings/OAuth2/
Stelt instellingen in voor OAuth2-authenticatie (niet beschikbaar wanneer gehost on-premises)
Naam | Gelegen in | Omschrijving | Verplicht | Naam |
Omgevingsnaam | Pad | Naam van de omgeving | Ja | Omgevingsnaam |
Instellingen | Body | OAuth2-instellingen om te gebruiken
| Ja | { |
Antwoorden
Code | Omschrijving | Schema |
200 | Succes |
|
400 | Lijst van validatieresultaten | [ValidationResult] |
403 | De provisioning key in de configuratie is niet gedefinieerd of leeg. De provisioning API is niet ingeschakeld in de configuratie. De provisioning key in de header komt niet overeen met de geconfigureerde waarde. |
|
404 | De bron is niet gevonden
|
|
500 | Interne serverfout. Dit kan worden veroorzaakt door het doorgeven van een onjuist gegevensobject |
|
Voorbeeld
PUT https://workspace365instance.url/Provisioning/example/SingleSignOnSettings/OAuth2/ HTTP/1.1 Accept: application/json Content-Length: 184 Content-Type: application/json Host: workspace365instance.url ProvisioningKey: 00000000-0000-0000-0000-000000000000 X-Requested-With: XMLHttpRequest { "Authority": "https://login.windows.net/company.onmicrosoft.com/", "ClientId": "6ace5d40-604c-5b2a-102e-513d21132da8c", "Key": "3e9jCju7tv7f9tz6BPjC711jupUUTF8BSqSAS7+asB=" }
Licenties
Zelf-gehost? Je moet minimaal v4.3 draaien om deze API te gebruiken.
Versie 3.5
De Licensing API V3.5 moet worden gebruikt terwijl we overstappen van het Simplify/Adapt/Boost-licentiesysteem naar het Module-licentiesysteem (Hybrid/Engage/Unify). We bieden ook een Power BI-dashboard voor beide API's die je kunt gebruiken voor rapportage.
GET
/Provisioning/{EnvironmentName}/Licensing/?version=3.5
Haalt de licentiesamenvatting, modulesamenvatting en klantinformatie op
Naam | Gelegen in | Omschrijving | Benodigd | Schema |
Omgevingsnaam | Pad | Naam van de omgeving | Ja | string |
Responses
Code | Omschrijving | Schema |
200 | De licentiesamenvatting | { |
403 | De provisioning key in de configuratie is niet gedefinieerd of leeg. De provisioning API is niet ingeschakeld in de configuratie. De provisioning key in de header komt niet overeen met de geconfigureerde waarde. |
|
404 | De bron is niet gevonden. |
|
500 | Interne serverfout. Dit kan worden veroorzaakt door het doorgeven van een onjuist gegevensobject. |
|
Voorbeeld
GET https://portal.workspace365.net/Provisioning/example/Licensing/?version=3.5 HTTP/1.1 Accept: application/json Host: yourworkspace365instance.url ProvisioningKey: 00000000-0000-0000-0000-000000000000 X-Requested-With: XMLHttpRequest
Versie 4.0
GET
/Provisioning/{EnvironmentName}/Licensing/?version=4.0
Haalt de modulesamenvatting en klantinformatie op
Naam | Gelegen in | Omschrijving | Benodigd | Schema |
Omgevingsnaam | Pad | Naam van de omgeving | Ja | string |
Antwoorden
Code | Omschrijving | Schema |
200 | De licentiesamenvatting | { |
403 | De provisioning key in de configuratie is niet gedefinieerd of leeg. De provisioning API is niet ingeschakeld in de configuratie. De provisioning key in de header komt niet overeen met de geconfigureerde waarde. |
|
404 | De bron is niet gevonden. |
|
500 | Interne serverfout. Dit kan worden veroorzaakt door het doorgeven van een onjuist gegevensobject. |
|
Voorbeeld
GET https://portal.workspace365.net/Provisioning/example/Licensing/?version=4.0 HTTP/1.1 Accept: application/json Host: yourworkspace365instance.url ProvisioningKey: 00000000-0000-0000-0000-000000000000 X-Requested-With: XMLHttpRequest
Template
GET
/Provisioning/Environment/{EnvironmentName}/Export/
Het GET-verzoek haalt het volgende op uit de omgeving:
Aangepaste app-afbeeldingen
Apps (zowel geïnstalleerd uit de catalogus als aangepaste)
Niet alle apps worden gelijk geëxporteerd/geïmporteerd. Apps die een relatie hebben met andere configuraties (bijv. Clientless RDP of andere integraties) worden slechts gedeeltelijk geëxporteerd/geïmporteerd. Je moet deze bijwerken na het importeren.
Standaard workspace template
Gedeelde tegelgroepen
Gedeelde ruimtes
Naam | Gelegen in | Omschrijving | Schema |
Omgevingsnaam | Pad | Naam van de omgeving | string |
Responses
Code | Omschrijving | Schema |
200 | De geëxporteerde omgevingsconfiguratie
| EnvironmentConfiguration |
400 | Validatieprobleem, controleer het foutresponsgegevensformaat
| ApiErrorResponse |
401, 403 |
|
|
404 | De bron is niet gevonden |
|
500 | Interne serverfout. Dit kan worden veroorzaakt door het doorgeven van een onjuist gegevensobject |
|
Voorbeeldverzoek
GET https://workspace365instance.url/Provisioning/Environment/{EnvironmentName}/Export/ HTTP/1.1
Accept: application/json
Host: yourworkspace365instance.url
ProvisioningKey: 00000000-0000-0000-0000-000000000000
X-Requested-With: XMLHttpRequestVoorbeeldantwoord
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"exportImportInfo": {
"hostingInstanceId": "1cfaad2e-1b58-4dbe-5312-163bbd8a6bd8",
"version": 1,
"exportDateTime": "2019-10-30T15:25:58.9942878+01:00"
},
"appImages": [],
"tileGroups": [
{
"name": "How To",
"type": 2,
"order": 1,
"isNewTilesTarget": false,
"tiles": [
{
"installedAppId": 1,
"name": null,
"appImage": null,
"parameters": null,
"position": {
"column": 0,
"row": 0
},
"dimension": {
"columnSpan": 8,
"rowSpan": 8
},
"color": null
}
]
},
{
"name": "To-Do",
"type": 3,
"order": 1,
"isNewTilesTarget": false,
"tiles": [
{
"installedAppId": 2,
"name": null,
"appImage": null,
"parameters": null,
"position": {
"column": 0,
"row": 0
},
"dimension": {
"columnSpan": 8,
"rowSpan": 8
},
"color": null
}
]
}
],
"apps": [
{
"id": 1,
"appId": 1,
"type": null,
"name": null,
"parameters": null,
"image": null,
"color": null,
"everyoneHasAccess": true,
"maintenanceWindow": null,
"conditionalAccessPolicy": null
},
{
"id": 2,
"appId": 2,
"type": null,
"name": null,
"parameters": null,
"image": null,
"color": null,
"everyoneHasAccess": true,
"maintenanceWindow": null,
"conditionalAccessPolicy": null
}
]
}
PUT
/Provisioning/Environment/{EnvironmentName}/Import/
Importeert een omgevingsconfiguratie
Een omgevingsconfiguratie kan alleen worden geïmporteerd in een omgeving die aan de volgende criteria voldoet:
Omgeving heeft slechts 1 gebruiker, de beheerder
Geen aangepaste apps geconfigureerd
Geen aangepaste app-pictogrammen toegevoegd
Geen tegelgroepen geconfigureerd
Geen gedeelde ruimtes geconfigureerd, alleen de persoonlijke ruimte van de beheerder moet bestaan
Als aan een van deze vereisten niet wordt voldaan, retourneert het verzoek een fout 400 met de respons "Omgeving is niet leeg".
Naam | Gelegen in | Omschrijving | Schema |
Omgevingsnaam | Pad | Naam van de omgeving | string |
Configuratie | Body | De configuratie die is gemaakt tijdens de export | EnvironmentConfiguration |
Antwoorden
Code | Description | Schema |
200 | Success |
|
400 | Validatieprobleem, controleer het foutresponsgegevensformaat | ValidationResult |
401, 403 |
|
|
404 | De bron is niet gevonden |
|
500 | Interne serverfout. Dit kan worden veroorzaakt door het doorgeven van een onjuist gegevensobject |
|
Voorbeeldverzoek:
PUT https://workspace365instance.url/Provisioning/Environment/{EnvironmentName}/Import/ HTTP/1.1
Accept: application/json
Content-Length: 23965
Content-Type: application/json
Host: yourworkspace365instance.url
ProvisioningKey: 00000000-0000-0000-0000-000000000000
X-Requested-With: XMLHttpRequestVoorbeeldantwoord:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Email (Exchange)
PUT
/Provisioning/{EnvironmentName}/ExchangeSettings/
Stelt de instellingen van de Exchange-diensten in
Houd er rekening mee dat de PowerShellUrl is verouderd. Dit eindpunt blijft werken, maar zonder de mogelijkheid om de PowerShellUrl in te stellen. Zie dit artikel voor meer informatie.
Naam | Gelegen in | Omschrijving | Benodigd | Schema |
Omgevingsnaam | Pad | Naam van de omgeving | Ja | string |
Settings | Body | Exchange-instellingen om te gebruiken | Ja | { |
Antwoorden
Code | Omschrijving | Schema |
200 | Succes |
|
400 | Lijst van validatieresultaten
| [ValidationResult] |
403 |
|
|
404 | De bron is niet gevonden |
|
500 | Interne serverfout. Dit kan worden veroorzaakt door het doorgeven van een onjuist gegevensobject |
|
Voorbeeld
PUT https://workspace365instance.url/Provisioning/{EnvironmentName}/ExchangeSettings/ HTTP/1.1 Accept: application/json Content-Length: 178 Content-Type: application/json Host: yourworkspace365instance.url ProvisioningKey: 00000000-0000-0000-0000-000000000000 X-Requested-With: XMLHttpRequest{ "ServerType": "Office365", "DefaultEwsUrl": "https://outlook.office365.com/ews/exchange.asmx" }
SharePoint
PUT
/Provisioning/{EnvironmentName}/SharePointSettings/
Stelt de instellingen van de SharePoint-diensten in.
Houd er rekening mee dat je de SharePoint-URL van een bestaande omgeving niet kunt wijzigen met deze API. De waarde "DefaultUrl" werkt een veld bij dat alleen wordt gebruikt bij het voor de eerste keer inloggen in een nieuw gecreëerde omgeving als de beheerder die de omgeving heeft gecreëerd.
Naam | Gelegen in | Omschrijving | Benodigd | Schema |
Omgevingsnaam | Pad | Naam van de omgeving | Ja | string |
Settings | Body | Exchange-instellingen om te gebruiken | Ja | { DefaultUrl: string (url) Default SharePoint address used when performing “Auto discover”. When left out this property is ignored AuthenticationType: enum The authentication type used when connecting to SharePoint. - Online - ActiveDirectoryFederationServices - OAuth2 } |
Antwoorden
Code | Omschrijving | Schema |
200 | Succes |
|
400 | Lijst van validatieresultaten
| [ValidationResult] |
403 | De provisioning key in de configuratie is niet gedefinieerd of leeg. De provisioning API is niet ingeschakeld in de configuratie. De provisioning key in de header komt niet overeen met de geconfigureerde waarde. |
|
404 | De bron is niet gevonden |
|
500 | Interne serverfout. Dit kan worden veroorzaakt door het doorgeven van een onjuist gegevensobject |
|
Voorbeeld
PUT https://workspace365instance.url/Provisioning/{EnvironmentName}/SharePointSettings/ HTTP/1.1 Accept: application/json Content-Length: 72 Content-Type: application/json Host: yourworkspace365instance.url ProvisioningKey: 00000000-0000-0000-0000-000000000000 X-Requested-With: XMLHttpRequest{ "DefaultUrl": "https://example.sharepoint.com", "AuthenticationType": "Online" }
Gezondheidsstatus
GET
/api/health
Haalt de gezondheidsstatus op
Gezondheidsstatuscode
Status | Omschrijving |
FAIL | De gezondheidscontrole is mislukt en de component is niet beschikbaar of heeft niet tijdig gereageerd. |
OK | De gezondheidscontrole is geslaagd en de component is beschikbaar. |
NOT_APPLICABLE | De component wordt in dit geval niet gebruikt en de gezondheidscontrole is niet uitgevoerd. |
TIMEOUT | De gezondheidscontrole is niet tijdig voltooid. |
Antwoorden
Code | Omschrijving | Schema |
200 | De gezondheidscontrole-samenvatting | HealthCheckResult { overallStatus: string The combined result of all components. The status will be OK if all health checks performed were successful. components: list of ComponentHealthResult A list of the results of all the health checks on the individual components. productVersion: string The version of Workspace 365 software running. } |
403 | De Health API Key in de configuratie is niet gedefinieerd of leeg.
De Health API is niet ingeschakeld in de configuratie.
De Health API Key in de header komt niet overeen met de geconfigureerde waarde. |
|
404 | De bron is niet gevonden. |
|
500 | Interne serverfout. |
|
Voorbeeld
GET https://portal.workspace365.net/api/health HTTP/1.1
Host: portal.workspace365.net
HealthApiKey: 00000000-0000-0000-0000-000000000000
{ "overallStatus": "OK", "components": [ { "component": "Database", "status": "OK", "responseTime": "00:00:00.0092007" }, { "component": "Redis", "status": "OK", "responseTime": "00:00:00.0035770" }, { "component": "RabbitMq", "status": "OK", "responseTime": "00:00:00.0297460" }, { "component": "BlobStorage", "status": "OK", "responseTime": "00:00:00.0034293" }, { "component": "Elasticsearch", "status": "OK", "responseTime": "00:00:00.0783747" } ], "productVersion": "4.7.0.732-rc" }
Inleiding
De Workspace 365 Health API is bedoeld om een snel overzicht te bieden van de status van de Workspace 365-componenten en de subservices die we gebruiken. Is de databaseverbinding gezond? Hoe lang duurt het om verbinding te maken? En hoe zit het met Redis of Blob Storage? Het doel is om ongezonde servicestatus of ongezonde afhankelijkheden te automatiseren en te detecteren.
Deze API gebruikt een REST-achtige interface, wat betekent dat je in plaats van acties/methoden aan te roepen, de actie definieert die je wilt uitvoeren op een resource via de HTTP METHOD GET en JSON gebruikt als gegevensprotocol.
Vereisten
Er zijn twee vereisten:
De API moet zijn ingeschakeld in Workspace 365.
Om toegang te krijgen tot de Health API moet er bij elk verzoek een sleutel worden verstrekt. De Health API Key wordt verstrekt via de waarde van een header genaamd HealthApiKey.
De Health API bevindt zich op /api/health (bijvoorbeeld wanneer Workspace 365 is gehost op
'https://portal.workspace365.net', bevindt de Health API zich op 'https://portal.workspace365.net/api/health').
Er is geen GUI of een manier om de API vanuit de Workspace te bekijken. We beschrijven het beschikbare eindpunt en de gegevensobjecten per resourcetype. Inbegrepen bij het eindpunt is een voorbeeld van het verzoek, waarbij wordt aangenomen dat Workspace 365 de volgende instellingen heeft:
Workspace 365 is gehost op 'https://portal.workspace365.net'
De Health API Key is 00000000-0000-0000-0000-000000000000
Health API ingeschakeld
Dit wordt gebruikt om aan te geven of de Health API is ingeschakeld.
Dit is te vinden in NDAW.WebApp.config met de naam HealthApiEnabled. Dit moet worden ingesteld op True of False, bijvoorbeeld:
<setting name="HealthApiEnabled" serializeAs="String">
<value>True</value>
</setting>
Health API sleutel
Dit wordt gebruikt om de waarde van de Health API Key aan te geven, die nodig is om te authenticeren bij de API.
Dit is te vinden in NDAW.WebApp.config met de naam HealthApiKey. Het moet worden ingesteld op een niet-lege stringwaarde, bijvoorbeeld:
<setting name="HealthApiKey" serializeAs="String">
<value>00000000-0000-0000-0000-000000000000</value>
</setting>
Algemene Gegevensobjecten
ComponentHealthResult {
component:
string
The name of the component which was health-checked.
status:
string
The result status of the health check performed for the component.
responseTime:
string
The time elapsed while the health check was being performed, in the format hours: minutes : seconds (include fractional seconds).
}
RabbitMQ 'FAIL' status
Verklaring:
RabbitMQ is een verplicht onderdeel van het hosten van de Document Move Service. RabbitMQ hoeft niet te worden gehost op dezelfde machine (VM) als Workspace 365. Deze services communiceren via een TCP-verbinding, die is gedefinieerd in de configuratie van de verbindingsreeks.
We controleren altijd de gezondheidsstatus op elke Workspace 365-webserver afzonderlijk. De status van de RabbitMQ-service geeft aan of de webserver verbinding kan maken met RabbitMQ. Als de status van de RabbitMQ-service wordt weergegeven als 'Fail', kan het zijn dat de controle wordt uitgevoerd op een machine terwijl de service op een andere machine draait.
Oplossing:
Op alle webservers moet de RabbitMQ AddConnectionString verwijzen naar de machine waar de RabbitMQ-service op draait, met behulp van "IP van machine" (IPOFMachine) met TCP-poort 5672.
AddConnectionString("RabbitMq", @"amqp://CreatedUser:CreatedPassword@IPOFMachine/Instancename");Zorg er in het parameterbestand ook voor dat AllowCrossSiteMove is ingesteld op "True":
AddTransform("AllowCrossSiteMove", @"True");
