最近のアクセス:
サーバーレスデプロイにおける Azure Storage への静的ファイルのデプロイ

サーバーレスアーキテクチャに特有の解決すべき問題として、Functions が「マイクロサービス」である点が挙げられます。このため、静的な画像や動画など、ほかのリソースにアクセスするには、これらのリソースを静的 Web サイトにデプロイする必要があります。
モバイルアプリケーションの gxmetadata も同様で、これらはアプリケーションをアップデート (メジャーまたはマイナー) するために、またはナレッジベースナビゲーター (KBN) からサービスを利用できるようにするために、モバイルクライアントからアクセスが必要な静的なリソースです。これらの機能は、デプロイ時に [ Enable KBN ] プロパティ[ App Update ] プロパティを通じて有効にします。
モバイルパネル内の静的リソースはアプリケーションのパッケージ (.apk または .ipa) に含まれます。このため、通常はここでアクセスします。ただし、画像がアプリケーションに追加され、メタデータを通じたアプリケーションアップデートのみが必要な場合は例外です。この場合は apk/ipa に含まれません。画像はアプリケーションのアドレスに加え、gxmetadata の images.json ファイルで指定された場所で検索されます。
このすべての場合に対応するため、リソースは Azure Blob Storage に保存し、リソースがリクエストされたときにこの場所へのリダイレクトを自動で解決する必要があります。
Function App から、既存のストレージアカウント内の静的 Web サイト機能を使用できます。別のものを使用することもできます。静的 Web サイトとしてホストされたフロントエンドは、ページのレンダリングに Web サーバーを必要とせず、ファイルのみがクライアントに配信されます。
注: Angular アプリケーションの場合、静的リソースはアプリケーションのバンドルに含まれ、一緒にデプロイされるため (「フロントエンドアプリケーションをクラウドプロバイダーのオブジェクトストレージにデプロイする」を参照)、ここに示す手順に従う必要はありません。
まとめると、アプリケーションのバックエンドサービスを Azure サーバーレスにデプロイし、[ Enable KBN ] プロパティまたは [ App Update ] プロパティを有効にする場合か、Azure Functions でレンダリングする静的リソースがある場合は、次の手順に従います。

1. Azure アカウントと Azure Web サイトを定義する

Web サイトのホスティングの有効化を参照してください。
警告: 有効にする必要があるのは Web サイトのみです。リソースはデプロイによりすべてそこに自動的にアップロードされます。

2. デプロイ時に次のプロパティを設定する

イメージ:50143.png
アクセスキーを取得するには (デプロイ時に [ Storage Account key ] プロパティに入力するため)、Azure ポータルでストレージアカウントの [ アクセスキー ] ペインを操作します。

3. 静的 Web サイトにリダイレクトするよう APIM ポリシーを設定する

デプロイエンジンにより、APIM 管理に 2 つの操作が自動的に作成されます。1 つは gxmetadata 用で、もう 1 つは Resources 用です。
たとえば、gxmetadata の操作は次のようになります:
イメージ:50144.png
この時点で、Azure ポータルを使用して、静的 Web サイトにリダイレクトするというポリシーを設定する必要があります。
そのためには、gxmetadata 操作を選択し、 [ 受信処理 ] ペインを操作します。
イメージ:50145.png
次の内容を追加します。例の base-url は実際の URL に置き換えます (静的 Web サイトのエンドポイント、または設定した場合は CDN エンドポイント)。
<inbound>
 <base />
 <set-backend-service base-url="https://storagegxapps.z13.web.core.windows.net/" />
</inbound>
次のようになります:
イメージ:50146.png
その後、Resources 操作についても同様にします。
イメージ:50147.png

MSBuild の使用

MSBuild スクリプトを通じて、実行する 3 つ目の MSBuild スクリプト (デプロイ作成とパッケージ作成のスクリプトの実行後) を次に示します:
MSBuild.exe /nologo /verbosity:minimal /ToolsVersion:4.0 "C:\Genexus\DeploymentTargets\AzureServerless\deploy.msbuild"
/p:AZURE_SERVERLESS_FUNCTION_APP="HttpWinNet6"
/p:AZURE_SERVERLESS_RESOURCE_GROUP="HttpWinNet6"
/p:AZURE_SERVERLESS_SP_APP_ID="xxxxxx"
/p:AZURE_SERVERLESS_SP_CREDENTIALS="xxxxx"
/p:AZURE_SERVERLESS_AZURE_STORAGE_ACCOUNT="storagegxapps" /p:AZURE_SERVERLESS_AZURE_STORAGE_ACCOUNT_KEY="xxxxxx" /p:AZURE_APIM_SERVICE_NAME="GXAPIManagement"
/p:AZURE_APIM_RESOURCE_GROUP="apimanage"
/p:AZURE_APIM_API_ID="APIresTest2"
/p:AZURE_APIM_API_DISPLAY_NAME="API resources test 2"
/p:AZURE_APIM_API_SERVICE_URL="https://httpwinnet6.azurewebsites.net"
/p:AZURE_APIM_API_PATH="APIresTest2"
/p:AZURE_APIM_API_SUBSCRIPTION_REQUIRED="false"
/p:APP_UPDATE="MINOR"
/p:ENABLE_KBN="True"
/p:GENERATOR=".NET"
/p:APPLICATION_NAME="DpuMeta_20220223141801"
/p:DEPLOY_PATH="C:\models\Test\NETSQLServerCloud\Deploy\AZURE_SERVERLESS\DpuMeta\20220223141801"
/p:GX_PROGRAM_DIR="C:\Genexus"
/p:ProjectName="DpuMeta_20220223141801"
/p:TargetId="AZURE_SERVERLESS"
/p:ObjectNames="Dashboard:MenuAir;SDPanel:Panel1"
/p:DeployFullPath="C:\models\Test\NETSQLServerCloud\Deploy\AZURE_SERVERLESS\DpuMeta\20220223141801"
/t:Deploy
 



サブページ
Created: 23/04/24 18:11 by Admin Last update: 23/05/24 03:22 by Admin
カテゴリ
Powered by GXwiki 3.0