2017-05-17 18 views
2

私は、Azure SearchインスタンスとAzure Searchインスタンスに依存する関数Appの両方をデプロイするためのARMテンプレートを作成しています。その一環として、機能アプリの設定に検索サービスのAPIキーをあらかじめ入力しようとしています。ARMテンプレートlistkeys()がAzureの検索に失敗する

私はFunctionAppSiteのアプリの設定のいずれかの値に以下を追加することでこれをやっている:

[listKeys(variables('searchServiceId'), '2015-08-19').key1] 

私は、変数のセクションでsearchServiceIdを取得

[resourceId('Microsoft.Search/searchServices', parameters('SearchServiceName'))] 

FunctionAppSiteコンポーネントは、AppServicePlanStorageAccountおよびSearchServiceに依存します。

listkeysが検索サービスを検出できなかったため、テンプレートを展開すると検索サービスが作成されるとエラーが発生します。これは、サービスが作成されてから約0.25秒後に発生します。

私はlistkeysの前後で構文が正しいと確信しています。問題はちょうどタイミングですが、どのように遅くすることができますか。私はStorageAccountをテンプレート内のSearchServiceに依存させようとしましたが、依存関係チェインが十分に遅くなることを願っていましたが、StorageAccountが作成される前にlistkeysエラーが発生します。

フルテンプレートはhereです。実際に見たい場合は、そのリポジトリのreadme.mdに「Deploy to Azure」ボタンがあります。

答えて

5

まあ、Microsoft.Searchのプロバイダの操作を見て:

Microsoft.Search/register/action 
Microsoft.Search/checkNameAvailability/action 
Microsoft.Search/searchServices/write 
Microsoft.Search/searchServices/read 
Microsoft.Search/searchServices/delete 
Microsoft.Search/searchServices/start/action 
Microsoft.Search/searchServices/stop/action 
Microsoft.Search/searchServices/listAdminKeys/action 
Microsoft.Search/searchServices/regenerateAdminKey/action 
Microsoft.Search/searchServices/createQueryKey/action 
Microsoft.Search/searchServices/queryKey/read 
Microsoft.Search/searchServices/queryKey/delete 

これは、あなたがそれを行う方法です。

"[listAdminKeys(variables('searchServiceId'), '2015-08-19').PrimaryKey]" 

プロバイダ操作を一覧表示するには:

$ops = (Get-AzureRmProviderOperation -OperationSearchString */*).Operation 
+1

あなたはどのようにコメントすることができますあなたはプロバイダの操作を見ましたか? – bearrito

+1

大きな秘密ではなく、答えを更新@bearrito – 4c74356b41

関連する問題