Het opslaan en het configureren van de configuratie van uw API Management-service met behulp van GitHow to save and configure your API Management service configuration using Git

Elk exemplaar van API Management-service onderhoudt een configuratiedatabase die informatie over de configuratie en de metagegevens voor de service-exemplaar bevat.Each API Management service instance maintains a configuration database that contains information about the configuration and metadata for the service instance. Wijzigingen kunnen worden gemaakt naar de service-exemplaar door het wijzigen van een instelling in de Azure-portal, met behulp van een PowerShell-cmdlet of het maken van een REST-API-aanroep.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. U kunt ook uw serviceconfiguratie-exemplaar met behulp van Git, het inschakelen van service management-scenario's zoals beheren naast deze methoden:In addition to these methods, you can also manage your service instance configuration using Git, enabling service management scenarios such as:

  • Versiebeheer van configuratie - downloaden en opslaan van verschillende versies van de configuratie van uw serviceConfiguration versioning - download and store different versions of your service configuration
  • Bulk-wijzigingen in de configuratie - wijzigingen aanbrengen in meerdere delen van de configuratie van uw service in uw lokale opslagplaats en de wijzigingen naar de server integreren in één bewerkingBulk 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
  • Bekend Git-hulpprogrammaketen en workflow - gebruik van de Git-hulpprogramma's en werkstromen die u al bekend met bentFamiliar Git toolchain and workflow - use the Git tooling and workflows that you are already familiar with

Het volgende diagram toont een overzicht van de verschillende manieren voor het configureren van uw API Management service-exemplaar.The following diagram shows an overview of the different ways to configure your API Management service instance.

GIT configureren

Wanneer u wijzigingen aan uw service met behulp van de Azure portal, PowerShell-cmdlets of de REST-API aanbrengt, u beheert uw service configuration database met de https://{name}.management.azure-api.net eindpunt, zoals wordt weergegeven aan de rechterkant 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 de configuratie van uw service met behulp van Git kunt beheren en Git-opslagplaats voor uw service zich bevindt in https://{name}.scm.azure-api.net.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 bevatten een overzicht van het beheer 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. Uw service-configuratiedatabase opslaan in de Git-opslagplaatsSave your service configuration database to your Git repository
  3. Kloon de Git-opslagplaats naar uw lokale computerClone the Git repo to your local machine
  4. De meest recente opslagplaats op uw lokale computer en de wijzigingen doorvoeren en push terug naar uw opslagplaats halenPull the latest repo down to your local machine, and commit and push changes back to your repo
  5. De wijzigingen in uw opslagplaats implementeren in uw service-configuratiedatabaseDeploy the changes from your repo into your service configuration database

In dit artikel wordt beschreven hoe u om te schakelen en gebruik Git om de serviceconfiguratie van uw te beheren en bevat een referentie voor de bestanden en mappen in de Git-opslagplaats.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 wilt weergeven en configureren uw Git-configuratie-instellingen, klikt u op de Security menu en navigeer naar de configuratieopslagplaats tabblad.To view and configure your Git configuration settings, you can click the Security menu and navigate to the Configuration repository tab.

Inschakelen van GIT

Belangrijk

Geen geheimen die niet zijn gedefinieerd als eigenschappen worden opgeslagen in de opslagplaats en in de geschiedenis tot u blijven uitschakelen en weer inschakelen Git-toegang.Any secrets that are not defined as properties will be stored in the repository and will remain in its history until you disable and re-enable Git access. Eigenschappen bieden een veilige plaats voor het beheren van constante tekenreekswaarden geheimen, waaronder in alle configuratie-API en het beleid, zodat u hoeft voor het opslaan van deze rechtstreeks in de beleidsinstructies van uw.Properties 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 voor meer informatie, Dubbeleigenschappen gebruiken in Azure API Management-beleidsregels.For more information, see How to use properties in Azure API Management policies.

Zie voor meer informatie over het inschakelen of uitschakelen van Git-toegang met behulp van de REST-API in- of uitschakelen van de Git-toegang 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.

Configuratie van de service om op te slaan de Git-opslagplaatsTo save the service configuration to the Git repository

