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
モジュールを参照してください。
In This Section
/consultemplate
を/template_renderer
に置き換えました。genvid.toolbox.EventsTool
を他のクラスのメソッドに置き換えました。genvid.toolbox.ConfigTool
を他のクラスのメソッドに置き換えました。genvid.toolbox.ProjectTool
は~genvid.toolbox.ConfigurationLoader
に置き換えられました。~genvid.toolbox.ConsulTemplateTool
は~genvid.toolbox.ClusterAPI.render_template
に置き換わりました。genvid-sdk
とgenvid-bastion
は、新しいtemplate_renderer
API が利用可能な場合に使われるようになりました。genvid-toolbox
の AWS と Azure のサポートはオプションになりました。
/consultemplate
を /template_renderer
に置き換えました。¶
クラスタ API の POST /consultemplate
とそれに関連するインターフェースを非推奨とし、 POST /template_renderer
API を採用することにしました。
アップグレードするには
POST /consultemplate
への直接の呼び出しを次のコードに置き換えます。POST /v1/template_renderer HTTP/1.1 Content-Type: application/json {"content":"template-to-render"}
コマンド genvid-sdk consul-template template.txt を:.に置き換えます。
genvid-sdk render-template -c template.txt
メソッド
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
config
と log defs
メソッド、そして上位の SDK
config
と logs
メソッドに置き換えました。また、ローレベルの作業を行うために、 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)
...
この変更は、 SDK
と BastionTool
(その祖先を通して)クラスにも影響を及ぼします。もし、古い機能が必要な場合は、上記のメソッドを使用するか、 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-sdk
と genvid-bastion
は、新しい template_renderer
API が利用可能な場合に使われるようになりました。¶
これは、 consul-template
の関数や、 cluster-api
や bastion-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 クラウド環境 を参照してください。