2

Yahoo Pipes YQL要素で実行したい一般的なことの1つは、Pipes値をYQLクエリに渡すことです。例えば:

select * from html.tostring where url='<someurl>' and xpath='//div[@id="foo"]'

の動的な値を渡したいとします<someurl>。と呼ばれるRSSフィードアイテムのURLだとしましょうitem.link。引用符を単純に置き換えようとすると、次のエラーが発生someurlitem.linkます。

識別子item.linkが無効です。このコンテキストでサポートされている識別子はmeだけです

この値を渡すにはどうすればよいですか?

4

1 に答える 1

5

アイテムのURLをユーザー入力として受け取り、それを文字列ビルダーに渡して、実際のURL値をYQLクエリ文字列に置き換え、それを入力としてYQLウィジェットに渡す別のパイプを作成する必要があります。次に、メインパイプで、item.link値をサブパイプへの入力として渡します。

具体的には:

  1. ユーザー入力->URL入力項目を作成します。任意の名前とプロンプトを付けることができます。テスト用に「デバッグ」値を設定すると便利です。

  2. 3つのフィールドを持つ文字列ビルダーを作成します。最初のフィールドに、値を代入する場所まで文字列を入力します。質問の例では、select * from html.tostring where url='。2番目のフィールドで、URL入力要素からの出力をここに接続します。3番目のフィールドに、残りの出力を追加します' and xpath='//div[@id="foo"]'。文字列が作成されると、提供されたURLがで置き換えられた完全なYQLクエリ文字列になります。

  3. YQL要素を作成し、文字列ビルダーからの出力をクエリフィールドに接続します。

  4. YQL要素の出力をパイプ出力要素に接続します。

新しいパイプを保存します。

メインパイプで、新しいパイプの要素を作成します([マイパイプ]-> [名前を付けたものは何でも])。通常、それをループ要素にドラッグします。入力をに設定するitem.linkと、適切な出力が得られます。

于 2010-05-22T19:17:51.627 に答える