# Airship Export Integration CLI

Treasure DataからAirship Audience Listsにジョブ結果を直接書き込むことができます。Airshipでは、このリストを使用して特定のユーザーをターゲティングできます。

## 前提条件

- Treasure Dataの基本的な知識
- Airship / Airship Audience Listsの基本的な知識


## Treasure Data Integration の静的 IP アドレス

セキュリティポリシーで IP ホワイトリストが必要な場合は、接続を成功させるために Treasure Data の IP アドレスを許可リストに追加する必要があります。

リージョンごとに整理された静的 IP アドレスの完全なリストは、次のリンクにあります:
[IP Addresses for Integrations](/apis/endpoints/ip-addresses-integrations-result-workers)

## コマンドラインから接続を作成する

CLIを使用して接続を設定できます。


```bash
td query --database your_database --result configuration query
```

以下の表は、設定キーと説明を示しています。

| **Config Key** | **Type** | **Required** | **Description** |
|  --- | --- | --- | --- |
| type | string | yes | Airship |
| base_url | string | yes | - Airship North America cloud site: [https://go.urbanairship.com](https://go.urbanairship.com/) - Airship Europe cloud site: [https://go.airship.eu](https://go.airship.eu/) |
| `access_token` | string | - | Airship [Bearer access token](https://docs.airship.com/tutorials/manage-project/messaging/bearer-tokens/)   注: `access_token` または `app_key, app_secret` が必要 |
| `app_key` | string | - | [See App Keys & Secrets](https://docs.airship.com/reference/security/app-keys-secrets/) |
| `app_key_custom_events` | string | No | data_type が custom_events の場合に必要 |
| `app_secret` | string | - | App Secret または Master secret |
| data_type | string | No | サポートされる値:  - static_list (デフォルト) - non_json_attributes - json_attributes - custom_events |
| non_json_target | string | Yes if data_type=non_json_attributes | サポートされる値:  - named_users - channels |
| json_target | string | Yes if data_type=json_attributes | サポートされる値:  - named_users - channels |
| non_json_action | string | Yes if data_type=json_attributes | サポートされる値:  - batch_csv - set - remove |
| json_action | string | Yes if data_type=json_attributes | サポートされる値:  - set - remove |
| `list_name` | string | Yes if data_type=static_list | Audience List名 |
| `list_description` | string | No | Audience Listの説明 |
| `attribute_name` | string | Yes if data_type=json_attributes | 更新する属性名 |
| `skip_invalid_records` | boolean | No | trueに設定すると(デフォルト)、無効なレコードをスキップして有効なレコードのアップロードを続行します。  falseに設定すると、無効なレコードに遭遇したときにジョブを終了します。 |
| `skip_invalid_nonjson_att` | boolean | No | trueに設定すると(デフォルト)、無効なレコードをスキップして有効なレコードのアップロードを続行します。  falseに設定すると、無効なレコードに遭遇したときにジョブを終了します。 |
| `skip_invalid_json_att` | boolean | No | trueに設定すると(デフォルト)、無効なレコードをスキップして有効なレコードのアップロードを続行します。  falseに設定すると、無効なレコードに遭遇したときにジョブを終了します。 |
| skip_invalid_custom_events | boolean | No | trueに設定すると(デフォルト)、無効なレコードをスキップして有効なレコードのアップロードを続行します。  falseに設定すると、無効なレコードに遭遇したときにジョブを終了します。 |
| `json_composer_custom_events` | boolean | No | trueに設定すると、propertiesフィールドからjsonリクエストを作成します。  falseに設定すると(デフォルト)、propertiesフィールドからjson値を使用します。 |
| `retry_limit` | int | No | 各API呼び出しの最大再試行回数(デフォルト: 5) |
| `initial_retry_wait_msecs` | long | No | 最初の再試行の待機時間(デフォルト: `60000` ミリ秒) |
| `max_retry_wait_msecs` | long | No | 再試行間の最大時間(デフォルト: `30000` ミリ秒) |
| `connection_timeout_secs` | long | No | API呼び出し時の接続タイムアウトまでの時間(デフォルト: `300` 秒) |
| `write_timeout_secs` | long | No | リクエストへのデータ書き込みを待機する時間(デフォルト: `300` 秒) |
| `read_timeout_secs` | long | No | レスポンスからのデータ読み取りを待機する時間(デフォルト: `300` 秒) |


**Airship Audience Listに結果をエクスポートするクエリ例**


```bash
td query --database my_db \
--result '{"type": "airship","app_key": "xxx","app_secret": "yyy","list_name: amazon_channels,"list_description": "amazone collected channels for marketing"}' \
'SELECT identifier_type, identifier from my_table'
```

**Airship Named Users Non Json Attributesに結果をエクスポートするクエリ例**


```bash
td query --database my_db --query 'SELECT named_user, first_name, last_name, fav_color FROM my_table' --type presto \
--result '{"type":"airship","base_url":"https://go.urbanairship.com",       "auth_method":"access_token","access_token":"xxx", "data_type":"non_json_attributes","non_json_target":"named_users","non_json_action":"set", "skip_invalid_nonjson_att":true}';
```

**Airship Named Users Json Attributesにクエリ結果をエクスポートする例**


```bash
td query --database my_db --query 'SELECT named_user, instance_id, first_name, last_name, fav_color FROM my_table' --type presto \
--result '{"type":"airship", "base_url":"https://go.urbanairship.com",       "auth_method":"access_token", "access_token":"xxx","data_type":"json_attributes",        "json_target":"named_users", "json_action":"set","skip_invalid_json_att":true}';
```

**Airship Custom Eventsにクエリ結果をエクスポートする例**


```bash
td query -d database -w -q query.txt --type presto \
--result '{"type":"airship","base_url":"https://go.urbanairship.com","auth_method":"access_token", "access_token":"xxx","app_key_custom_events":"xxx", "data_type":"custom_events", "skip_invalid_custom_events":true}';
```

## 関連情報

- [Scheduling Data Connector Job Execution from the CLI](/ja/int/scheduling-a-data-connector-job-execution-from-the-cli)