De eerste stap voorafgaand aan het kopiëren van de opslagplaats is om op te slaan van de huidige status van de configuratie van de service naar de opslagplaats.The first step before cloning the repository is to save the current state of the service configuration to the repository. Klik op opslaan in opslagplaats.Click Save to repository.

Breng de gewenste wijzigingen in het bevestigingsscherm en klikt u op Ok om op te slaan.Make any desired changes on the confirmation screen and click Ok to save.

Na enkele ogenblikken de configuratie wordt opgeslagen en de status van de configuratie van de opslagplaats wordt weergegeven, met inbegrip van de datum en tijd van de laatste wijziging in de configuratie en de laatste synchronisatie tussen de serviceconfiguratie en de opslagplaats.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.

Wanneer de configuratie is opgeslagen in de opslagplaats, kunnen worden gekloond.Once the configuration is saved to the repository, it can be cloned.

Zie voor informatie over het uitvoeren van deze bewerking via de REST API, doorvoeren configuratie momentopname over met de REST-API.For information on performing this operation using the REST API, see Commit configuration snapshot using the REST API.

Kloon de opslagplaats naar uw lokale computerTo clone the repository to your local machine

Als u wilt een opslagplaats klonen, moet u de URL naar uw opslagplaats en de naam van een gebruiker een wachtwoord.To clone a repository, you need the URL to your repository, a user name, and a password. Als u de gebruikersnaam van de en andere referenties, klikt u op toegangsreferenties bovenaan de pagina.To get user name and other credentials, click on Access credentials near the top of the page.

Voor het genereren van een wachtwoord, eerst voor zorgen dat de verlopen is ingesteld op de gewenste datum en tijd, en klik 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 wachtwoord.Make a note of this password. Nadat u deze pagina verlaat wordt het wachtwoord niet opnieuw weergegeven.Once you leave this page the password will not be displayed again.

De volgende voorbeelden gebruiken de Git Bash-hulpprogramma van Git voor Windows maar kunt u een Git-hulpprogramma dat u bekend met 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-hulpprogramma in de gewenste map en voer de volgende opdracht voor het klonen van de git-opslagplaats naar uw lokale computer, met de opdracht die is geleverd door 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 gebruikersnaam en wachtwoord wanneer hierom wordt gevraagd.Provide the user name and password when prompted.

Als u eventuele fouten ontvangt, probeert u het wijzigen van uw git clone opdracht om op te nemen van de gebruikersnaam en wachtwoord, zoals wordt weergegeven in het volgende voorbeeld.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 dit een fout opgetreden, probeer het URL-codering van de wachtwoordgedeelte van de opdracht.If this provides an error, try URL encoding the password portion of the command. Een snelle manier om dit te doen is Visual Studio opent, en geef de volgende opdracht uit in de venster direct.One quick way to do this is to open Visual Studio, and issue the following command in the Immediate Window. Om te openen de venster direct, een oplossing of project openen in Visual Studio (of maak een nieuwe toepassing in de lege console), en kies Windows, direct vanuit de Debug menu.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.NetWebUtility.UrlEncode("password from the Azure portal")

Gebruik het gecodeerde wachtwoord samen met de locatie van de naam en de opslagplaats te maken van de git-opdracht.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 opslagplaats hebt gekloond, kunt u bekijken en ermee te werken in uw lokale bestandssysteem.Once the repository is cloned, you can view and work with it in your local file system. Zie voor meer informatie, bestands- en structuur van verwijzing van lokale Git-opslagplaats.For more information, see File and folder structure reference of local Git repository.

Uw lokale opslagplaats bijwerken met de configuratie van de meest recente service-exemplaarTo update your local repository with the most current service instance configuration

Als u wijzigingen in uw API Management-service-exemplaar in de Azure-portal of via de REST-API aanbrengt, moet u deze wijzigingen opslaat in de opslagplaats, voordat u uw lokale opslagplaats met de meest recente wijzigingen bijwerken kunt.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. Om dit te doen, klikt u op configuratie opslaan in opslagplaats op de configuratieopslagplaats tabblad in de Azure-portal en geef vervolgens de volgende opdracht in uw lokale opslagplaats.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

