API 連携 - transfer
ADP 外部のアプリケーションに加えて、Avgidea Function で実行するファンクション内から Python で各種 API を呼び出すことができます。
ファンクションから API 実行する場合、Avgidea Function が構成されクォータが設定されている必要があります。
Storage との連携
ファンクションの実行環境(ランタイム)と Storage の間でオブジェクトの取得・保存が可能です。ランタイム上のオブジェクトは一時的に保存され、ファンクションの実行終了と共に削除されます。
# Storage からファイルの取得
adpy.get(datasource='as1', object='file1.csv')
ファンクション
get
パラメータ
datasource : Avgidea Storage のデータソース名
object : ランタイム内に保存するデータソース上のオブジェクト名
# Storage へファイルの保存
adpy.put(datasource='as1', object='file1.csv')
ファンクション
put
パラメータ
datasource : Avgidea Storage のデータソース名
object : データソースに保存するランタイム内のオブジェクト名
override : オブジェクトがすでに存在する場合、上書きを行う(デフォルト)。False の場合、オブジェクト名にタイムスタンプを付加する
ストレージ間のオブジェクトのコピー
Avgidea Storage のデータソース間でオブジェクトのコピーを実行することができます。
# as1 から as2 へオブジェクトのコピー(単一オブジェクト)
adpy.log("start transfer from as1 to as2")
resp = adpy.transfer(frm='as1', to='as2', object='sample.csv')
adpy.log("end transfer : " + resp['status'])
ファンクション
transfer
パラメータ
frm : コピー元のデータソース名
to : コピー先のデータソース名
object : コピー元データソース内のオブジェクト名
戻り値
resp : transfer 処理のステータスとメッセージ
# as1 から as2 へオブジェクトのコピー(複数オブジェクト)
adpy.log("start transfer from as1 to as2")
resp = adpy.transfer(frm='as1', to='as2', filter='sample')
adpy.log("end transfer : " + resp['status'])
ファンクション
transfer
パラメータ
frm : コピー元のデータソース名
to : コピー先のデータソース名
filter : オブジェクト名に指定文字列を含むオブジェクトをコピー。未指定の場合、データソース内の全オブジェクトが対象となる。
戻り値
resp : transfer 処理のステータスとメッセージ
ストレージからデータベースへの CSV ファイルのロード
ファンクション内から Storage 上の CSV ファイルをデータベースにロードするリクエストを送信することができます。
# as1 から orcl へ CSV ファイルのロード
adpy.log("start transfer from as1 to orcl")
resp = adpy.transfer(frm='as1', to='orcl', object='employees.csv', table='employees', worker=4)
adpy.log("end transfer : " + resp['status'])
ファンクション
transfer
パラメータ
frm : ストレージのデータソース名
to : データベースのデータソース名
object : データベースへロードするストレージ内の CSV ファイル
table : ロード先のテーブル名
worker : データロード時の並列数
戻り値
resp : transfer 処理のステータスとメッセージ
データベースから CSV ファイルの出力
ファンクション内からデータベース上のテーブルを Storage に出力するリクエストを送信することができます。
# orcl から as1 へ CSV ファイルの出力
adpy.log("start transfer from as1 to orcl")
resp = adpy.transfer(frm='orcl', to='as1', table='sample')
adpy.log("end transfer : " + resp['status'])
ファンクション
transfer
パラメータ
frm : ストレージのデータソース名
to : データベースのデータソース名
table : 抽出対象のテーブル名
戻り値
resp : transfer 処理のステータスとメッセージ