De configuratie van uw API Management-service opslaan en configureren met gitHow to save and configure your API Management service configuration using Git

Elk API Management service-exemplaar houdt een configuratie database bij die informatie bevat over de configuratie en meta gegevens voor het service-exemplaar.Each API Management service instance maintains a configuration database that contains information about the configuration and metadata for the service instance. Wijzigingen kunnen worden aangebracht in het service-exemplaar door een instelling in het Azure Portal te wijzigen, met een Power shell-cmdlet of door een REST API-aanroep te maken.Changes can be made to the service instance by changing a setting in the Azure portal, using a PowerShell cmdlet, or making a REST API call. Naast deze methoden kunt u ook de configuratie van uw service-exemplaar beheren met git, waarbij scenario's voor Service beheer worden ingeschakeld, zoals:In addition to these methods, you can also manage your service instance configuration using Git, enabling service management scenarios such as:

  • Configuratie versie: down load en sla verschillende versies van uw service configuratie opConfiguration versioning - download and store different versions of your service configuration
  • Wijzigingen in de bulk configuratie: Breng wijzigingen aan in meerdere delen van uw service configuratie in uw lokale opslag plaats en integreer de wijzigingen vervolgens met één bewerking op de server.Bulk configuration changes - make changes to multiple parts of your service configuration in your local repository and integrate the changes back to the server with a single operation
  • Vertrouwde Git-hulpprogramma keten en-werk stroom: gebruik het git-hulp programma en de werk stromen die u al kentFamiliar Git toolchain and workflow - use the Git tooling and workflows that you are already familiar with

In het volgende diagram ziet u een overzicht van de verschillende manieren om uw API Management service-exemplaar te configureren.The following diagram shows an overview of the different ways to configure your API Management service instance.

Git configureren

Wanneer u wijzigingen aanbrengt aan uw service met behulp van de Azure Portal, Power shell-cmdlets of de rest API, beheert u de data https://{name}.management.azure-api.net base van de service configuratie met behulp van het eind punt, zoals wordt weer gegeven aan de rechter kant van het diagram.When you make changes to your service using the Azure portal, PowerShell cmdlets, or the REST API, you are managing your service configuration database using the https://{name}.management.azure-api.net endpoint, as shown on the right side of the diagram. Aan de linkerkant van het diagram ziet u hoe u uw service configuratie kunt beheren met Git en git-opslag plaats voor uw service https://{name}.scm.azure-api.netop.The left side of the diagram illustrates how you can manage your service configuration using Git and Git repository for your service located at https://{name}.scm.azure-api.net.

De volgende stappen bieden een overzicht van het beheren van uw API Management service-exemplaar met behulp van Git.The following steps provide an overview of managing your API Management service instance using Git.

  1. Toegang tot Git-configuratie in uw serviceAccess Git configuration in your service
  2. Sla uw service configuratie database op in uw Git-opslag plaatsSave your service configuration database to your Git repository
  3. De Git-opslag plaats naar uw lokale computer klonenClone the Git repo to your local machine
  4. Haal de meest recente opslag plaats omlaag naar uw lokale machine en ga door met het door voeren en pushen van wijzigingen naar uw opslag plaatsPull the latest repo down to your local machine, and commit and push changes back to your repo
  5. De wijzigingen van uw opslag plaats naar uw service configuratie database implementerenDeploy the changes from your repo into your service configuration database

In dit artikel wordt beschreven hoe u Git inschakelt en gebruikt voor het beheren van uw service configuratie en een verwijzing geeft naar de bestanden en mappen in de Git-opslag plaats.This article describes how to enable and use Git to manage your service configuration and provides a reference for the files and folders in the Git repository.

BeschikbaarheidAvailability

Belangrijk

Deze functie is beschikbaar in de Premium-, Standard-, Basic -en Developer -lagen van API management.This feature is available in the Premium, Standard, Basic and Developer tiers of API Management.

Toegang tot Git-configuratie in uw serviceAccess Git configuration in your service