Voordat u git pull Zorg ervoor dat u in de map voor uw lokale opslagplaats.Before running git pull ensure that you are in the folder for your local repository. Als u hebt zojuist de git clone opdracht, en vervolgens u de map in uw opslagplaats wijzigen moet door het uitvoeren van een opdracht als volgt.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 uit uw lokale opslagplaats naar de opslagplaats van de server pushenTo push changes from your local repo to the server repo

Als u wilt wijzigingen vanuit uw lokale opslagplaats pushen naar de opslagplaats van de server, moet u uw wijzigingen doorvoeren en push ze vervolgens naar de opslagplaats van de server.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 wilt uw wijzigingen doorvoeren, open uw hulpprogramma voor Git-opdracht, Ga naar de map van uw lokale opslagplaats en uitgeven van de volgende opdrachten.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"

Als u wilt alle van de doorvoeringen doorgeven naar de server pushen, moet u de volgende opdracht uitvoeren.To push all of the commits to the server, run the following command.

git push

Eventuele wijzigingen in de serviceconfiguratie implementeren naar de API Management service-exemplaarTo deploy any service configuration changes to the API Management service instance

Zodra uw lokale wijzigingen zijn doorgevoerd en naar de opslagplaats van de server gepusht, kunt u deze implementeren naar 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 voor informatie over het uitvoeren van deze bewerking via de REST API, implementeren Git wordt gewijzigd in de REST-API-configuratiedatabase.For information on performing this operation using the REST API, see Deploy Git changes to configuration database using the REST API.

Verwijzing voor bestands- en structuur van de lokale Git-opslagplaatsFile and folder structure reference of local Git repository

De bestanden en mappen in de lokale git-opslagplaats 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 BeschrijvingDescription
hoofdmap van de api-beheerroot api-management folder Op het hoogste niveau van de configuratie voor de service-exemplaar bevatContains top-level configuration for the service instance
map van de 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 beleidsregels in het service-exemplaarContains the policies in the service instance
portalStyles mapportalStyles folder Bevat de configuratie voor de developer portal aanpassingen in de service-exemplaarContains the configuration for the developer portal customizations in the service instance
producten mapproducts folder Bevat de configuratie voor de producten in de service-exemplaarContains the configuration for the products in the service instance
map met sjablonentemplates folder Bevat de configuratie voor de e-mailsjablonen 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, producten 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 entiteitstype 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
HTML-codehtml Informatie over de entiteit, vaak weergegeven in de portal voor ontwikkelaarsDescriptions about the entity, often displayed in the developer portal
xmlxml BeleidsinstructiesPolicy statements
CSScss Opmaakmodellen voor ontwikkelaars van de portal aanpassenStyle sheets for developer portal customization

Deze bestanden kunnen worden gemaakt, verwijderd, bewerkt en beheerd op het lokale bestandssysteem en de wijzigingen terug naar uw API Management service-exemplaar geïmplementeerd.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 zijn niet opgenomen in de Git-opslagplaats 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.

  • GebruikersUsers
  • AbonnementenSubscriptions
  • EigenschappenProperties
  • Developer portal entiteiten dan stijlenDeveloper portal entities other than styles

hoofdmap van de api-beheerRoot api-management folder

De hoofdmap api-management map bevat een configuration.json bestand die op het hoogste niveau informatie over de service-exemplaar in de volgende notatie bevat.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, UserRegistrationTermsEnabled, en UserRegistrationTermsConsentRequired) toewijzen aan de volgende instellingen op de identiteiten tabblad de Security sectie.The first four settings (RegistrationEnabled, UserRegistrationTerms, UserRegistrationTermsEnabled, and UserRegistrationTermsConsentRequired) map to the following settings on the Identities tab in the Security section.

