Storage Providerの仕様変更について

Storage Providerの仕様がGeneXus 15 Upgrade 8以降でいくつか変更されておりましたので、ご紹介します。

エクセルの出力先

以前のエクセル出力機能ではアプリケーション直下のディレクトリに、エクセルファイルが生成される仕様でした。
GeneXus 15 Upgrade 7(日本では未リリースなので実質Upgrade 8)から Storage Provider プロパティに外部ストレージを指定している場合、出力先は外部ストレージになりました。
Folder Name プロパティに値を設定しても、デフォルトではバケット直下にファイルが生成されておりました。

なお、WorkWithやWorkWithPlusのエクセル出力機能のデフォルトのままでは、404ステータスエラーが発生してファイルがダウンロードできませんでした。
次のコードをエクセル出力のプロシージャに追記することで、ダウンロードできるようになりました。

Storage Provider API

GeneXus 15 Upgrade 9(日本では未リリースなので実質Upgrade 10)にてStorage Provider APIを使用する場合に、Fileデータタイプのメソッドでの戻り値が変更されました。
以下の例を基に説明します(バケットやファイルは存在しませんので、アクセスしないでください)。

  • 外部ストレージ:Amazon S3
  • バケット名:bucket-name
  • ディレクトリ名:directory
  • ファイル名:picture.png

GetNameメソッド

  • 仕様変更前:directory/picture.png
  • 仕様変更後:picture.png

GetPathメソッド

  • 仕様変更前:https://bucket-name.s3.amazonaws.com/directory/picture.png
  • 仕様変更後:directory

GetAbsoluteNameメソッド

  • 仕様変更前:https://bucket-name.s3.amazonaws.com/directory/picture.png
  • 仕様変更後:directory/picture.png

それぞれのメソッドとして期待されるデータが取得できるようになりましたが、大きく変更されておりますので、注意が必要ですね。
なお、以前のようにファィルのURLを取得する場合には、GeneXus 15 Upgrade 9にて追加されたGetURIメソッドを使用します。


2019.02.05追記

404ステータスエラーが表示されてダウンロードできない件ですが、GeneXusのSACに登録されておりました。

GeneXus SAC – 外部のストレージプロバイダを設定してWorkWithパターンの[エクスポート]オプションを使用した場合404エラーが発生する
https://sac.genexus.jp/viewtr_saclist.aspx?42631,

修正予定についてジェネクサス・ジャパン社に確認したところ、現時点では未定とのご回答をいただきました。

2019.04.02追記

SACの修正予定日に記載はありませんが、GeneXus 16 Upgrade 3にて修正予定との連絡をいただきました。
また、WorkWithPlusで出力したエクセルでも同様な事象が発生しておりましたが、12.14で修正されました。

 

システム開発のご相談はこちらからお気軽にお問合せください。


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です