Als u uw Git-configuratie-instellingen wilt weer geven en configureren, klikt u op het menu beveiliging en gaat u naar het tabblad configuratie opslagplaats .To view and configure your Git configuration settings, you can click the Security menu and navigate to the Configuration repository tab.

GIT inschakelen

Belangrijk

Geheimen die niet als benoemde waarden zijn gedefinieerd, worden opgeslagen in de-opslag plaats en blijven in de geschiedenis totdat u Git-toegang uitschakelt en weer inschakelt.Any secrets that are not defined as Named Values will be stored in the repository and will remain in its history until you disable and re-enable Git access. Benoemde waarden bieden een veilige plaats voor het beheren van constante teken reeks waarden, inclusief geheimen, in alle API-configuraties en-beleids regels, zodat u ze niet rechtstreeks in uw beleids overzichten hoeft op te slaan.Named Values provide a secure place to manage constant string values, including secrets, across all API configuration and policies, so you don't have to store them directly in your policy statements. Zie Benoemde waarden gebruiken in azure API Management-beleid(Engelstalig) voor meer informatie.For more information, see How to use Named Values in Azure API Management policies.

Zie voor meer informatie over het in-of uitschakelen van Git-toegang met behulp van de REST API toegang tot git in-of uitschakelen met behulp van de rest API.For information on enabling or disabling Git access using the REST API, see Enable or disable Git access using the REST API.

De service configuratie opslaan in de Git-opslag plaatsTo save the service configuration to the Git repository

De eerste stap voordat u de opslag plaats kloont, is door de huidige status van de service configuratie op te slaan in de opslag plaats.The first step before cloning the repository is to save the current state of the service configuration to the repository. Klik op opslaan in opslag plaats.Click Save to repository.

Breng de gewenste wijzigingen aan in het bevestigings scherm en klik op OK om op te slaan.Make any desired changes on the confirmation screen and click Ok to save.

Na enkele ogen blikken wordt de configuratie opgeslagen en wordt de configuratie status van de opslag plaats weer gegeven, met inbegrip van de datum en tijd van de laatste configuratie wijziging en de laatste synchronisatie tussen de service configuratie en de opslag plaats.After a few moments the configuration is saved, and the configuration status of the repository is displayed, including the date and time of the last configuration change and the last synchronization between the service configuration and the repository.

Zodra de configuratie is opgeslagen in de opslag plaats, kan deze worden gekloond.Once the configuration is saved to the repository, it can be cloned.

Zie configuratie momentopname vastleggen met behulpvan de rest API voor meer informatie over het uitvoeren van deze bewerking met behulp van de rest API.For information on performing this operation using the REST API, see Commit configuration snapshot using the REST API.

De opslag plaats naar uw lokale computer klonenTo clone the repository to your local machine

Als u een opslag plaats wilt klonen, moet u de URL naar uw opslag plaats, een gebruikers naam en een wacht woord hebben.To clone a repository, you need the URL to your repository, a user name, and a password. Als u gebruikers naam en andere referenties wilt ophalen, klikt u op toegangs referenties aan de bovenkant van de pagina.To get user name and other credentials, click on Access credentials near the top of the page.

Als u een wacht woord wilt genereren, controleert u eerst of het verloop is ingesteld op de gewenste verval datum en-tijd en klikt u vervolgens op genereren.To generate a password, first ensure that the Expiry is set to the desired expiration date and time, and then click Generate.

Belangrijk

Noteer dit wacht woord.Make a note of this password. Wanneer u deze pagina verlaat, wordt het wacht woord niet meer weer gegeven.Once you leave this page the password will not be displayed again.

In de volgende voor beelden wordt het git bash-hulp programma van git voor Windows gebruikt, maar u kunt elk Git-hulp programma gebruiken waarmee u bekend bent.The following examples use the Git Bash tool from Git for Windows but you can use any Git tool that you are familiar with.

Open uw Git-hulp programma in de gewenste map en voer de volgende opdracht uit om de Git-opslag plaats te klonen op uw lokale computer met behulp van de opdracht van de Azure Portal.Open your Git tool in the desired folder and run the following command to clone the git repository to your local machine, using the command provided by the Azure portal.

