2017-12-08 12 views
0

az cliを使用しています。デフォルトのホストキーを取得する必要があります。CLIを使用して機能アプリケーションのデフォルトのホストキーを取得

az functionappの下でさまざまなオプションを試しましたが、出力にキーが含まれていないようです。

たとえば、次の例では、機能アプリケーションに関する情報は多く出力されますが、ホストまたはファンクションキーの情報は出力されません。

az functionapp show --resource-group my-resource-group --name my-function-app 

答えて

0

私はLinux互換のソリューションが必要でしたので、PowerShellは問題にはなりませんでした。しかし、私はthis answerで提供されているソリューションを翻訳することができました。

TENANT="XXX" 
CLIENT_ID="XXX" 
CLIENT_SECRET="XXX" 
SUBSCRIPTION_ID="XXX" 
RESOURCE_GROUP="my-resource-group" 
FUNCTION_APP_NAME="my-function-app" 
API_URL="https://$FUNCTION_APP_NAME.scm.azurewebsites.net/api/functions/admin/token" 
SITE_URL="https://$FUNCTION_APP_NAME.azurewebsites.net/admin/host/systemkeys/_master" 

### Grab a fresh bearer access token. 
ACCESS_TOKEN=$(curl -s -X POST -F grant_type=client_credentials -F resource=https://management.azure.com/ -F client_id=$CLIENT_ID -F client_secret=$CLIENT_SECRET https://login.microsoftonline.com/$TENANT/oauth2/token | jq '.access_token' -r) 

### Grab the publish data for the Funciton App and output it to an XML file. 
PUBLISH_DATA=$(curl -s -X POST -H "Content-Length: 0" -H "Authorization: Bearer $ACCESS_TOKEN" https://management.azure.com/subscriptions/$SUBSCRIPTION_ID/resourceGroups/$RESOURCE_GROUP/providers/Microsoft.Web/sites/$FUNCTION_APP_NAME/publishxml?api-version=2016-08-01) 
echo $PUBLISH_DATA > publish_data.xml 

### Grab the Kudu username and password from the publish data XML file. 
USER_NAME=$(xmlstarlet sel -t -v "//publishProfile[@profileName='$FUNCTION_APP_NAME - Web Deploy']/@userName" publish_data.xml) 
USER_PASSWORD=$(xmlstarlet sel -t -v "//publishProfile[@profileName='$FUNCTION_APP_NAME - Web Deploy']/@userPWD" publish_data.xml) 

### Generate a JWT that can be used with the Functions Key API. 
JWT=$(curl -s -X GET -u $USER_NAME:$USER_PASSWORD $API_URL | tr -d '"') 

### Grab the '_master' key from the Functions Key API. 
KEY=$(curl -s -X GET -H "Authorization: Bearer $JWT" $SITE_URL | jq -r '.value') 
-1

機能アプリをローカルでfunc host startを使用して実行します。次に、APIsを使用してキーを取得します。 /admin/host/keysはあなたが望むものを手に入れます。

関連する問題