1.32.0 から 1.33.0 へのアップグレード

Genvid MILE SDK 1.33.0 で導入された変更により、非推奨となった API、クラス、メソッドがあります。また、以前の機能に依存するプロジェクトについては、可能な限り、追加の使用情報も含めています。

注釈

あなたのスクリプトがこれらの変更の影響を受けているかどうかを確認するには、 -W default::DeprecationWarning オプションを付けてスクリプトを実行し、警告を探します。(For example, py -W default::DeprecationWarning myscript.py.)

詳しくはPythonの warnings モジュールを参照してください。

/consultemplate/template_renderer に置き換えました。

クラスタ API の POST /consultemplate とそれに関連するインターフェースを非推奨とし、 POST /template_renderer API を採用することにしました。

アップグレードするには

  1. POST /consultemplate への直接の呼び出しを次のコードに置き換えます。

    POST /v1/template_renderer HTTP/1.1
    Content-Type: application/json
    
    {"content":"template-to-render"}
    
  2. コマンド genvid-sdk consul-template template.txt を:.に置き換えます。

    genvid-sdk render-template -c template.txt
    
  3. メソッド clusterApi.do_consul_template("template-to-render") を: に置き換えます。

    self.clusterAPI.render_template(content="template-to-render")
    

genvid.toolbox.EventsTool を他のクラスのメソッドに置き換えました。

genvid.toolbox.EventsTool API ClusterAPI events defs メソッドとより高いレベルの SDK config メソッドに置き換えました。

例えば、メソッド eventsTool.load_map_reduce('events.json') を呼び出すことと同等です。

sdkTool.load_config('events.json')

この変更は、 RuntimeTool とその子孫にも影響します。

genvid.toolbox.ConfigTool を他のクラスのメソッドに置き換えました。

genvid.toolbox.ConfigTool API を ClusterAPI configlog defs メソッド、そして上位の SDK configlogs メソッドに置き換えました。また、ローレベルの作業を行うために、 consul_kv を直接使用することも可能です。

上記の SDK クラスに加えて、この変更は RuntimeTool とその子孫にも影響を及ぼします。

genvid.toolbox.ProjectTool~genvid.toolbox.ConfigurationLoader に置き換えられました。

genvid.toolbox.ProjectTool API を ConfigurationLoader に置き換えました。これは依存関係が少なく、よりシンプルなユーティリティクラスです。古いクラスを置き換えるには、ConsulTemplateTool から派生させる代わりに、次のようにします。

class MyClass(ConsulTemplateTool):
    ...

    def load_project_configuration(self, project_config_folder):
        loader = ConfigurationLoader(self, self.load_config_template)
        configuration = loader.load_config_folder(project_config_folder)
        loader.update_config(configuration)
        ...

この変更は、 SDKBastionTool (その祖先を通して)クラスにも影響を及ぼします。もし、古い機能が必要な場合は、上記のメソッドを使用するか、 ProjectTool から新しいクラスを派生させてください。例えば、元々 SDK クラスから派生した MyScript というクラスは、次のように変換されます。

class MyScript(SDK, ProjectTool):
   ...

以前と同じように動作します。

~genvid.toolbox.ConsulTemplateTool~genvid.toolbox.ClusterAPI.render_template に置き換わりました。

load_config_template()consul_template_once() 、そして consul_template() などは非推奨になるとそのインターフェースの一部に含まれないメソッドとなります。代わりに、新しい render_template()render_template() メソッドに変更することをお勧めします。

もし、あなたのスクリプトがこれに依存している場合は、 ConsulTemplateTool を直接ご使用の階層に追加することができます。

class MyClass(ConsulTemplateTool):
    ...

    def load_project_configuration(self, project_config_folder):
        loader = ConfigurationLoader(self, self.load_config_template)
        configuration = loader.load_config_folder(project_config_folder)
        loader.update_config(configuration)
        ...

genvid-sdkgenvid-bastion は、新しい template_renderer API が利用可能な場合に使われるようになりました。

これは、 consul-template の関数や、 cluster-apibastion-api にはないローカルな実行コンテキストに依存するプラグインを使っていない限り、ユーザーに影響することなく動作します。もし、古い動作を戻す必要がある場合は、代わりに ConsulTemplateTool から派生させて、次のようにして再現することができます。

class MyClass(ConsulTemplateTool):
    ...

    def load_project_configuration(self, project_config_folder):
        loader = ConfigurationLoader(self, self.load_config_template)
        configuration = loader.load_config_folder(project_config_folder)
        loader.update_config(configuration)
        ...

genvid-toolbox の AWS と Azure のサポートはオプションになりました。

Azure や AWS のサポートを受けずに、あるいはどちらか一方のみで genvid-toolbox をインストールすることができるようになりました。

クラウド対応なしでインストールする場合は、以下のコマンドを実行します。

py ./install-toolbox.py --no-extra

AWS 対応のみでインストールする場合は、以下のコマンドを実行します。

py ./install-toolbox.py --extra aws

Azure のみのサポートでインストールする場合は、以下のコマンドを実行してください。

py ./install-toolbox.py --extra azure

なお、Azure への対応には、Azure CLIパッケージをグローバルにインストールする必要がありますが、これはインストーラーから行うことができます。

参考

詳細は ツールボックスのインストールAWS クラウド環境Azure クラウド環境 を参照してください。