ベースレシピに同梱されたタスクノードのためのライブラリーです。
Pythonコードを編集する際、dashライブラリーを指定することで、タスクノードの入出力ポートに接続済のファイルに対するアクセスやタスクノードの実行状態を表示できます。
タスクノードの入出力ポートに接続されているファイルに対してアクセスできます。
詳細は、「dashlib.ports」を参照してください。
タスクノードの実行状態を表示できます。
詳細は、「dashlib.event」を参照してください。
データベースに対してクエリを実行できます。
詳細は、「dashlib.db」を参照してください。
import dashlib
dashlib.usage()
portsモジュールを利用することで、ノードに接続しているポートのファイル名やファイルハンドラーを取得できます。
dashlib.ports.<ポート名>.asFile(mode)のエイリアスです。
ポートに接続済のファイルのファイルオブジェクトを取得します。
存在しないポートにアクセスすると、PortNotFoundエラーが発生します。
ポートだけ存在し、データノードを接続していない場合、LinkNotFoundエラーが発生します。
ポートにディレクトリーを接続した場合、IsADirectoryErrorが発生します。
引数 | 説明 |
---|---|
mode(str) |
省略できます。Pythonの組み込み関数open関数のmodeに渡されます。 省略した場合、入力ポートの場合は"r"が、出力ポートの場合は"w"が自動的に使用されます。 |
ポートに接続されているファイルにアクセスするためのフルパスを取得できます。
このプロパティを用いて、ディレクトリーなどに対するアクセスなどのコードを記述できます。
存在しないポートにアクセスすると、PortNotFoundエラーが発生します。
ポートだけ存在し、データノードが接続されていない場合、LinkNotFoundエラーが発生します。
タスクノードとデータノードを接続する場合、そのタスクのJupyter Notebookの画面上でタスクスクリプトを以下のように実行することで、Pythonのファイルオブジェクトを取得、利用できます。
import dashlib as dash # 1. 入力ポートから内容を読み取り f1 = dash.ports.In1() in1_content = f1.read() f1.close() # 2. 出力ポートに内容を書き込み(*) with dash.ports.Out1() as f: f.write(in1_content)
*: dashlib.ports.<ポート名>は、Python の open関数と同様のインターフェイスを持つため、withも利用できます。
Pythonソースコードの任意の場所で呼び出すと、キャンバス上のタスクノードの下部に、コメントおよび進捗率を出力できます。進捗率自体は、自分で計算して出力する必要があります。
この関数はフローの実行時だけ有効です。
タスクノードの[edit this task]アイコンからJupyter Notebookの画面を開いて、Jupyter Notebook単体での実行時には、利用できません。
引数 | 説明 |
---|---|
comment(str) | タスクノードの下部に表示されるコメントです。 |
progressRatio(int) | 0~100の間の値を指定できます。省略できます。 |
データベースのコネクタオブジェクトを取得します。Amazon Athenaのデータベースをサポートします。
返却されるコネクタオブジェクトは、AthenaConnectorクラスのオブジェクトだけです。
データベースに対して認証やIAMロールの選択が必要になる場合、入力が必要です。
認証に失敗した場合、AuthenticationError例外が発生します。
指定したデータベースが存在しない場合はNotFoundError例外が発生します。
did(int): 接続先データベースのID。データベースIDは以下の方法で確認できます。
データベースに対してクエリを実行します。クエリ結果としてdashlib.db.QueryResultが返却されます。
QueryResultオブジェクトをcursorオブジェクトに変換します。
cursorオブジェクトからタプルのリストとしてクエリ結果を取得できます。
詳細は、以下のURLを参照してください。
URL: https://www.python.org/dev/peps/pep-0249/#cursor-objects
参照
Jupyter Notebookの詳細については、以下の公開サイトを参照してください。
URL: https://jupyter.org/