git clone https://{name}.scm.azure-api.net/

Geef de gebruikers naam en het wacht woord op wanneer u hierom wordt gevraagd.Provide the user name and password when prompted.

Als er fouten optreden, kunt u de git clone opdracht wijzigen zodat de gebruikers naam en het wacht woord worden opgenomen, zoals in het volgende voor beeld wordt weer gegeven.If you receive any errors, try modifying your git clone command to include the user name and password, as shown in the following example.

git clone https://username:password@{name}.scm.azure-api.net/

Als er een fout optreedt, kunt u URL-code ring van het wachtwoord gedeelte van de opdracht proberen.If this provides an error, try URL encoding the password portion of the command. Een snelle manier om dit te doen is door Visual Studio te openen en de volgende opdracht uit te voeren in het venster Direct.One quick way to do this is to open Visual Studio, and issue the following command in the Immediate Window. Als u het venster Directwilt openen, opent u een oplossing of project in Visual Studio (of maakt u een nieuwe lege console toepassing) en kiest u Windows, direct in het menu fout opsporing .To open the Immediate Window, open any solution or project in Visual Studio (or create a new empty console application), and choose Windows, Immediate from the Debug menu.

?System.Net.WebUtility.UrlEncode("password from the Azure portal")

Gebruik het versleutelde wacht woord samen met uw gebruikers naam en locatie van de opslag plaats om de Git-opdracht te maken.Use the encoded password along with your user name and repository location to construct the git command.

git clone https://username:url encoded password@{name}.scm.azure-api.net/

Zodra de opslag plaats is gekloond, kunt u deze in uw lokale bestands systeem weer geven en ermee werken.Once the repository is cloned, you can view and work with it in your local file system. Zie verwijzing naar bestands-en mapstructuur van lokale Git-opslag plaatsvoor meer informatie.For more information, see File and folder structure reference of local Git repository.

Uw lokale opslag plaats bijwerken met de meest recente service-exemplaar configuratieTo update your local repository with the most current service instance configuration

Als u wijzigingen aanbrengt in uw API Management service-exemplaar in de Azure Portal of de REST API gebruikt, moet u deze wijzigingen opslaan in de opslag plaats voordat u uw lokale opslag plaats kunt bijwerken met de meest recente wijzigingen.If you make changes to your API Management service instance in the Azure portal or using the REST API, you must save these changes to the repository before you can update your local repository with the latest changes. Hiertoe klikt u op configuratie opslaan in opslag plaats op het tabblad configuratie opslagplaats in het Azure Portal en geeft u de volgende opdracht op in uw lokale opslag plaats.To do this, click Save configuration to repository on the Configuration repository tab in the Azure portal, and then issue the following command in your local repository.

git pull

Zorg ervoor git pull dat u zich in de map voor uw lokale opslag plaats bevindt voordat u deze uitvoert.Before running git pull ensure that you are in the folder for your local repository. Als u de git clone opdracht zojuist hebt voltooid, moet u de map in uw opslag plaats wijzigen door een opdracht als volgt uit te voeren.If you have just completed the git clone command, then you must change the directory to your repo by running a command like the following.

cd {name}.scm.azure-api.net/

Wijzigingen van uw lokale opslag plaats naar de server opslag plaatsTo push changes from your local repo to the server repo

Als u wijzigingen van uw lokale opslag plaats naar de server opslagplaats wilt pushen, moet u uw wijzigingen door voeren en vervolgens naar de server opslagplaats pushen.To push changes from your local repository to the server repository, you must commit your changes and then push them to the server repository. Als u uw wijzigingen wilt door voeren, opent u het git-opdracht programma, gaat u naar de map van uw lokale opslag plaats en geeft u de volgende opdrachten op.To commit your changes, open your Git command tool, switch to the directory of your local repository, and issue the following commands.

git add --all
git commit -m "Description of your changes"

Voer de volgende opdracht uit om alle door voer te pushen naar de-server.To push all of the commits to the server, run the following command.

