ダウンロードツール
ダウンロードツールを使用して、指定されたURLからデータを取得し、下流の処理での使用またはファイルへの保存に供します。ダウンロードツールは、FTPとSFTPを介してデータをダウンロードまたはアップロードすることもできます。
2022.3以降の非FIPSのDesignerリリースでは、ピア検証が既定で有効になっています。ピア検証をスキップする必要があるフラットファイルで問題のあるホストのリストを指定する方法については、「ピア検証許可リスト」を参照してください。
ツールの設定
[基本] タブ
基本 タブを使用して、ダウンロードツールの必須コントロールを設定します。
URLフィールド: 入力データストリームから、URL(Uniform Resource Locator - インターネットリソース)を含むフィールドを指定して、データを取り出します(またはデータをアップロードします)。これは、URLがフィールド値として指定されている場合は、単なる テキスト入力ツール になる場合があります。
DCMでダウンロードツールを使用する場合、データを取得するURLは 2 つの部分に分割されます。URLのベースはDCMデータソース定義からフェッチされ、ベースURLに追加される後の部分は入力データストリームからフェッチされます
URLテキストをエンコード: 選択すると、安全でないASCII文字がインターネット経由で送信できる形式に変換されるよう、URLがエンコードされます。スペースの代わりに%20を使用するのがこの一例です。
出力: 返されるデータのフォーマット方法を指定します。データは、データフィールドに返されるか、ファイルに出力されます。
フィールドへ: ダウンロードされたコンテンツはデータフィールドとしてデータストリームに戻されます。ダウンロードされたコンテンツは、「DownloadData」という名前の単一のフィールドに格納されます。このデータは、列分割ツール、正規表現ツール、フォーミュラツールなどの下流のツールで解析する必要がある場合があります。
文字列: データは新しいワイド文字列型フィールドとして返されます。ワイド文字列は、Unicode® 文字をサポートします。コードページ を選択して、エンコードに使用します。既定はUTF-8です。最も一貫した結果を得るには、アプリケーションで他の特定のコードページではなく、UTF-8 (コードページ65001)やUTF-16などのUnicodeを使用する必要があります。
Blob: データは新しいBlob型フィールドとして返されます。Blobは、バイナリラージオブジェクト(Binary Large OBject)とも呼ばれます。画像ファイルは通常、この形式で保存されます。画像を使用するには、 画像ツール をダウンストリームに構成し、画像またはBlobフィールドを指定します。
ファイルへ
一時ファイル: データはユーザーの一時ディレクトリ中の一時ファイルに出力されます。Designerでの一時ファイルの扱いの詳細については、Alteryxと一時ファイルについて を参照してください。
フィールドからのファイル名: データは、入力フィールドにあるファイルの指定に従い特定のファイルに出力されます。ドロップダウンを使用して、出力先のファイル名を含むフィールドを選択します。
ヘッダータブ
[ ヘッダー ] タブでは、ウェブリクエストとともに送信される HTTPヘッダー を修正することができます。
固定ヘッダー値の追加を許可します: 固定ヘッダー値を追加できます。
たとえば、「Accept: text/plain」というヘッダーを追加するには、次の手順を実行します。
追加ボタンを選択します。
[名前]フィールドに「Accept」、[値]フィールドに「text/plain」と入力します。
これらのフィールドからの値: レコードデータから値を取得し、ヘッダー値を作成します。
たとえば、「Expect: 100-continue」というヘッダーを追加するには、「Expect」という名前の入力データで「100-continue」を含むフィールドを選択します。
[ペイロード] タブ
ペイロードタブでは、実行するHTTPアクションを設定し、オプションでウェブリクエストのクエリ文字列または本文を構築できます。
HTTPアクション: ウェブリクエストのHTTPアクションを選択します。
GET(または FTP): GETリクエストを実行するか、FTPサイトまたはSFTPサイトからファイルをダウンロードします。選択したURLからデータをダウンロードするために、このタブに他のオプションを入力する必要はありません。
POST: 選択したURLに対してPOSTリクエストを実行します。通常、このオプションを使用する場合は、以下のオプションを使用してPOST本文を指定します。
PUT: PUTリクエストを実行します。このオプションを使用すると、Blob入力ツールを介してBlobフィールドからクエリ本文を取得することができます。通常、ファイルをリモートサーバーにアップロードするために使用されます。
DELETE: DELETEリクエストを実行します。通常、リモートサーバーに指定されたリソースを削除するよう要求するために使用されます。
HEAD: HEADリクエストを実行します。これは、ヘッダーデータを返し、本体データは返さないようにサーバーに要求します。
カスタム: このオプションを使用してテキストボックスにカスタム動詞を入力します。このリクエストに関する他のすべては、POSTと同じように動作します。POST動詞は、要求が行われる直前にカスタム動詞に置き換えられます。
動詞のサポート
これらのオプションは、要求の送信先のリモートサーバーが特定の動詞をサポートしている場合にのみ機能します。使用しているURLのAPIドキュメントを参照して、サポートされているリクエストを確認してください。
次のクエリ文字列/本文オプションから選択します。
作成クエリ文字列/本文。
以下の定数値から: 定数の名前と値のペアをクエリ文字列/本文に追加します。
これらのフィールドの値: 入力データレコードから名前と値のペアを取得します。フィールド名は、クエリ文字列/本文で使用されている名前です。
Content-Type: 名前と値のペアのエンコード方法を制御します。
Application/x-www-form-urlencoded: 例えば、Name1=Value1かつName2=Value2かつName3=Value3。安全でないASCII文字は自動的にエンコードされるため、データがまだエンコードされていないことを確認してください。
Multipart/form-data: POSTおよびカスタムのHTTPアクションを使用している場合にのみ使用できます。
フィールドからクエリ文字列/本文を取得する: クエリ文字列/本文データを含む入力データのフィールドを選択します。Blobフィールドは、POST、PUT、およびカスタムHTTPアクションを使用する際に選択できます。
クエリ文字列/本文で次を使用する: クエリ文字列または本文の内容を手動で入力します。
すべてのテキストデータは、リモートウェブサーバーに送信される前にUTF-8でエンコードされます。
接続タブ
接続 タブを使用して、接続資格情報を設定します。
ユーザー名 (オプション): 上記のURL指定で必要であれば、ユーザー名を入力します。これはオプションのフィールドです。
パスワード (オプション): 上記のURL指定で必要であれば、パスワードを入力します。これはオプションのフィールドです。
上記の資格情報は、基本認証に使用されます。
最大接続数: ダウンロードツールが実行する同時転送の最大数を指定します。ダウンロードツールに複数の入力レコードが送信された場合にのみ、転送が並行して行われます。複数のダウンロードツールは独立して動作しますが、通常は同時に機能しません。ワークフローに追加された新しいダウンロードツールの場合、既定の接続数は2であり、接続の最大数は32です。
接続数を増やすと、すべての転送を完了するまでの合計時間が短縮されることがありますが、使用しているサーバーに過負荷がかかる可能性があるため、設定数を大きくしすぎないように注意してください。サーバーを誤って使用していると思われる場合、サーバーは応答を停止したり、エラーを報告したり、接続を拒否する可能性があります。これは、あなたの管理下にないパブリックサイトにアクセスする際には特に重要です。ほとんどのウェブブラウザでは最大6回の同時転送が行われますが、これらは通常、ウェブページの一部として比較的小さな転送になります。サーバーが自分の管理下にあり、どのように構成されているかをより詳細に制御できる場合は、より多くの接続を使用することもできます。
さらに、ダウンロードツールは転送が完了した時点でレコードを下流に送るため、レコードがツールを通過する際のレコードの順序が変更される可能性があります。順序がワークフローに関係する場合は、結果をソートするか、接続数を1に制限してください。最後に、空のURLは実際の転送が必要なものより先に処理されることに注意してください。
タイムアウト (秒): 接続で応答がない場合にタイムアウトを報告するまで待機する秒数を指定します。0(タイムアウトなし)から10,000までの数値を選択します。
レコードを絞る: (既定でチェックなし) 1分間にツールを通過するレコードの数を制限する場合にオンにします。これは、処理できるレコード数に制限がある場合に、1分ごとに送信される要求数を指定する場合に便利です。
レコード処理数/分: ツールを通過する1分あたりのレコード数をカスタマイズするには、すぐ上の[レコードを絞る]チェックボックスをオンにします。
既定値は60です。
許容範囲は、0と60,001の間 (両端を含まない) です。
DCMサポート
ダウンロードツールのDCMサポートにより、基本認証によるAPIエンドポイントへの認証が容易になります。また、PUT要求とPOST要求を送信する際の、要求ヘッダーまたはペイロード定数内のDCMに格納されている値の解決も可能になります。これは、Base64エンコーディングを使用してヘッダーまたはペイロード値の特定の部分をエンコーディングできるようにすることで可能になります。このエンコーディングは、DCM拡張値で機能するため、DCMからの資格情報を含め、それをbase64で暗号化できます。
[ データ接続マネージャー (DCM) の使用 ] チェックボックスをオンにすると、DCM を使用して接続を設定します。詳細については、「DCM - Designer」を参照してください。
PUT要求およびPOST要求のペイロードでDCM資格情報を解決する
[ペイロード上で解決]チェックボックスをオンにすると、[ヘッダー]および[ペイロード]設定にDCM固有のエイリアスを使用できます。エイリアスは名前と値の両方に使用できますが、ペイロードでは[クエリ文字列/本文を作成]オプションのみがサポートされています。ワークフローを実行すると、これらのエイリアスは対応するDCMの値に自動的に置き換えられます。
サポートされているエイリアスは、次の通りです。
{dcm:userName}
{dcm:password}
{dcm:host}
ダウンロードツールをキャンバスに追加し、DCM接続を選択して、[ペイロード上で解決]チェックボックスがオンになっていることを確認します。
[ヘッダー]または[ペイロード]のタブでは、ターゲットエンドポイントの要件に基づき、定数を追加して値列内で
{dcm:userName}
または{dcm:password}
のどちらかを使用できます。複数のDCM参照を組み合わせたり、カスタム文字列を含めたりできます。たとえば、{dcm:userName}:{dcm:password}
の値を持つヘッダーAuthenticationを作成できます。POSTリクエスト内のペイロード本文の一部としてDCMシークレットを解決する場合は、[コンテンツタイプ]ドロップダウンからマルチパート/形式データオプションを選択してください。Alteryxでは、セキュリティ上の理由からURL内でシークレットを展開することが許可されていません。
Base64エンコーディング
ダウンロードツール設定ペインでは、{base64:yourtextgoeshere}
タグを使用してヘッダーまたはペイロード定数値の任意の文字列をラップできます。DCM参照値をbase64でエンコードする場合は、これを他の任意の文字列または前述のDCMタグとも組み合わせることができます。
Authenticationヘッダー値として次の値を使用できます: {base64:{dcm:userName}:{dcm:password}}
。これにより、DCMに保存されているユーザ名とパスワードがエンコードされます。
その他の考慮事項
ダウンロードツールを使用する際に接続の遅延を防ぐには、アカウントのインターネットプロパティ([コントロールパネル] > [インターネットオプション] > [接続] > [LAN設定])で「自動検出設定」オプションの選択を解除します。