2

Azure Functions、特に PowerShell スクリプト関数をいじっています。SharePoint Online にアクセスするスクリプトをどのように使用できるか疑問に思っています。

SharePoint Online に対して実行するには、通常、Get-SPOSite などのメソッドを使用できるように、SharePoint Online ライブラリをプリロードする PowerShell のバージョンである "SharePoint Online Management Shell" を使用します。

これらの関数を使用できるように、このライブラリを Azure Function PowerShell スクリプトに含めるにはどうすればよいですか? スクリプトの先頭でライブラリをロードする必要があると思いますが、ライブラリをロードするにはどうすればよいですか?

DLL を関数にアップロードし、使用しようとしています。

[System.Reflection.Assembly]::LoadFrom('Microsoft.Online.SharePoint.Client.Tenant.dll')

しかし、これはうまくいかないようです。私の問題は、アップロードしたファイルへの絶対パスがわからないことだと思います。これは、左側のペインに表示されるものです。

ここに画像の説明を入力

しかし、これらのファイルのパスがわかりません。

何か案は?ドキュメンテーションは、すぐに Azure Functions を使用するとイライラするほどスリムになります。

4

2 に答える 2

5

Azure Functions ディレクトリへのパスは次のとおりです。

D:\home\site\wwwroot\<YourFunctionName>

最新の Azure Functions リリース (バージョン 0.3) では、ユーザーに代わって DLL を読み込むことがサポートされています。modulesという名前のフォルダーを作成し、そのフォルダーに DLL をアップロードする必要があります。実際、スクリプト (.psm1)、バイナリ (.dll)、およびマニフェスト (.psd1)モジュールをモジュールフォルダーにアップロードできるようになり、スクリプトを実行する前に自動的に読み込まれます。

サンプルのMyMathLibアセンブリを参考にしてみましょう。

RunSimplePowerShellという名前の関数があり、次のようにMyMathLib.dllという名前のカスタム ライブラリをフォルダーにアップロードしたとします。

D:\home\site\wwwroot\RunSimplePowerShell\modules\MyMathLib.dll

次に、次の場所にある run.ps1 という名前の PowerShell スクリプト

D:\home\site\wwwroot\RunSimplePowerShell\run.ps1

次のように書くことができます。

[MyMathLib.Methods]::Sum(5, 2)

$calculatorInstance= New-Object MyMathLib.Methods
$calculatorInstance.Product(5,2)

Azure Functions リリース 0.3 では、行をスキップできるようになりました

[Reflection.Assembly]::LoadFile("D:\home\site\wwwroot\RunSimplePowerShell\MyMathLib.dll")
于 2016-07-01T18:25:27.353 に答える
1

ある程度、それを理解しました。

ファイルの絶対パスを見つけるには、Azure Functions のコンソールにアクセスします。コンソールにアクセスするには、少しクリックする必要があります。Azure 関数内から:

関数アプリの設定 -> 詳細設定 -> App Service の設定 -> ツール -> コンソールに移動します

コマンド プロンプトにディレクトリ名が表示されます。その後、次を使用できます。

[Reflection.Assembly]::LoadFile("<directory>\MyLibraryNameHere.dll")

アセンブリを引き込みます。

于 2016-06-30T13:00:22.447 に答える