git push

Wijzigingen in de service configuratie voor het API Management service-exemplaar implementerenTo deploy any service configuration changes to the API Management service instance

Zodra uw lokale wijzigingen zijn doorgevoerd en naar de server opslagplaats zijn gepusht, kunt u deze implementeren in uw API Management service-exemplaar.Once your local changes are committed and pushed to the server repository, you can deploy them to your API Management service instance.

Zie Git-wijzigingen in de configuratie database implementeren met behulpvan de rest API voor meer informatie over het uitvoeren van deze bewerking met behulp van de rest API.For information on performing this operation using the REST API, see Deploy Git changes to configuration database using the REST API.

Verwijzing naar bestands-en mapstructuur van lokale Git-opslag plaatsFile and folder structure reference of local Git repository

De bestanden en mappen in de lokale Git-opslag plaats bevatten de configuratie-informatie over het service-exemplaar.The files and folders in the local git repository contain the configuration information about the service instance.

ItemItem DescriptionDescription
hoofdmap-API-beheer maproot api-management folder Bevat configuratie op het hoogste niveau voor het service-exemplaarContains top-level configuration for the service instance
de map api'sapis folder Bevat de configuratie voor de api's in het service-exemplaarContains the configuration for the apis in the service instance
map groepengroups folder Bevat de configuratie voor de groepen in het service-exemplaarContains the configuration for the groups in the service instance
map beleidpolicies folder Bevat de beleids regels in het service-exemplaarContains the policies in the service instance
map portalStylesportalStyles folder Bevat de configuratie voor de aanpassingen van de ontwikkelaars Portal in het service-exemplaarContains the configuration for the developer portal customizations in the service instance
de map Productsproducts folder Bevat de configuratie voor de producten in het service-exemplaarContains the configuration for the products in the service instance
map met sjablonentemplates folder Bevat de configuratie voor de e-mail sjablonen in het service-exemplaarContains the configuration for the email templates in the service instance

Elke map kan een of meer bestanden bevatten, en in sommige gevallen een of meer mappen, bijvoorbeeld een map voor elke API, product of groep.Each folder can contain one or more files, and in some cases one or more folders, for example a folder for each API, product, or group. De bestanden in elke map zijn specifiek voor het entiteits type dat wordt beschreven door de naam van de map.The files within each folder are specific for the entity type described by the folder name.

BestandstypeFile type DoelPurpose
jsonjson Configuratie-informatie over de respectieve entiteitConfiguration information about the respective entity
htmlhtml Beschrijvingen van de entiteit, vaak weer gegeven in de ontwikkelaars PortalDescriptions about the entity, often displayed in the developer portal
xmlxml BeleidsinstructiesPolicy statements
SScss Opmaak modellen voor het aanpassen van de ontwikkelaars PortalStyle sheets for developer portal customization

U kunt deze bestanden maken, verwijderen, bewerken en beheren op uw lokale bestands systeem, en de wijzigingen worden weer geïmplementeerd in uw API Management service-exemplaar.These files can be created, deleted, edited, and managed on your local file system, and the changes deployed back to your API Management service instance.

Notitie

De volgende entiteiten bevinden zich niet in de Git-opslag plaats en kunnen niet worden geconfigureerd met behulp van Git.The following entities are not contained in the Git repository and cannot be configured using Git.

Hoofdmap-API-beheer mapRoot api-management folder

De hoofdmap api-management bevat een configuration.json bestand dat informatie bevat over het hoogste niveau van het service-exemplaar in de volgende indeling.The root api-management folder contains a configuration.json file that contains top-level information about the service instance in the following format.

{
  "settings": {
    "RegistrationEnabled": "True",
    "UserRegistrationTerms": null,
    "UserRegistrationTermsEnabled": "False",
    "UserRegistrationTermsConsentRequired": "False",
    "DelegationEnabled": "False",
    "DelegationUrl": "",
    "DelegatedSubscriptionEnabled": "False",
    "DelegationValidationKey": "",
    "RequireUserSigninEnabled": "false"
  },
  "$ref-policy": "api-management/policies/global.xml"
}

