ども、たらばです。
Power Automate には、さまざまな変換関数があります。ここでは、よく使われる変換関数について一覧を作成し、これからの学習に役立てていきたいと思います。
まず、変換関数とは、データ型や形式を変換するために使う関数です。
例えば、数値をテキストにしたり日付を特定の形式に変更したりできます。
頻繁によく分からない単語がでてきますので、先に解決してしまいましょうか。
過去の記事でもよく分からない単語は、記事内に入れるようにしていますが、何度も参照するのも面倒なので、
都度、記事内に入れるようにできたらいいなと思います。
どんな関数の種類があるのかと思った場合は、こちらをご覧下さい。
+ xml
文書やデータの意味や構造を記述するためのマークアップ言語の1つ。
以下、簡単な例になります。
<?xml version="1.0" encoding="UTF-8"?>
<person>
<name>たらば</name>
<age>秘密</age>
<hobbies>
<hobby>読書</hobby>
<hobby>睡眠</hobby>
</hobbies>
</person>
+json
JavaScript Object Notationの略で、データを記述するためのフォーマット。
コンピュータ間でデータをやり取りするときに使用される。
jsonは、python、PHP、JavaScriptなど、様々な言語でサポートされているので、データのやり取りがとても楽になります。
以下、簡単な例になります。
{
"name": "たらば",
"age": 秘密,
"hobbies": ["読書", "睡眠"]
}
+RFC 4646 ロケール コード
言語や地域を識別するためのタグの企画
たとえば、日本語を話す日本人は[ja-JP]というロケールコードを持つ
ja=言語サブタグ JP=地域サブタグ
+エンコードとデコード
エンコードとは、情報を規則に従ってデータを置き換えて記録したり、ある形式のデータを別の形式のデータに変換したりすること。(例:動画や音声を圧縮してファイルサイズを小さくする。暗号化等)
デコートとは、エンコードされたデータを元の情報やデータに戻すことです。
+バイナリ
2進数や、2進数で表すデータのことをいう。(2進数=0と1で表す形式)
+URI
Uniform Resource Identifierの略。URI=URL+URNとなっている。
URL=web上にあるファイルの場所を表すもので、住所のようなもの。
URN=web上にあるファイルの名前を表すもので、永続的な識別子のこと。
URIの書式・・・・<スキーム名(http,ftp等)> : <階層部分> [ ? <クエリ> ] [ # <フラグメント> ]
調べてみるうちに、わかってきたのですが、Power AutomateとAzure Logic Appsと同じ定義言語を使って式の記述ができるのですね。
ですので、そちらからアプローチしてみても良さそうです。
| 関数名 | 説明 | 構文 | 補足 |
| json | 入力をjson型の値に変換する | json(‘<value>’) | ・value:文字列、XML ■戻り値: JSON ネイティブの型、オブジェクト、または配列 |
| xml | 入力をxml型の値に変換する | xml(‘<value>’) | ・value:string ■戻り値: object (指定した文字列または JSON オブジェクトのエンコードされた XML) |
| int | パラメータを整数に変換する | int(‘<value>’) | ・value:string ■戻り値: Integer |
| string | パラメータを文字列に変換する | string(<value>) | ・value:Any (値がnullの場合空の文字列(“”)に変換される ■戻り値: string |
| float | 入力値の浮動小数点数を返す ※アプリにカスタム パラメーターを渡す場合にのみ使用可 | float(‘<value>’, ‘<locale>’?) | ・value:string ・locale:string (RFC 4646 ロケール コード、未指定=規定) string ■戻り値: float (指定した文字列の浮動小数点数) |
| bool | 入力値のブール値バージョンを返す | bool(<value>) | ・value:Any (値がnullの場合空の文字列(“”)に変換される ■戻り値: string |
| base64 | 文字列の base64 エンコード バージョンを返す ※base64のエンコードとでコートは自動でされるらしいので、明示的に使用する必要はあまりないらしい。 | base64(‘<value>’) | ・value:string ■戻り値: string (入力文字列の base64 エンコード バージョン) |
| base64ToBinary | base64 エンコード文字列のバイナリ バージョンを返す ※base64のエンコードとでコートは自動でされるらしいので、明示的に使用する必要はあまりないらしい。 | base64ToBinary(‘<value>’) | ・value:string (変換する base64 エンコード文字列) ■戻り値: string (base64 エンコード文字列のバイナリ バージョン) |
| base64ToString | base64 エンコード文字列の文字列バージョンを返す=実質的にbase64の文字列をでコードする | base64ToString(‘<value>’) | ・value:string (デコードする base64 エンコード文字列) ■戻り値:string (base64 エンコード文字列の文字列バージョン) |
| binary | 文字列の base64 エンコード バイナリ バージョンを返す | binary(‘<value>’) | ・value:string (変換する文字列) ■戻り値: string (指定した文字列の base64 エンコード バイナリ バージョン) |
| dataUriToBinary | データ URI のバイナリ バージョンを返す | dataUriToBinary(‘<value>’) | ・value:string (変換するデータ URI) ■戻り値: string (データ URI のバイナリ バージョン) |
| dataUriToString | データ URI の文字列バージョンを返す | dataUriToString(‘<value>’) | ・value:string (変換するデータ URI) ■戻り値: string (データ URI の文字列バージョン) |
| dataUri | 入力値のデータ URI を返す | dataUri(‘<value>’) | ・value:string (変換する文字列) ■戻り値: string (入力文字列に対するデータ URI) |
| decodeBase64 | base64 エンコード文字列の文字列バージョンを返す | decodeDataUri(‘<value>’) | ・value:string (デコードするデータ URI 文字列) ■戻り値: string (データ URI 文字列のバイナリ バージョン) |
| encodeUriComponent | URL の安全でない文字をエスケープ文字に置き換えた文字列を返す | encodeUriComponent(‘<value>’) | ・value:string (URI エンコード形式に変換する文字列) ■戻り値: string (エスケープ文字が使われている URI エンコード文字列) |
| decodeUriComponent | エスケープ文字をデコード バージョンに置き換えた文字列を返す | decodeUriComponent(‘<value>’) | ・value:string (エスケープ文字をデコードする文字列) ■戻り値: string (エスケープ文字がデコードされた更新後の文字列) |
| decodeDataUri | データ URI のバイナリ バージョンを返す ※base64のエンコードとでコートは自動でされるらしいので、明示的に使用する必要はあまりないらしい。 | decodeDataUri(‘<value>’) ※dataUriToBinary()を使うようお勧めされてます | ・value:string (デコードするデータ URI 文字列) ■戻り値: string (データ URI 文字列のバイナリ バージョン) |
| uriComponent | URL の安全でない文字がエスケープ文字に置き換えられた、入力値の URI エンコード バージョンを返す | uriComponent(‘<value>’) | ・value:string (URI エンコード形式に変換する文字列) ■戻り値: string (エスケープ文字が使われている URI エンコード文字列) |
| uriComponentToBinary | URI エンコード文字列のバイナリ バージョンを返す | uriComponentToBinary(‘<value>’) | ・value:string (変換する URI エンコード文字列) ■戻り値: string (URI エンコード文字列のバイナリ バージョン バイナリ コンテンツは base64 でエンコードされ、 $content によって表されます) |
| uriComponentToString | URI エンコード文字列の文字列バージョンを返す=実質的に、URI エンコード文字列をデコード | uriComponentToString(‘<value>’) | ・value:string (デコードする URI エンコード文字列) ■戻り値: string (URI エンコード文字列のデコード バージョン) |
| array | 指定した 1 つの入力から配列を返す | array(‘<value>’) | ・value: string ■戻り値 : Array |
| createArray | 複数の入力から配列を作成して返す | createArray(‘<object1>’, ‘<object2>’, …) | ・value: object1 ※2つ以上必要 ■戻り値: Array ※objectの全てで配列を作成 |
| triggerFormDataValue | トリガーの form-data 出力または form-encoded 出力内のキー名と一致する単一の値の文字列を返します。※ 複数の一致が見つかった場合、関数はエラーをスロー※1 | triggerFormDataValue(‘<key>’) | ・value: string (値を指定するキーの名前) ■戻り値 : string (指定したキーの値) |
| triggerFormDataMultiValues | トリガーの form-data 出力または form-encoded 出力内のキー名と一致する値の配列を返す | triggerFormDataMultiValues(‘<key>’) | ・value: string (値を指定するキーの名前) ■戻り値 : Array (指定したキーと一致するすべての値で構成される配列) |
| triggerMultipartBody | 複数の部分を持つトリガーの出力の特定の部分に対する本文を返す | triggerMultipartBody(<index>) | ・value: integer (取得する部分のインデックス値) ■戻り値 : string (トリガーの複数の部分からなる出力内の指定した部分の本文) |
| formDataValue | アクションの form-data 出力または form-encoded 出力内のキー名と一致する単一の値を返す。 複数の一致が見つかった場合、関数はエラーをスロー※1 | formDataValue(‘<actionName>’, ‘<key>’) | ・actionName: string (出力が指定したキー値であるアクション) ・key: string (値を指定するキーの名前) ■戻り値 : string (指定したキーの値) |
| formDataMultiValues | アクションの form-data 出力または form-encoded 出力内のキー名と一致する値の配列を返す | formDataMultiValues(‘<actionName>’, ‘<key>’) | ・actionName: string (出力が指定したキー値であるアクション) ・key: string (値を指定するキーの名前) ■戻り値 : Array (指定したキーと一致するすべての値で構成される配列) |
| multipartBody | 複数の部分を持つアクションの出力の特定の部分に対する本文を返す | multipartBody(‘<actionName>’, <index>) | ・actionName: string (複数の部分を含む出力を持つアクションの名前) ・index: integer (取得する部分のインデックス値) ■戻り値 : string (指定した部分の本文) |
※1 「エラーをスロー」とは、プログラムの用語で、任意のタイミングで例外(エラー)を発生させることをいう。
例外は、プログラムの実行中に予期しない状況が起こった時にスローされ、例外をスローすることで、エラーの原因や対処法を明確にすることができる。
書いてみて、調べてみたものの、どうやって使ったらいいか不明なものが多くて、とても困りました。
やっぱり、もっと詳しく調べてみたいものですね。