Příklady manifestu služeb a vícekontejnerové aplikace
Tady jsou příklady manifestů aplikací a služeb pro aplikaci Service Fabric s více kontejnery. Účelem těchto příkladů je ukázat, jaká nastavení jsou k dispozici a jak je používat. Tyto manifesty aplikací a služeb jsou založené na manifestech ukázek kontejneru Windows Serveru 2016.
Zobrazí se následující funkce:
Další informace o konkrétních elementech XML najdete v tématu Elementy manifestu manifestu aplikace, elementy manifestu služby FrontEndService a Elementy manifestu služby BackEndService.
Manifest aplikace
<?xml version="1.0" encoding="utf-8"?>
<ApplicationManifest ApplicationTypeName="Container.ApplicationType"
ApplicationTypeVersion="1.0.0"
xmlns="http://schemas.microsoft.com/2011/01/fabric"
xmlns:xsd="https://www.w3.org/2001/XMLSchema"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance">
<Parameters>
<Parameter Name="BackEndService_InstanceCount" DefaultValue="-1" />
<Parameter Name="FrontEndService_InstanceCount" DefaultValue="-1" />
<Parameter Name="CpuCores" DefaultValue="2" />
<Parameter Name="BlockIOWeight" DefaultValue="200" />
<Parameter Name="MaximumIOBandwidth" DefaultValue="1024" />
<Parameter Name="MemoryReservationInMB" DefaultValue="1024" />
<Parameter Name="MemorySwapInMB" DefaultValue="4084"/>
<Parameter Name="MaximumIOps" DefaultValue="20"/>
<Parameter Name="MemoryFront" DefaultValue="4084" />
<Parameter Name="MemoryBack" DefaultValue="2048" />
<Parameter Name="CertThumbprint" DefaultValue=""/>
</Parameters>
<!-- Import the ServiceManifest from the ServicePackage. The ServiceManifestName and ServiceManifestVersion
should match the Name and Version attributes of the ServiceManifest element defined in the
ServiceManifest.xml file. -->
<ServiceManifestImport>
<ServiceManifestRef ServiceManifestName="BackEndServicePkg" ServiceManifestVersion="1.0.0" />
<!-- Policies to be applied to the imported service manifest. -->
<Policies>
<!-- Set resource governance at the service package level. -->
<ServicePackageResourceGovernancePolicy CpuCores="[CpuCores]" MemoryInMB="[MemoryFront]"/>
<!-- Set resource governance at the code package level. -->
<ResourceGovernancePolicy CodePackageRef="Code" CpuPercent="10" MemoryInMB="[MemoryFront]" BlockIOWeight="[BlockIOWeight]" MaximumIOBandwidth="[MaximumIOBandwidth]" MaximumIOps="[MaximumIOps]" MemoryReservationInMB="[MemoryReservationInMB]" MemorySwapInMB="[MemorySwapInMB]"/>
<!-- Policies for activating container hosts. -->
<ContainerHostPolicies CodePackageRef="Code" Isolation="process">
<!-- Credentials for the repository hosting the container image.-->
<RepositoryCredentials AccountName="sfsamples" Password="ENCRYPTED-PASSWORD" PasswordEncrypted="true"/>
<!-- This binds the port the container is listening on (8905 in this sample) to an endpoint resource named "BackEndServiceTypeEndpoint", which is defined in the service manifest. -->
<PortBinding ContainerPort="8905" EndpointRef="BackEndServiceTypeEndpoint"/>
<!-- Configure the Azure Files volume plugin. Bind the source folder on the host VM or a remote share to the destination folder within the running container. -->
<Volume Source="azfiles" Destination="c:\VolumeTest\Data" Driver="sfazurefile">
<!-- Driver options to be passed to driver. The Azure Files volume plugin supports the following driver options:
shareName (the Azure Files file share that provides the volume for the container), storageAccountName (the Azure storage account
that contains the Azure Files file share), storageAccountKey (Access key for the Azure storage account that contains the Azure Files file share).
These three driver options are required. -->
<DriverOption Name="shareName" Value="" />
<DriverOption Name="storageAccountName" Value="MY-STORAGE-ACCOUNT-NAME" />
<DriverOption Name="storageAccountKey" Value="MY-STORAGE-ACCOUNT-KEY" />
</Volume>
<!-- Windows Server containers may not be compatible across different versions of the OS. You can specify multiple OS images per container and tag
them with the build versions of the OS. Get the build version of the OS by running "winver" at a Windows command prompt. -->
<ImageOverrides>
<!-- If the underlying OS is build version 16299 (Windows Server version 1709), Service Fabric picks the container image tagged with Os="16299". -->
<Image Name="sfsamples.azurecr.io/sfsamples/servicefabricbackendservice_1709" Os="16299" />
<!-- An untagged container image is assumed to work across all versions of the OS and overrides the image specified in the service manifest. -->
<Image Name="sfsamples.azurecr.io/sfsamples/servicefabricbackendservice_default" />
</ImageOverrides>
</ContainerHostPolicies>
</Policies>
</ServiceManifestImport>
<!-- Policies to be applied to the imported service manifest. -->
<ServiceManifestImport>
<ServiceManifestRef ServiceManifestName="FrontEndServicePkg" ServiceManifestVersion="1.0.0" />
<!-- This enables you to provide different values for environment variables when creating a FrontEndService
Theses environment variables are declared in the FrontEndServiceType service manifest-->
<EnvironmentOverrides CodePackageRef="Code">
<EnvironmentVariable Name="BackendServiceName" Value="Container.Application/BackEndService"/>
<EnvironmentVariable Name="HttpGatewayPort" Value="19080"/>
<EnvironmentVariable Name="IsContainer" Value="true"/>
</EnvironmentOverrides>
<!-- This policy maps the port of the container (80) to the endpoint declared in the service,
FrontEndServiceTypeEndpoint which is exposed as port 80 on the host-->
<Policies>
<!-- Set resource governance at the service package level. -->
<ServicePackageResourceGovernancePolicy CpuCores="[CpuCores]" MemoryInMB="[MemoryBack]"/>
<!-- Policies for activating container hosts. -->
<ContainerHostPolicies CodePackageRef="Code" Isolation="process">
<!-- Credentials for the repository hosting the container image.-->
<RepositoryCredentials AccountName="sfsamples" Password="ENCRYPTED-PASSWORD" PasswordEncrypted="true"/>
<!-- Binds an endpoint resource (declared in the service manifest) to the exposed container port. -->
<PortBinding ContainerPort="80" EndpointRef="FrontEndServiceTypeEndpoint"/>
<!-- Import a certificate into the container. The certificate must be installed in the LocalMachine store of all the cluster nodes.
When the application starts, the runtime reads the certificate and generates a PFX file and password (on Windows) or a PEM file (on Linux).
The PFX file and password are accessible in the container using the Certificates_ServicePackageName_CodePackageName_CertName_PFX and
Certificates_ServicePackageName_CodePackageName_CertName_Password environment variables. The PEM file is accessible in the container using the
Certificates_ServicePackageName_CodePackageName_CertName_PEM and Certificates_ServicePackageName_CodePackageName_CertName_PrivateKey environment variables.-->
<CertificateRef Name="MyCert1" X509StoreName="My" X509FindValue="[CertThumbprint]" />
<!-- If the certificate is already in PFX or PEM form, you can create a data package inside your application and reference that certificate here. -->
<CertificateRef Name="MyCert2" DataPackageRef="Data" DataPackageVersion="1.0.0" RelativePath="MyCert2.PFX" Password="ENCRYPTED-PASSWORD" IsPasswordEncrypted="true"/>
</ContainerHostPolicies>
</Policies>
</ServiceManifestImport>
<DefaultServices>
<!-- The section below creates instances of service types, when an instance of this
application type is created. You can also create one or more instances of service type using the
ServiceFabric PowerShell module.
The attribute ServiceTypeName below must match the name defined in the imported ServiceManifest.xml file. -->
<Service Name="FrontEndService" >
<StatelessService ServiceTypeName="FrontEndServiceType" InstanceCount="[FrontEndService_InstanceCount]">
<SingletonPartition />
</StatelessService>
</Service>
<Service Name="BackEndService" ServicePackageActivationMode="ExclusiveProcess">
<StatelessService ServiceTypeName="BackEndServiceType" InstanceCount="[BackEndService_InstanceCount]">
<SingletonPartition />
</StatelessService>
</Service>
</DefaultServices>
</ApplicationManifest>
Manifest služby FrontEndService
<?xml version="1.0" encoding="utf-8"?>
<ServiceManifest Name="FrontEndServicePkg"
Version="1.0.0"
xmlns="http://schemas.microsoft.com/2011/01/fabric"
xmlns:xsd="https://www.w3.org/2001/XMLSchema"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance">
<ServiceTypes>
<!-- This is the name of your ServiceType.
The UseImplicitHost attribute indicates this is a guest service. -->
<StatelessServiceType ServiceTypeName="FrontEndServiceType" UseImplicitHost="true" />
</ServiceTypes>
<!-- Code package is your service executable. -->
<CodePackage Name="Code" Version="1.0.0">
<EntryPoint>
<ContainerHost>
<!--The repo and image on https://hub.docker.com or Azure Container Registry. -->
<ImageName>sfsamples.azurecr.io/sfsamples/servicefabricfrontendservice:v1</ImageName>
</ContainerHost>
</EntryPoint>
<!-- Pass environment variables to your container or exe. These variables are overridden in the application manifest. -->
<EnvironmentVariables>
<EnvironmentVariable Name="BackendServiceName" Value=""/>
<EnvironmentVariable Name="HttpGatewayPort" Value=""/>
<EnvironmentVariable Name="IsContainer" Value=""/>
</EnvironmentVariables>
</CodePackage>
<!-- Config package is the contents of the Config directory under PackageRoot that contains an
independently-updateable and versioned set of custom configuration settings for your service. -->
<ConfigPackage Name="Config" Version="1.0.0" />
<!-- Data package is the contents of the Data directory under PackageRoot that contains an
independently-updateable and versioned static data that's consumed by the process at runtime. -->
<DataPackage Name="Data" Version="1.0.0"/>
<Resources>
<Endpoints>
<!-- This endpoint is used by the communication listener to obtain the port on which to
listen. For a guest executable is used to register with the NamingService at its REST endpoint
with http scheme and port 80 -->
<Endpoint Name="FrontEndServiceTypeEndpoint" UriScheme="http" Port="80"/>
</Endpoints>
</Resources>
</ServiceManifest>
Manifest služby BackEndService
<?xml version="1.0" encoding="utf-8"?>
<ServiceManifest Name="BackEndServicePkg"
Version="1.0.0"
xmlns="http://schemas.microsoft.com/2011/01/fabric"
xmlns:xsd="https://www.w3.org/2001/XMLSchema"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance">
<ServiceTypes>
<!-- This is the name of your ServiceType.
The UseImplicitHost attribute indicates this is a guest service. -->
<StatelessServiceType ServiceTypeName="BackEndServiceType" UseImplicitHost="true" />
</ServiceTypes>
<!-- Code package is your service executable. -->
<CodePackage Name="Code" Version="1.0.0">
<EntryPoint>
<ContainerHost>
<!--The repo and image on https://hub.docker.com or Azure Container Registry. -->
<ImageName>sfsamples.azurecr.io/sfsamples/servicefabricbackendservice:v1</ImageName>
<!-- Pass comma delimited commands to your container. -->
<Commands> dotnet, myproc.dll, 5 </Commands>
</ContainerHost>
</EntryPoint>
<!-- Pass environment variables to your container. These variables are overridden in the application manifest. -->
<EnvironmentVariables>
<EnvironmentVariable Name="IsContainer" Value="true"/>
</EnvironmentVariables>
</CodePackage>
<!-- Config package is the contents of the Config directory under PackageRoot that contains an
independently-updateable and versioned set of custom configuration settings for your service. -->
<ConfigPackage Name="Config" Version="1.0.0" />
<Resources>
<Endpoints>
<!-- This endpoint is used by the communication listener to obtain the host port on which to
listen. For a guest executable is used to register with the NamingService at its REST endpoint
with http scheme. In this case since no port is specified, one is created and assigned dynamically
to the service. This dynamically assigned host port is mapped to the container port (8905 in this sample),
which was specified in the application manifest.-->
<Endpoint Name="BackEndServiceTypeEndpoint" UriScheme="http" />
</Endpoints>
</Resources>
</ServiceManifest>
Prvky manifestu aplikace
ApplicationManifest Element
Deklarativní popis typu a verze aplikace. Na jeden nebo více manifestů služby základních služeb se odkazuje na vytvoření typu aplikace. Nastavení konfigurace základních služeb je možné přepsat pomocí parametrizovaných nastavení aplikace. Výchozí služby, šablony služeb, instanční objekty, zásady, nastavení diagnostiky a certifikáty lze deklarovat také na úrovni aplikace. Další informace naleznete v tématu ApplicationManifest – element
Parameters Element
Deklaruje parametry, které se používají v tomto manifestu aplikace. Hodnotu těchto parametrů lze zadat při vytvoření instance aplikace a lze ji použít k přepsání nastavení konfigurace aplikace nebo služby. Další informace naleznete v tématu Parameters – element
Parameter – element
Parametr aplikace, který se má použít v tomto manifestu. Hodnotu parametru je možné změnit během vytváření instancí aplikace, nebo pokud není zadána žádná hodnota, použije se výchozí hodnota. Další informace naleznete v tématu Element parametru
ServiceManifestImport Element
Importuje manifest služby vytvořený vývojářem služby. Manifest služby musí být importován pro každou základní službu v aplikaci. Přepsání konfigurace a zásady lze deklarovat pro manifest služby. Další informace naleznete v tématu ServiceManifestImport – element
ServiceManifestRef Element
Importuje manifest služby odkazem. V současné době musí být v balíčku sestavení k dispozici soubor manifestu služby (ServiceManifest.xml). Další informace naleznete v tématu ServiceManifestRef – element
Policies Element
Popisuje zásady (vazby koncového bodu, sdílení balíčků, přístup spustit jako a přístup k zabezpečení), které se použijí v importovaném manifestu služby. Další informace najdete v tématu Element zásad.
ServicePackageResourceGovernancePolicy Element
Definuje zásady správného řízení prostředků, které se použijí na úrovni celého balíčku služby. Další informace naleznete v tématu ServicePackageResourceGovernancePolicy – element
ResourceGovernancePolicy Element
Určuje omezení prostředků pro balíček kódu. Další informace naleznete v tématu ResourceGovernancePolicy – element
ContainerHostPolicies Element
Určuje zásady pro aktivaci hostitelů kontejnerů. Další informace naleznete v tématu ContainerHostPolicies – element
RepositoryCredentials Element
Přihlašovací údaje pro úložiště imagí kontejneru pro načtení imagí. Další informace naleznete v tématu RepositoryCredentials – element
PortBinding Element
Určuje, který prostředek koncového bodu se má svázat s vystavený port kontejneru. Další informace naleznete v tématu PortBinding – element
Volume Element
Určuje svazek, který se má svázat s kontejnerem. Další informace naleznete v tématu Volume – element
DriverOption Element
Možnosti ovladače, které mají být předány ovladači. Další informace naleznete v tématu DriverOption – element
ImageOverrides Element
Kontejnery Windows Serveru nemusí být kompatibilní v různých verzích operačního systému. Pro každý kontejner můžete zadat několik imagí operačního systému a označit je pomocí verzí sestavení operačního systému. Získejte verzi buildu operačního systému spuštěním příkazu winver na příkazovém řádku Windows. Pokud je základní operační systém build verze 16299 (Windows Server verze 1709), Service Fabric vybere image kontejneru označenou operačním systémem Os="16299". Předpokládá se, že image neoznačeného kontejneru funguje ve všech verzích operačního systému a přepíše image zadanou v manifestu služby. Další informace naleznete v tématu ImageOverrides – element
Image Element
Image kontejneru odpovídající číslu verze sestavení operačního systému, která se má spustit. Pokud není zadaný atribut operačního systému, předpokládá se, že image kontejneru funguje ve všech verzích operačního systému a přepíše image zadanou v manifestu služby. Další informace naleznete v tématu Element image
EnvironmentOverrides Element
Další informace naleznete v tématu EnvironmentOverrides – element
EnvironmentVariable Element
Proměnná prostředí. Další informace naleznete v tématu EnvironmentVariable – element
CertificateRef Element
Určuje informace o certifikátu X509, který se má vystavit prostředí kontejneru. Certifikát musí být nainstalován v úložišti LocalMachine všech uzlů clusteru. Při spuštění aplikace modul runtime načte certifikát a vygeneruje soubor a heslo PFX (ve Windows) nebo soubor PEM (v Linuxu). Soubor a heslo PFX jsou v kontejneru přístupné pomocí proměnných prostředí Certificates_ServicePackageName_CodePackageName_CertName_PFX a Certificates_ServicePackageName_CodePackageName_CertName_Password. Soubor PEM je přístupný v kontejneru pomocí proměnných prostředí Certificates_ServicePackageName_CodePackageName_CertName_PEM a Certificates_ServicePackageName_CodePackageName_CertName_PrivateKey. Další informace naleznete v tématu CertificateRef – element
DefaultServices Element
Deklaruje instance služby, které se automaticky vytvoří při každé instanci aplikace pro tento typ aplikace. Další informace naleznete v tématu DefaultServices – element
Service Element
Deklaruje službu, která se vytvoří automaticky při vytváření instance aplikace. Další informace naleznete v tématu Service – element
StatelessService Element
Definuje bezstavovou službu. Další informace naleznete v tématu StatelessService – element
Elementy manifestu služby FrontEndService
ServiceManifest Element
Deklarativní popis typu a verze služby. Uvádí nezávisle upgradovatelný kód, konfiguraci a datové balíčky, které společně tvoří balíček služby pro podporu jednoho nebo více typů služeb. Zadají se také prostředky, nastavení diagnostiky a metadata služeb, jako je typ služby, vlastnosti stavu a metriky vyrovnávání zatížení. Další informace naleznete v tématu ServiceManifest – element
ServiceTypes Element
Definuje, jaké typy služeb podporuje CodePackage v tomto manifestu. Když se služba vytvoří instance pro jeden z těchto typů služeb, aktivují se všechny balíčky kódu deklarované v tomto manifestu spuštěním vstupních bodů. Typy služeb jsou deklarovány na úrovni manifestu, nikoli na úrovni balíčku kódu. Další informace naleznete v tématu ServiceTypes – element
StatelessServiceType Element
Popisuje bezstavový typ služby. Další informace naleznete v tématu StatelessServiceType – element
CodePackage Element
Popisuje balíček kódu, který podporuje definovaný typ služby. Když se služba vytvoří instance pro jeden z těchto typů služeb, aktivují se všechny balíčky kódu deklarované v tomto manifestu spuštěním vstupních bodů. Očekává se, že výsledné procesy zaregistrují podporované typy služeb za běhu. Pokud existuje více balíčků kódu, jsou všechny aktivovány pokaždé, když systém hledá některý z deklarovaných typů služeb. Další informace naleznete v tématu CodePackage – element
EntryPoint Element
Spustitelný soubor určený EntryPointem je obvykle dlouhotrvajícím hostitelem služby. Přítomnost samostatného vstupního bodu nastavení zabraňuje spuštění hostitele služby s vysokými oprávněními po delší dobu. Spustitelný soubor zadaný entrypointem se spustí po úspěšném ukončení setupEntryPointu. Výsledný proces se monitoruje a restartuje (počínaje aplikací SetupEntryPoint), pokud se někdy ukončí nebo dojde k chybovému ukončení. Další informace naleznete v tématu Element EntryPoint
ContainerHost Element
Další informace naleznete v tématu ContainerHost – element
ImageName Element
Úložiště a image ve https://hub.docker.com službě Azure Container Registry. Další informace naleznete v tématu ImageName – element
EnvironmentVariables Element
Předejte proměnné prostředí do kontejneru nebo exe. Další informace naleznete v tématu EnvironmentVariables – element
EnvironmentVariable Element
Proměnná prostředí. Další informace naleznete v tématu EnvironmentVariable – element
ConfigPackage Element
Deklaruje složku pojmenovanou atributem Name, která obsahuje soubor Settings.xml. Tento soubor obsahuje části uživatelem definovaného nastavení páru klíč-hodnota, které proces může číst za běhu. Pokud se během upgradu změnila pouze verze nástroje ConfigPackage, pak se spuštěný proces nerestartuje. Místo toho zpětné volání upozorní proces, že se změnilo nastavení konfigurace, aby bylo možné je dynamicky načíst. Další informace naleznete v tématu ConfigPackage – element
DataPackage Element
Deklaruje složku pojmenovanou atributem Name, která obsahuje statické datové soubory. Service Fabric bude recyklovat všechny balíčky EXEs a DLLHOST zadané v hostiteli a podpůrné balíčky, když se upgraduje některý z datových balíčků uvedených v manifestu služby. Další informace naleznete v tématu DataPackage – element
Resources Element
Popisuje prostředky používané touto službou, které lze deklarovat bez úpravy zkompilovaného kódu a změny při nasazení služby. Přístup k těmto prostředkům se řídí prostřednictvím oddílů Objekty zabezpečení a Zásady manifestu aplikace. Další informace naleznete v tématu Resources – element
Endpoints Element
Definuje koncové body pro službu. Další informace najdete v tématu Element koncové body.
Koncový bod – element
Další informace najdete v tématu Element koncového bodu.
Elementy manifestu služby BackEndService
ServiceManifest Element
Deklarativní popis typu a verze služby. Uvádí nezávisle upgradovatelný kód, konfiguraci a datové balíčky, které společně tvoří balíček služby pro podporu jednoho nebo více typů služeb. Zadají se také prostředky, nastavení diagnostiky a metadata služeb, jako je typ služby, vlastnosti stavu a metriky vyrovnávání zatížení. Další informace naleznete v tématu ServiceManifest – element
ServiceTypes Element
Definuje, jaké typy služeb podporuje CodePackage v tomto manifestu. Když se služba vytvoří instance pro jeden z těchto typů služeb, aktivují se všechny balíčky kódu deklarované v tomto manifestu spuštěním vstupních bodů. Typy služeb jsou deklarovány na úrovni manifestu, nikoli na úrovni balíčku kódu. Další informace naleznete v tématu ServiceTypes – element
StatelessServiceType Element
Popisuje bezstavový typ služby. Další informace naleznete v tématu StatelessServiceType – element
CodePackage Element
Popisuje balíček kódu, který podporuje definovaný typ služby. Když se služba vytvoří instance pro jeden z těchto typů služeb, aktivují se všechny balíčky kódu deklarované v tomto manifestu spuštěním vstupních bodů. Očekává se, že výsledné procesy zaregistrují podporované typy služeb za běhu. Pokud existuje více balíčků kódu, jsou všechny aktivovány pokaždé, když systém hledá některý z deklarovaných typů služeb. Další informace naleznete v tématu CodePackage – element
EntryPoint Element
Spustitelný soubor určený EntryPointem je obvykle dlouhotrvajícím hostitelem služby. Přítomnost samostatného vstupního bodu nastavení zabraňuje spuštění hostitele služby s vysokými oprávněními po delší dobu. Spustitelný soubor zadaný entrypointem se spustí po úspěšném ukončení setupEntryPointu. Výsledný proces se monitoruje a restartuje (počínaje aplikací SetupEntryPoint), pokud se někdy ukončí nebo dojde k chybovému ukončení. Další informace naleznete v tématu Element EntryPoint
ContainerHost Element
Další informace naleznete v tématu ContainerHost – element
ImageName Element
Úložiště a image ve https://hub.docker.com službě Azure Container Registry. Další informace naleznete v tématu ImageName – element
Commands – element
Předejte kontejneru čárkami oddělený seznam příkazů. Další informace naleznete v tématu Příkazy – element
EnvironmentVariables Element
Předejte proměnné prostředí do kontejneru nebo exe. Další informace naleznete v tématu EnvironmentVariables – element
EnvironmentVariable Element
Proměnná prostředí. Další informace naleznete v tématu EnvironmentVariable – element
ConfigPackage Element
Deklaruje složku pojmenovanou atributem Name, která obsahuje soubor Settings.xml. Tento soubor obsahuje části uživatelem definovaného nastavení páru klíč-hodnota, které proces může číst za běhu. Pokud se během upgradu změnila pouze verze nástroje ConfigPackage, pak se spuštěný proces nerestartuje. Místo toho zpětné volání upozorní proces, že se změnilo nastavení konfigurace, aby bylo možné je dynamicky načíst. Další informace naleznete v tématu ConfigPackage – element
Resources Element
Popisuje prostředky používané touto službou, které lze deklarovat bez úpravy zkompilovaného kódu a změny při nasazení služby. Přístup k těmto prostředkům se řídí prostřednictvím oddílů Objekty zabezpečení a Zásady manifestu aplikace. Další informace naleznete v tématu Resources – element
Endpoints Element
Definuje koncové body pro službu. Další informace najdete v tématu Element koncové body.
Koncový bod – element
Další informace najdete v tématu Element koncového bodu.