De eerste vier instellingen (RegistrationEnabled, UserRegistrationTerms, UserRegistrationTermsEnableden UserRegistrationTermsConsentRequired) worden toegewezen aan de volgende instellingen op het tabblad identiteiten in het gedeelte beveiliging .The first four settings (RegistrationEnabled, UserRegistrationTerms, UserRegistrationTermsEnabled, and UserRegistrationTermsConsentRequired) map to the following settings on the Identities tab in the Security section.

Identiteits instellingIdentity setting Wordt toegewezen aanMaps to
RegistrationEnabledRegistrationEnabled Aanwezigheid van ID-provider van gebruikers naam en wacht woordPresence of Username and password identity provider
UserRegistrationTermsUserRegistrationTerms Gebruiksvoorwaarden op het tekstvak voor de aanmelding van de gebruikerTerms of use on user signup textbox
UserRegistrationTermsEnabledUserRegistrationTermsEnabled Selectie vakje gebruiks voorwaarden weer geven op de aanmeldings paginaShow terms of use on signup page checkbox
UserRegistrationTermsConsentRequiredUserRegistrationTermsConsentRequired Selectie vakje toestemming vereisenRequire consent checkbox
RequireUserSigninEnabledRequireUserSigninEnabled Selectie vakje anonieme gebruikers omleiden naar aanmeldings paginaRedirect anonymous users to sign-in page checkbox

De volgende vier instellingen (DelegationEnabled, DelegationUrl, DelegatedSubscriptionEnableden DelegationValidationKey) worden toegewezen aan de volgende instellingen op het tabblad delegering in het gedeelte beveiliging .The next four settings (DelegationEnabled, DelegationUrl, DelegatedSubscriptionEnabled, and DelegationValidationKey) map to the following settings on the Delegation tab in the Security section.

Overdrachts instellingDelegation setting Wordt toegewezen aanMaps to
DelegationEnabledDelegationEnabled Selectie vakje aanmelden & aanmelding voor gemachtigdeDelegate sign-in & sign-up checkbox
DelegationUrlDelegationUrl Tekstvak voor eind punt-URL van overdrachtDelegation endpoint URL textbox
DelegatedSubscriptionEnabledDelegatedSubscriptionEnabled Selectie vakje voor delegeren van product abonnementDelegate product subscription checkbox
DelegationValidationKeyDelegationValidationKey Tekstvak voor validatie sleutel voor gemachtigdeDelegate Validation Key textbox

De laatste instelling, $ref-policy, verwijst naar het bestand met globale beleids overzichten voor het service-exemplaar.The final setting, $ref-policy, maps to the global policy statements file for the service instance.

de map api'sapis folder

De apis map bevat een map voor elke API in het service-exemplaar, die de volgende items bevat.The apis folder contains a folder for each API in the service instance, which contains the following items.

  • apis\<api name>\configuration.json-Dit is de configuratie voor de API en bevat informatie over de URL van de back-end-service en de bewerkingen.apis\<api name>\configuration.json - this is the configuration for the API and contains information about the backend service URL and the operations. Dit is dezelfde informatie die zou worden geretourneerd als u een specifieke API met export=true in application/json -indeling moet aanroepen.This is the same information that would be returned if you were to call Get a specific API with export=true in application/json format.
  • apis\<api name>\api.description.html-Dit is de beschrijving van de API en komt overeen met description de eigenschap van de API-entiteit.apis\<api name>\api.description.html - this is the description of the API and corresponds to the description property of the API entity.
  • apis\<api name>\operations\-deze map bevat <operation name>.description.html bestanden die zijn toegewezen aan de bewerkingen in de API.apis\<api name>\operations\ - this folder contains <operation name>.description.html files that map to the operations in the API. Elk bestand bevat de beschrijving van één bewerking in de API, die wordt toegewezen aan de description eigenschap van de entiteit van de bewerking in de rest API.Each file contains the description of a single operation in the API, which maps to the description property of the operation entity in the REST API.

map groepengroups folder