IdentiteitIdentity setting Toegewezen aanMaps to
RegistrationEnabledRegistrationEnabled Aanwezigheid van gebruikersnaam en wachtwoord id-providerPresence of Username and password identity provider
UserRegistrationTermsUserRegistrationTerms Gebruiksvoorwaarden bij gebruikersregistratie tekstvakTerms of use on user signup textbox
UserRegistrationTermsEnabledUserRegistrationTermsEnabled Gebruiksvoorwaarden weergeven op registratiepagina selectievakjeShow terms of use on signup page checkbox
UserRegistrationTermsConsentRequiredUserRegistrationTermsConsentRequired Toestemming vereisen selectievakjeRequire consent checkbox
RequireUserSigninEnabledRequireUserSigninEnabled Anonieme gebruikers omleiden naar de aanmeldingspagina selectievakjeRedirect anonymous users to sign-in page checkbox

De volgende vier instellingen (DelegationEnabled, DelegationUrl, DelegatedSubscriptionEnabled, en DelegationValidationKey) toewijzen aan de volgende instellingen op de delegering tabblad de Security sectie.The next four settings (DelegationEnabled, DelegationUrl, DelegatedSubscriptionEnabled, and DelegationValidationKey) map to the following settings on the Delegation tab in the Security section.

Delegatie-instellingDelegation setting Toegewezen aanMaps to
DelegationEnabledDelegationEnabled Gemachtigde aanmelden en meld u aan selectievakjeDelegate sign-in & sign-up checkbox
DelegationUrlDelegationUrl URL van de delegatie-eindpunt tekstvakDelegation endpoint URL textbox
DelegatedSubscriptionEnabledDelegatedSubscriptionEnabled Productabonnement delegeren selectievakjeDelegate product subscription checkbox
DelegationValidationKeyDelegationValidationKey Delegeren validatiesleutel tekstvakDelegate Validation Key textbox

De instelling van de laatste $ref-policy, toegewezen aan het globale beleid instructies-bestand voor het service-exemplaar.The final setting, $ref-policy, maps to the global policy statements file for the service instance.

map van de API 'sapis folder

De apis een map bevat voor elke API in het service-exemplaar dat 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 wordt geretourneerd als u aan te roepen ophalen van een bepaalde API met export=true in application/json indeling.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 de description 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 een enkele bewerking in de API, die wordt toegewezen aan de description eigenschap van de bewerking entiteit 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 wordt geretourneerd als u aan te roepen de ophalen van een specifieke groep bewerking.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 de description eigenschap van de groep entiteit.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 beleidsinstructies voor uw service-exemplaar.The policies folder contains the policy statements for your service instance.

  • policies\global.xml -beleidsregels die zijn opgegeven in het globale bereik voor uw service-exemplaar bevat.policies\global.xml - contains policies defined at global scope for your service instance.
  • policies\apis\<api name>\ -Als u alle beleidsregels die zijn opgegeven in het bereik van de API hebt, ze zijn 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 - hebt u een beleid dat is opgegeven in het bewerkingsbereik, ze zijn opgenomen in deze map in <operation name>.xml bestanden die zijn toegewezen aan het voor beleidsinstructies 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 alle beleidsregels die zijn opgegeven in het productbereik hebt, ze zijn opgenomen in deze map bevat <product name>.xml bestanden die zijn toegewezen aan de beleidsinstructies 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.

portalStyles mapportalStyles folder

De portalStyles map bevat configuratie- en opmaakmodellen voor developer portal aanpassingen voor de 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 opmaakmodellen die worden gebruikt door de portal voor ontwikkelaarsportalStyles\configuration.json - contains the names of the style sheets used by the developer portal
  • portalStyles\<style name>.css -elke <style name>.css -bestand bevat stijlen voor de developer-portal (Preview.css en Production.css standaard).portalStyles\<style name>.css - each <style name>.css file contains styles for the developer portal (Preview.css and Production.css by default).

producten mapproducts 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 wordt geretourneerd als u aan te roepen de ophalen van een specifiek product bewerking.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 de description eigenschap van de productenentiteit 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 de configuratie voor de e-mailsjablonen 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-mailsjabloon.<template name>\configuration.json - this is the configuration for the email template.
  • <template name>\body.html -Dit is de hoofdtekst van het e-mailsjabloon.<template name>\body.html - this is the body of the email template.

Volgende stappenNext steps

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