2016-04-11 11 views
1

Gibt es eine Möglichkeit, den Primärschlüssel einer Azure DocumentDB mit Powershell zu bekommen ist?Get Azure DocumentDB Primärschlüssel mit Powershell

Danke,

+0

Nein, es gibt keinen solchen Befehl in Powershell nach https://github.com/savjani/Azure-DocumentDB-Powershell-Cmdlets, ich würde vorschlagen, dass Sie auf https://feedback.azure.com gehen/forums/263030-documentdb und erstellen Sie die Anfrage dafür. – forester123

Antwort

2

Ich könnte einen besseren Weg finden Schlüssel zur Liste eine beliebige azurblaue Ressource.

Beispiel: für Dokument DB- können Sie das folgende Skript verwenden

$ Schlüssel = Invoke-AzureRmResourceAction -Action listKeys -ResourceType "Microsoft.DocumentDb/databaseAccounts" -ApiVersion "2015.04.08" -ResourceGroupName " "-Name ""

Für mehr Informationen, Bitte besuchen Sie MSDN-Artikel. https://docs.microsoft.com/en-us/azure/documentdb/documentdb-manage-account-with-powershell

5

Sie das untenstehende Powershell-Skript verwenden, können die DocumentDB-Konto zu erstellen und den Schlüssel abzurufen.

Sie können es modifty, wenn Sie nur den Schlüssel abrufen möchten.

Lassen Sie mich wissen, ob das hilft oder Sie benötigen Hilfe. Glücklich zu helfen :)

#Input 
$subName = "<subscription name>" 
$rgName = "<resource group name>" 
$docDBAccount = "<DocDB account name>" 
Select-AzureRmSubscription -SubscriptionName $subName 
$sub = Get-AzureRmSubscription -SubscriptionName $subName 

#Get Azure AAD auth token 
$clientId = "1950a258-227b-4e31-a9cf-717495945fc2" 
$redirectUri = "urn:ietf:wg:oauth:2.0:oob" 
$resourceClientId = "00000002-0000-0000-c000-000000000000" 
$resourceAppIdURI = "https://management.core.windows.net/" 
$authority = "https://login.windows.net/common" 
$authContext = New-Object "Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationContext" -ArgumentList $authority,$false 
$authResult = $authContext.AcquireToken($resourceAppIdURI, $clientId, $redirectUri, "Auto") 
$header = $authresult.CreateAuthorizationHeader() 
$tenants = Invoke-RestMethod -Method GET -Uri "https://management.azure.com/tenants?api-version=2014-04-01" -Headers @{"Authorization"=$header} -ContentType "application/json" 
$tenant = $tenants.value.tenantId 
$authority = [System.String]::Format("https://login.windows.net/{0}", $tenant) 
$authContext = New-Object "Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationContext" -ArgumentList $authority,$false 
$authResult = $authContext.AcquireToken($resourceAppIdURI, $clientId, $redirectUri, "Auto") 
$header = $authresult.CreateAuthorizationHeader() 


#Get the account keys and dsi 
$account = Get-AzureRmResource -ResourceType Microsoft.DocumentDb/databaseAccounts -ResourceName $docDBAccount -ResourceGroupName $rgName 
$keysurl = [System.String]::Format("https://management.azure.com/subscriptions/{0}/resourcegroups/{1}/providers/Microsoft.DocumentDB/databaseAccounts/{2}/listKeys?api-version=2014-04-01", $sub.SubscriptionId, $rgName, $docDBAccount) 
$keys = Invoke-RestMethod -Method POST -Uri $keysurl -Headers @{"Authorization"=$header} -ContentType "application/json" 
$account.Properties.DocumentEndpoint 
$keys.primaryMasterKey 
$keys.secondaryMasterKey 
+0

Hallo Satish, Ich sah diesen Powershell-Skript vor, aber wie diese Werte erhalten Powershell? Ich versuche, meine Bereitstellung zu automatisieren. $ clientId = "1950a258-227b-4E31-a9cf-717495945fc2" $ redirectUri = "urn: ietf: wg: oauth: 2,0: oob" $ resourceClientId = "00000002-0000-0000-c000-000000000000" –

+0

Sie können benutze die selbe clientid und resourceclientid für jetzt. Es sollte für Sie arbeiten. Wir werden in Zukunft eine verbesserte Erfahrung haben. –