De groups map bevat een map voor elke groep die is gedefinieerd in het service-exemplaar.The groups folder contains a folder for each group defined in the service instance.

  • groups\<group name>\configuration.json: dit is de configuratie voor de groep.groups\<group name>\configuration.json - this is the configuration for the group. Dit is dezelfde informatie die zou worden geretourneerd als u de bewerking een specifieke groep ophalen aanroept.This is the same information that would be returned if you were to call the Get a specific group operation.
  • groups\<group name>\description.html-Dit is de beschrijving van de groep en komt overeen met description de eigenschap van de entiteit groep.groups\<group name>\description.html - this is the description of the group and corresponds to the description property of the group entity.

map beleidpolicies folder

De policies map bevat de beleids instructies voor uw service-exemplaar.The policies folder contains the policy statements for your service instance.

  • policies\global.xml-bevat beleids regels die zijn gedefinieerd in het globale bereik voor uw service-exemplaar.policies\global.xml - contains policies defined at global scope for your service instance.
  • policies\apis\<api name>\-Als u beleids regels hebt gedefinieerd in het API-bereik, zijn deze opgenomen in deze map.policies\apis\<api name>\ - if you have any policies defined at API scope, they are contained in this folder.
  • policies\apis\<api name>\<operation name>\map: als er beleids regels zijn gedefinieerd in het bewerkings bereik, worden deze opgenomen in <operation name>.xml deze map in bestanden die worden toegewezen aan de beleids instructies voor elke bewerking.policies\apis\<api name>\<operation name>\ folder - if you have any policies defined at operation scope, they are contained in this folder in <operation name>.xml files that map to the policy statements for each operation.
  • policies\products\-Als u beleids regels hebt gedefinieerd op product bereik, zijn deze opgenomen in deze map, die bestanden <product name>.xml bevat die zijn gekoppeld aan de beleids instructies voor elk product.policies\products\ - if you have any policies defined at product scope, they are contained in this folder, which contains <product name>.xml files that map to the policy statements for each product.

map portalStylesportalStyles folder

De portalStyles map bevat configuratie-en stijl bladen voor aanpassingen van de ontwikkelaars portal voor het service-exemplaar.The portalStyles folder contains configuration and style sheets for developer portal customizations for the service instance.

  • portalStyles\configuration.json-bevat de namen van de opmaak modellen die worden gebruikt door de ontwikkelaars PortalportalStyles\configuration.json - contains the names of the style sheets used by the developer portal
  • portalStyles\<style name>.css-elk <style name>.css bestand bevat stijlen voor de ontwikkelaars Portal (Preview.css en Production.css is standaard).portalStyles\<style name>.css - each <style name>.css file contains styles for the developer portal (Preview.css and Production.css by default).

de map Productsproducts folder

De products map bevat een map voor elk product dat is gedefinieerd in het service-exemplaar.The products folder contains a folder for each product defined in the service instance.

  • products\<product name>\configuration.json: dit is de configuratie voor het product.products\<product name>\configuration.json - this is the configuration for the product. Dit is dezelfde informatie die zou worden geretourneerd als u de bewerking een specifieke product ophalen aanroept.This is the same information that would be returned if you were to call the Get a specific product operation.
  • products\<product name>\product.description.html: dit is de beschrijving van het product en komt overeen met description de eigenschap van de product entiteit in de rest API.products\<product name>\product.description.html - this is the description of the product and corresponds to the description property of the product entity in the REST API.

sjablonentemplates

De templates map bevat configuratie voor de e-mail sjablonen van het service-exemplaar.The templates folder contains configuration for the email templates of the service instance.

  • <template name>\configuration.json-Dit is de configuratie voor de e-mail sjabloon.<template name>\configuration.json - this is the configuration for the email template.
  • <template name>\body.html: dit is de hoofd tekst van de e-mail sjabloon.<template name>\body.html - this is the body of the email template.

Volgende stappenNext steps

Zie voor meer informatie over andere manieren om uw service-exemplaar te beheren:For information on other ways to manage your service instance, see: