CData Sync App は、Instagram データをデータベース、データレイク、またはデータウェアハウスに継続的にパイプライン化する簡単な方法を提供し、分析、レポート、AI、および機械学習で簡単に利用できるようにします。
Instagram コネクタはCData Sync アプリケーションから使用可能で、Instagram からデータを取得して、サポートされている任意の同期先に移動できます。
Sync App アプリケーションの接続 ページに移動し、接続の追加 パネルで対応するアイコンを選択して、Instagram への接続を作成します。Instagram アイコンが利用できない場合は、Add More アイコンをクリックしてCData サイトからInstagram コネクタをダウンロードおよびインストールします。
必須プロパティは[設定]タブにリストされています。[Advanced]タブには、通常は必要ない接続プロパティが表示されます。
Web アプリケーション経由で接続する場合は、Instagram にカスタムOAuth アプリケーションを登録する必要があります。それからSync App を使用してOAuth トークンの値を取得および管理します。詳しくは、カスタムOAuth アプリの作成 を参照してください。
OAuth アクセストークンの取得
次の接続プロパティを設定し、OAuthAccessToken を取得します。
続いてストアドプロシージャを呼び出し、OAuth 交換を完了します。
アクセストークンとリフレッシュトークンを取得したのち、データに接続してOAuth アクセストークンを自動的にリフレッシュできます。
OAuth アクセストークンの自動リフレッシュ
Sync App がOAuth アクセストークンを自動的にリフレッシュするようにするには、最初のデータ接続で次のように設定します。
その後のデータ接続では、以下を設定します。
このセクションでは、Instagram Sync App の高度な機能を厳選して説明します。
Sync App を使用すると、事前設定されたクエリによって内容が決定されるユーザー定義ビューと呼ばれる仮想テーブルを定義できます。 このビューは、ドライバーに発行されるクエリを直接制御できない場合に有効です。 カスタムビューの作成と設定の概要については、ユーザー定義ビュー を参照してください。
SSL の設定 を使用して、Sync App が証明書のネゴシエーションをどのように扱うかを調整します。さまざまな証明書形式を選択できます。 詳しくは、接続文字列オプションにあるSSLServerCert プロパティを参照してください。
Windows プロキシとHTTP プロキシを含むファイアウォールとプロキシ に合致するようSync App を設定します。トンネル接続を設定することもできます。
Sync App は、Instagram にできるだけ多くのSELECT ステートメント処理をオフロードし、残りのクエリをクライアント側のインメモリで処理します。
詳しくはクエリ処理 を参照してください。
CData ログを調整するために使用可能な設定の概要については、ログ を参照してください。基本的なロギングでは、 次の2つの接続プロパティを設定するだけです。LogModules 接続プロパティを使用してログに記録する情報のサブセットを選択できる、 より洗練されたロギングをサポートする多数の機能があります。
デフォルトでは、Sync App はサーバーの証明書をシステムの信頼できる証明書ストアと照合してSSL / TLS のネゴシエーションを試みます。
別の証明書を指定するには、利用可能なフォーマットについてSSLServerCert プロパティを参照してください。
Windows のシステムプロキシ経由の接続では、接続プロパティを追加で設定する必要はありません。他のプロキシに接続するには、ProxyAutoDetect をfalse に設定します。
さらにHTTP プロキシへの認証には、ProxyServer とProxyPort に加えてProxyAuthScheme、ProxyUser、およびProxyPassword を設定します。
次のプロパティを設定します。
CData Sync App は、Instagram API のエンティティをテーブル、ビュー、およびストアドプロシージャ にモデル化します。これらは、簡単なテキストベースのコンフィギュレーションファイルであるスキーマファイルにて定義されます。
使用可能なシステムテーブル は、データソースのクエリ機能などの他のSync App メタデータと同様に、スキーマ情報へのプログラムによるアクセスが可能です。
Sync App はInstagram のデータを、標準のSQL ステートメントを使用してクエリできるテーブルのリストにモデル化します。
一般的には、Instagram テーブルのクエリは、リレーショナルデータベースのテーブルのクエリと同じです。時には特別なケースもあります。例えば、テーブルの特定のカラムデータを取得するために特定のカラムをWHERE 句に含める必要がある場合などです。これは通常、特定のカラムを取得するために行ごとに個別のリクエストを行う必要がある場合に必要です。これらの特別な状況は、以下にリンクされているテーブルページの上部に明確に文書化されています。
Name | Description |
Comments | Create, delete, and query Comments on a media object. Requires the instagram_basic and instagram_manage_comments scopes. |
Replies | Query and insert replies on a media object. Requires the instagram_basic and instagram_manage_comments scopes. |
Create, delete, and query Comments on a media object. Requires the instagram_basic and instagram_manage_comments scopes.
Only the select, delete, and insert operations are supported.
The Sync App will use the Instagram APIs to filter results by MediaId and will execute other filters client-side within itself. You can turn off the client-side execution of the query by setting SupportEnhancedSQL to false, in which case any search criteria that refers to other columns will cause an error.
The following query returns all comments on all media in your account. UserId will be null if the comment is from an account that is not a business account.
SELECT * FROM Comments
To query comments for a specific media object, MediaId is required. The MediaId column supports the = operator. For example:
SELECT * FROM Comments WHERE MediaId = '1501471279105199430_5380790872'
Create a comment on a media object with the following rules:
INSERT INTO Comments (MediaId, Text) VALUES ('1501471279105199430_5380790872', 'My comment text #instadevelopers')
Id (the comment's primary key) is required. For example, the following query removes a comment either on the authenticated user's media object or authored by the authenticated user.
DELETE FROM Comments WHERE Id = '1668776136772254'
Name | Type | ReadOnly | Description |
Id [KEY] | String | True |
The unique identifier for the comment. |
Text | String | False |
The text of the comment. |
MediaId | String | False |
The unique identifier for the media. |
Created | Datetime | True |
The time when the media was created. |
UserId | String | True |
The unique identifier for the user. |
Username | String | True |
The username for the user. |
Likes | String | True |
The number of likes. |
Hidden | Boolean | True |
The boolean that shows if the comment is hidden. |
Query and insert replies on a media object. Requires the instagram_basic and instagram_manage_comments scopes.
Only the select and insert operations are supported.
The Sync App will process a filter on CommentId server side and will execute other filters client-side within itself. You can turn off the client-side execution of the query by setting SupportEnhancedSQL to false, in which case any search criteria that refers to other columns will cause an error.
The following query returns replies from all comments in your account. UserId will be null if the reply is from an account that is not a business account.
SELECT * FROM Replies
To query replies for a specific comment, CommentId is required. The supported operator for the CommentId column is =. For example:
SELECT * FROM Replies WHERE CommentId = '1501471279105199430_5380790872'
Create a reply on a comment object with the following rules:
INSERT INTO Replies (CommentId, Text) VALUES ('1501471279105199430_5380790872', 'My reply #instadevelopers')
Name | Type | ReadOnly | Description |
Id [KEY] | String | True |
The unique identifier for the reply. |
Username | String | True |
The username for the user. |
CommentId | String | False |
The unique identifier for the comment. |
Created | Datetime | True |
The time when the reply was created. |
UserId | String | True |
The unique identifier for the user. |
MediaId | String | True |
The unique identifier for the associated media. |
Text | String | False |
The comment. |
LikeCount | Int | True |
The number of likes. |
ビューは、カラムと疑似カラムで構成されます。ビューは、データを示すという点でテーブルに似ていますが、ビューでは更新はサポートされません。通常、ビューとして表されるエンティティは、読み取り専用のエンティティです。多くの場合、これらのデータはストアドプロシージャを使用することで更新できます(その機能がデータソースに適用できる場合)。
ビューに対しては、通常のテーブルと同じようにクエリを実行でき、このときに返されるデータも同様です。
ビューとして公開されるクエリなどの動的ビューや、project_team ワークアイテムの特定の組み合わせを検索するためのビューがサポートされています。
Name | Description |
AccountInsights | Allows you to get insights for an Instagram business account. Requires the instagram_basic and instagram_manage_insights scopes. |
AudienceInsights | Retrieve audience insights for an Instagram business account. |
IGMedia | This View Represents an Instagram Photo, Video, Story, Album, or IGTV media. |
InstagramBusinessProfile | Get information about the Instagram Business account. Requires the instagram_basic scope, business_management, manage_pages . |
InstagramPages | Query information about pages connected to the Facebook account. Requires the instagram_basic scope. |
Media | Query media objects. Requires the instagram_basic and instagram_content_publish scopes. |
MediaInsightReels | Allows you to get insights for reel media object. Requires the instagram_basic and instagram_manage_insights scopes. |
MediaInsights | Allows you to get insights for an individual media object. Requires the instagram_basic and instagram_manage_insights scopes. |
OnlineFollowers | Query Online Followers insights as hourly totals. Requires the instagram_basic and instagram_manage_insights scopes. |
Pages | Get details of Pages. Requires 'pages_read_engagement' permission or the 'Page Public Content Access' feature or the 'Page Public Metadata Access' feature. |
Permissions | Query the Permissions the User has granted the current application. |
Places | Query location data about a media object. |
Stories | Query Stories. Requires the instagram_basic and instagram_manage_insights scopes. |
Tags | Query tags. Requires the instagram_basic and instagram_manage_comments scopes. |
Allows you to get insights for an Instagram business account. Requires the instagram_basic and instagram_manage_insights scopes.
You can query the following metrics given a date range. The default date range is the last 7 days.
Specify a date range with the FromDateTime and ToDateTime columns. Specify the intervals of the date range by setting the Period column in the WHERE clause. Note that you cannot use a period on a metric that does not support it. For example, you cannot use Impressions AND FollowerCount with period days_28 because FollowerCount only supports the day period.
The Sync App will use the Instagram APIs to process filters that refer to a date range or Id. The Sync App processes other filters client-side within itself. You can turn off the client-side execution of the query by setting SupportEnhancedSQL to false, in which case any search criteria that refers to other columns will cause an error.
The following examples show how to retrieve metrics over a given date range:
The default query returns results for the following metrics during the last seven days: Impressions, Reach, FollowerCount, EmailContacts, PhoneCallClicks, TextMessageClicks, GetDirectionsClicks, WebsiteClicks, and ProfileViews.
SELECT * FROM AccountInsights
Filter on FromDateTime and ToDateTime to explicitly specify a different date range.
The max date range cannot be more than 30 days (2592000 s).
SELECT * FROM AccountInsights WHERE FromDateTime='2018/01/01' AND ToDateTime='2018/01/30' AND period='day'
Return results over a period of 7 days.
SELECT * FROM AccountInsights WHERE FromDateTime='2018/01/01' AND period='day'
Return results from 2018/01/01 to 2018/01/08.
SELECT * FROM AccountInsights WHERE ToDateTime='2018/01/08' AND period='day'
Return a custom projection on account insights for the date range from 2018/01/01 to 2018/01/08.
SELECT Impressions,FollowerCount,EmailContacts FROM AccountInsights WHERE FromDateTime='2018/01/01' AND ToDateTime='2018/01/30' AND period='day'
Name | Type | Description |
InstagramBusinessAccountId | String | The unique identifier of the Instagram business account Id. |
EndTime | Date | The most recent date this insight data is relevant for. |
Impressions | Integer | Total number of times this profile has been seen. |
Reach | Integer | Total number of unique accounts that have seen this profile. |
ProfileViews | Integer | Total number of unique accounts that have viewed this profile within the specified period. |
FollowerCount | Integer | Total number of unique accounts following this profile. |
EmailContacts | Integer | Total number of taps on the email link in this profile. |
PhoneCallClicks | Integer | Total number of taps on the call link in this profile. |
TextMessageClicks | Integer | Total number of taps on the text message link in this profile. |
GetDirectionsClicks | Integer | Total number of taps on the directions link in this profile. |
Websiteclicks | Integer | Total number of taps on the website link in this profile. |
Period | String | The period for the insight. This controls how rows will be broken up (by day, week, 28 days, or lifetime). This must always be specified. |
SELECT ステートメントのWHERE 句では、疑似カラムフィールドを使用して、データソースから返されるタプルを詳細に制御することができます。
Name | Type | Description |
FromDateTime | Datetime | The earliest time for insight data to have been collected. |
ToDateTime | Datetime | The latest time for insight data to have been collected. |
Retrieve audience insights for an Instagram business account.
By default this table returns the following:
Name | Type | Description |
InstagramBusinessAccountId | String | The unique identifier for the Instagram business account Id. |
Date | Date | Date of the audience insight. |
AudienceType | String | The type of audience. |
AudienceGroup | String | The audience group. |
TotalAudience | Integer | The total number of audience members. |
Description | String | The total number of the followers for this profile who were online during the specified period. |
This View Represents an Instagram Photo, Video, Story, Album, or IGTV media.
The Sync App will use the Instagram API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client side within the Sync App.
SELECT * FROM IGMedia WHERE Id = '1234'You can turn off client-side execution by setting SupportEnhancedSQL to false in which case any search criteria that refers to other columns will cause an error.
Name | Type | Description |
Id [KEY] | String | Media ID. |
IGId | String | Instagram media ID. |
Caption | String | Caption for the IGMedia. |
CommentsCount | Integer | Count of comments on the media. |
IsCommentEnabled | Boolean | Indicates if comments are enabled or disabled. Excludes album children. |
LikeCount | Integer | Count of likes on the media. |
MediaProductType | String | Surface where the media is published. |
MediaType | String | Media type. |
MediaUrl | String | Media URL. |
Owner | String | ID of Instagram user who created the media. |
PermanentURL | String | Permanent URL to the media. |
ShortCode | String | Shortcode to the media. |
ThumbnailUrl | String | Media thumbnail URL. |
Timestamp | Datetime | ISO 8601 formatted creation date in UTC. |
Username | String | Username of user who created the media. |
VideoTitle | Datetime | IGTV media title. |
Get information about the Instagram Business account. Requires the instagram_basic scope, business_management, manage_pages .
The Sync App will process all filters on this table client-side within itself.
Name | Type | Description |
InstagramBusinessAccountId [KEY] | String | The unique identifier of the Instagram business account |
UserName | String | The username of the person. |
FullName | String | The full name of the person. |
ProfilePictureUrl | String | The profile picture of the person. |
Bio | String | The bio of the person. |
Website | String | The website of the person. |
MediaCount | Integer | The media count of the profile. |
FollowsCount | Integer | The follows count of the profile. |
FollowersCount | Integer | The followers count of the profile. |
Query information about pages connected to the Facebook account. Requires the instagram_basic scope.
The Sync App will process all filters client-side within itself. You can use this table to obtain the value of the BusinessAccountId connection property:
SELECT Name, InstagramBusinessAccountId FROM Pages
Name | Type | Description |
Id [KEY] | String | The unique identifier for the pages. |
Name | String | The unique identifier for the instagram. |
InstagramBusinessAccountId | String | The unique identifier for the instagram. |
AccessToken | String | Access Token |
Query media objects. Requires the instagram_basic and instagram_content_publish scopes.
The Sync App will use the Instagram APIs to process filters by Id and will process other filters client-side within itself. You can turn off the client-side execution of the query by setting SupportEnhancedSQL to false, in which case any search criteria that refers to other columns will cause an error.
The following query gets all media published by the authenticated user:
SELECT * FROM Media
To retrieve a single media object, the Id is required. The Id column supports the = operator. For example:
SELECT * FROM Media WHERE Id = '1501471279105199430_5380790872'
Name | Type | Description |
Id [KEY] | String | The unique identifier for the media object. |
InstagramBusinessAccountId | String | The unique identifier of the Instagram business account Id. |
Username | String | The username. |
MediaType | String | The type of media (image or video or reels or carousel). |
MediaProductType | String | The Surface where the media is published Can be AD, FEED, STORY or REELS. |
Caption | String | The caption for the media. Excludes carousel children. |
CommentsCount | Integer | The number of comments. |
LikesCount | Integer | The number of likes. |
Mediaurl | String | The video URL of the media. |
Link | String | The link of the media. |
Created | Datetime | The time when the media was created. |
Allows you to get insights for reel media object. Requires the instagram_basic and instagram_manage_insights scopes.
You can query the following metrics using server-side processing:
SELECT * FROM MediaInsightReels SELECT * FROM MediaInsightReels WHERE MediaId = 17905513811523370" SELECT Reach, Saved, Comments, Likes, Plays, Shares, TotalInteractions FROM MediaInsightReels WHERE MediaId = 17905513811523370
Name | Type | Description |
MediaId | String | The unique identifier of the insight. |
Reach | Integer | Total number of unique accounts that have seen the media object. |
Saved | Integer | Total number of unique accounts that have saved the media object. |
Comments | Integer | Total number of unique accounts that have Comments on the media object. |
Likes | Integer | Total number of unique accounts that have likes the media object. |
Plays | Integer | Total number of unique accounts that have plays the media object. |
Shares | Integer | Total number of unique accounts that have Shared the media object. |
TotalInteractions | Integer | Total number of unique accounts that involved in the media object. |
Allows you to get insights for an individual media object. Requires the instagram_basic and instagram_manage_insights scopes.
You can query the following metrics using server-side processing:
SELECT * FROM MediaInsights
Query the MediaInsights view using a different object, for example, stories.
SELECT TapsForward, TapsBack FROM MediaInsights WHERE MediaId="132155564886465"
Query the MediaInsights view using a different object, for example, videos.
SELECT Impressions, Engagement, Reach, Saved, VideoViews FROM MediaInsights WHERE MediaId="1321555648546465"
Name | Type | Description |
MediaId | String | The unique identifier of the insight. |
Impressions | Integer | Total number of times the media object has been seen. |
Engagement | Integer | Total number of likes and comments on the media object. |
Reach | Integer | Total number of unique accounts that have seen the media object. |
Saved | Integer | Total number of unique accounts that have saved the media object. |
VideoViews | Integer | Total number of unique accounts that have viewed the video. |
TapsForward | Integer | Total number of unique accounts that have tapped forward. |
TapsBack | Integer | Total number of unique accounts that have tapped backwards. |
Exits | Integer | Total number of exits from unique accounts. |
Replies | Integer | Total number of unique accounts that have replied. |
Query Online Followers insights as hourly totals. Requires the instagram_basic and instagram_manage_insights scopes.
You can use the FromDateTime and ToDateTime columns to filter the results by a timeframe. The Sync App uses the Instagram API to process filters that refer to a timeframe or Id and will process other filters client-side within itself. You can turn off the client-side execution of the query by setting SupportEnhancedSQL to false, in which case any search criteria that refers to other columns will cause an error.
The default query returns results as hourly totals during the last 7 days.
SELECT * FROM OnlineFollowers
The maximum timeframe you can specify with the FromDateTime and ToDateTime columns is 30 days (2592000 s).
SELECT * FROM OnlineFollowers WHERE FromDateTime='2018/01/01' AND ToDateTime='2018/01/30'
Name | Type | Description |
InstagramBusinessAccountId | String | The unique identifier for the business account. |
StartTime | Datetime | The start datetime of the insight. |
EndTime | Datetime | The end datetime of the insight. |
Onlinefollowers | Integer | The number of the online followers at the specific time. |
SELECT ステートメントのWHERE 句では、疑似カラムフィールドを使用して、データソースから返されるタプルを詳細に制御することができます。
Name | Type | Description |
FromDateTime | Datetime | The earliest time for insight data to have been collected. |
ToDateTime | Datetime | The latest time for insight data to have been collected. |
Get details of Pages. Requires 'pages_read_engagement' permission or the 'Page Public Content Access' feature or the 'Page Public Metadata Access' feature.
The Sync App will use the Instagram API to process WHERE clause conditions built with the following column and operator. The SearchTerms is required to make a request and the rest of the filter is executed client side within the Sync App.
For example:
SELECT * FROM Pages WHERE SearchTerms='facebook'
Name | Type | Description |
Id [KEY] | String | The ID of the Facebook Page. |
EligibleForBrandedContent | Boolean | Display whether the Facebook Page is eligible to post branded content. |
IsUnclaimed | Boolean | Display whether a Facebook Page that was automatically generated has been claimed by the business it represents. |
Link | String | The link to the Facebook Page. |
City | String | The city where the business represented by the Facebook Page is located. |
Country | String | The country where the business represented by the Facebook Page is located. |
Latitude | Double | The latitude of the business represented by the Facebook Page. |
Longitude | Double | The longitude of the business represented by the Facebook Page. |
State | String | The state where the business represented by the Facebook Page is located. |
Street | String | The street on which the business represented by the Facebook Page is located. |
Zip | Integer | The postal code of the business represented by the Facebook Page. |
Name | String | The name of the Facebook Page. |
VerificationStatus | String | The verification status of the Facebook Page that represents a business. |
SELECT ステートメントのWHERE 句では、疑似カラムフィールドを使用して、データソースから返されるタプルを詳細に制御することができます。
Name | Type | Description |
SearchTerms | String | The term that is to be searched. |
Query the Permissions the User has granted the current application.
To query the Permissions view.
SELECT * FROM Permissions
Name | Type | Description |
PermissionName [KEY] | String | The name of the permission. |
Status | String | The status of the requested permission. |
Query location data about a media object.
To query the Places view, the SearchTerms column is required.
SELECT * FROM Places WHERE SearchTerms='museum'The Sync App will execute other filters client-side within itself. Note: This view is deprecated. It will be discontinued in the 2023 Q2. Please use the Pages view as a replacement. You can turn off the client-side execution of the query by setting SupportEnhancedSQL to false, in which case any search criteria that refers to other columns will cause an error.
Name | Type | Description |
Id [KEY] | String | The unique identifier for the place. |
Name | String | Name of the place. |
City | String | City of the place. |
Country | String | Country of the place. |
Latitude | String | Latitude of the place. |
Longitude | String | Longitude of the place. |
Street | String | Street of the place. |
SELECT ステートメントのWHERE 句では、疑似カラムフィールドを使用して、データソースから返されるタプルを詳細に制御することができます。
Name | Type | Description |
SearchTerms | String | Name of the place. |
Query Stories. Requires the instagram_basic and instagram_manage_insights scopes.
The Sync App process all filters on this table client-side within itself.
Name | Type | Description |
Id [KEY] | String | The unique identifier for the story. |
InstagramBusinessAccountId | String | The unique identifier of the Instagram business account Id. |
Query tags. Requires the instagram_basic and instagram_manage_comments scopes.
The Sync App processes all filters on this table client-side within itself.
Name | Type | Description |
Id [KEY] | String | The unique identifier for the tag. |
Username | String | The unique identifier for the user. |
Caption | String | The caption for the tag. |
ComentsCount | Int | The number of coments. |
LikeCount | Int | The number of likes. |
MediType | String | The type of media (image or video). |
MediUrl | String | The media URL. |
UserId | String | The Id of the user. |
Timestamp | Datetime | Time the media was created. |
InstagramBusinessAccountId | String | The unique identifier for the Instagram business account. |
プロパティ | 説明 |
BusinessAccountId | The Id of a connected Instagram business account Id. |
Version | The Facebook Graph API version to use. |
AuthenticateAsPage | true or false to authenticate for page accesstoken as when making requests to Instagram. |
プロパティ | 説明 |
OAuthClientId | OAuth 認証サーバーを使用してアプリケーションを登録する場合に割り当てられたクライアントId。 |
OAuthClientSecret | OAuth 認証サーバーにアプリケーションを登録する場合に割り当てられたクライアントシークレット。 |
プロパティ | 説明 |
SSLServerCert | TLS/SSL を使用して接続するときに、サーバーが受け入れ可能な証明書。 |
プロパティ | 説明 |
FirewallType | プロキシベースのファイアウォールで使われるプロトコル。 |
FirewallServer | プロキシベースのファイアウォールの名前もしくはIP アドレス。 |
FirewallPort | プロキシベースのファイアウォールのTCP ポート。 |
FirewallUser | プロキシベースのファイアウォールに認証するために使うユーザー名。 |
FirewallPassword | プロキシベースのファイアウォールへの認証に使われるパスワード。 |
プロパティ | 説明 |
ProxyAutoDetect | これは、システムプロキシ設定を使用するかどうかを示します。これは他のプロキシ設定よりも優先されるため、カスタムプロキシ設定を使用するにはProxyAutoDetect をFALSE に設定する必要があります。 |
ProxyServer | HTTP トラフィックをルートするためのプロキシのホストネームもしくはIP アドレス。 |
ProxyPort | ProxyServer プロキシが起動しているTCP ポート。 |
ProxyAuthScheme | ProxyServer プロキシへの認証で使われる認証タイプ。 |
ProxyUser | ProxyServer プロキシへの認証に使われるユーザー名。 |
ProxyPassword | ProxyServer プロキシへの認証に使われるパスワード。 |
ProxySSLType | ProxyServer プロキシへの接続時に使用するSSL タイプ。 |
ProxyExceptions | ProxyServer 経由での接続が免除される宛先ホスト名またはIP のセミコロン区切りのリスト。 |
プロパティ | 説明 |
LogModules | ログファイルに含めるコアモジュール。 |
プロパティ | 説明 |
Location | テーブル、ビュー、およびストアドプロシージャを定義するスキーマファイルを格納するディレクトリへのパス。 |
BrowsableSchemas | このプロパティは、使用可能なスキーマのサブセットにレポートされるスキーマを制限します。例えば、BrowsableSchemas=SchemaA,SchemaB,SchemaC です。 |
Tables | このプロパティは、使用可能なテーブルのサブセットにレポートされるテーブルを制限します。例えば、Tables=TableA,TableB,TableC です。 |
Views | 使用可能なテーブルのサブセットにレポートされるビューを制限します。例えば、Views=ViewA,ViewB,ViewC です。 |
プロパティ | 説明 |
MaxRows | クエリで集計またはグループ化を使用しない場合に返される行数を制限します。これにより、設計時にパフォーマンスの問題を回避できます。 |
Other | これらの隠しプロパティは特定のユースケースでのみ使用されます。 |
PseudoColumns | このプロパティは、テーブルのカラムとして疑似カラムが含まれているかどうかを示します。 |
Timeout | タイムアウトエラーがスローされ、処理をキャンセルするまでの秒数。 |
UserDefinedViews | カスタムビューを含むJSON コンフィギュレーションファイルを指すファイルパス。 |
このセクションでは、本プロバイダーの接続文字列で設定可能なAuthentication プロパティの全リストを提供します。
プロパティ | 説明 |
BusinessAccountId | The Id of a connected Instagram business account Id. |
Version | The Facebook Graph API version to use. |
AuthenticateAsPage | true or false to authenticate for page accesstoken as when making requests to Instagram. |
The Id of a connected Instagram business account Id.
The Id of an Instagram business account connected to a Facebook page. Set this only if you have more than one Instagram business account managed with the same Facebook account.
The Facebook Graph API version to use.
The Facebook Graph API version to use. Generally this property does not need to be set.
true or false to authenticate for page accesstoken as when making requests to Instagram.
true or false to authenticate for page accesstoken. The page must be managed by the authenticated user.
このセクションでは、本プロバイダーの接続文字列で設定可能なOAuth プロパティの全リストを提供します。
プロパティ | 説明 |
OAuthClientId | OAuth 認証サーバーを使用してアプリケーションを登録する場合に割り当てられたクライアントId。 |
OAuthClientSecret | OAuth 認証サーバーにアプリケーションを登録する場合に割り当てられたクライアントシークレット。 |
OAuth 認証サーバーを使用してアプリケーションを登録する場合に割り当てられたクライアントId。
OAuth アプリケーションの登録の一環として、コンシューマキーとも呼ばれるOAuthClientId 値、およびクライアントシークレットOAuthClientSecret が提供されます。
OAuth 認証サーバーにアプリケーションを登録する場合に割り当てられたクライアントシークレット。
OAuth アプリケーションの登録の一環として、コンシューマキーとも呼ばれるOAuthClientId が提供されます。また、コンシューマーシークレットと呼ばれるクライアントシークレットも提供されます。クライアントシークレットをOAuthClientSecret プロパティに設定します。
このセクションでは、本プロバイダーの接続文字列で設定可能なSSL プロパティの全リストを提供します。
プロパティ | 説明 |
SSLServerCert | TLS/SSL を使用して接続するときに、サーバーが受け入れ可能な証明書。 |
TLS/SSL を使用して接続するときに、サーバーが受け入れ可能な証明書。
TLS/SSL 接続を使用する場合は、このプロパティを使用して、サーバーが受け入れるTLS/SSL 証明書を指定できます。コンピュータによって信頼されていない他の証明書はすべて拒否されます。
このプロパティは、次のフォームを取ります:
説明 | 例 |
フルPEM 証明書(例では省略されています) | -----BEGIN CERTIFICATE----- MIIChTCCAe4CAQAwDQYJKoZIhv......Qw== -----END CERTIFICATE----- |
証明書を保有するローカルファイルへのパス。 | C:\cert.cer |
公開鍵(例では省略されています) | -----BEGIN RSA PUBLIC KEY----- MIGfMA0GCSq......AQAB -----END RSA PUBLIC KEY----- |
MD5 Thumbprint (hex 値はスペースおよびコロン区切り) | ecadbdda5a1529c58a1e9e09828d70e4 |
SHA1 Thumbprint (hex 値はスペースおよびコロン区切り) | 34a929226ae0819f2ec14b4a3d904f801cbb150d |
これを指定しない場合は、マシンが信用するすべての証明書が受け入れられます。
すべての証明書の受け入れを示すには、'*'を使用します。セキュリティ上の理由から、これはお勧めできません。
このセクションでは、本プロバイダーの接続文字列で設定可能なFirewall プロパティの全リストを提供します。
プロパティ | 説明 |
FirewallType | プロキシベースのファイアウォールで使われるプロトコル。 |
FirewallServer | プロキシベースのファイアウォールの名前もしくはIP アドレス。 |
FirewallPort | プロキシベースのファイアウォールのTCP ポート。 |
FirewallUser | プロキシベースのファイアウォールに認証するために使うユーザー名。 |
FirewallPassword | プロキシベースのファイアウォールへの認証に使われるパスワード。 |
プロキシベースのファイアウォールで使われるプロトコル。
このプロパティは、Sync App がFirewallServer プロキシ経由でトンネルトラフィックを使うためのプロトコルを指定します。デフォルトでは、Sync App はシステムプロキシに接続します。この動作を無効化し次のプロキシタイプのどれかで接続するには、ProxyAutoDetect をfalse に設定します。
タイプ | デフォルトポート | 説明 |
TUNNEL | 80 | これが設定されている場合、Sync App はInstagram への接続を開き、プロキシを経由して通信が行われます。 |
SOCKS4 | 1080 | これが設定されている場合、Sync App はデータをFirewallServer およびFirewallPort で指定されたSOCS 4 プロキシ経由で送信し、接続リクエストが許容されるかどうかを決定します。 |
SOCKS5 | 1080 | これが設定されている場合、Sync App はデータをFirewallServer およびFirewallPort で指定されたSOCS 5 プロキシ経由で送信します。プロキシに認証が必要な場合には、FirewallUser およびFirewallPassword をプロキシが認識する認証情報に設定します。 |
HTTP プロキシへの接続には、ProxyServer およびProxyPort ポートを使ってください。HTTP プロキシへの認証には、ProxyAuthScheme、ProxyUser、およびProxyPassword を使ってください。
プロキシベースのファイアウォールの名前もしくはIP アドレス。
ファイアウォールトラバーサルを許容するために設定するIP アドレス、DNS 名、もしくはプロキシホスト名を指定するプロパティです。プロトコルはFirewallType で指定されます。このプロパティとFirewallServer を使って、SOCKS 経由での接続、もしくはトンネリングが可能です。HTTP プロキシへの接続には、ProxyServer を使用します。
Sync App はデフォルトでシステムプロキシを使うので注意してください。他のプロキシを使う場合には、ProxyAutoDetect をfalse に設定してください。
プロキシベースのファイアウォールのTCP ポート。
ファイアウォールトラバーサルを許容するために設定するプロキシベースのファイアウォールのTCP ポート。名前もしくはIP アドレスを指定するには、FirewallServer を使います。FirewallType でプロトコルを指定します。
プロキシベースのファイアウォールに認証するために使うユーザー名。
FirewallUser およびFirewallPassword プロパティは、FirewallType により指定された認証方式に則り、FirewallServer、およびFirewallPort で指定されたプロキシに対しての認証に使われます。
プロキシベースのファイアウォールへの認証に使われるパスワード。
このプロパティは、FirewallType により指定された認証メソッドに則り、FirewallServer およびFirewallPort で指定されたプロキシに渡されます。
このセクションでは、本プロバイダーの接続文字列で設定可能なProxy プロパティの全リストを提供します。
プロパティ | 説明 |
ProxyAutoDetect | これは、システムプロキシ設定を使用するかどうかを示します。これは他のプロキシ設定よりも優先されるため、カスタムプロキシ設定を使用するにはProxyAutoDetect をFALSE に設定する必要があります。 |
ProxyServer | HTTP トラフィックをルートするためのプロキシのホストネームもしくはIP アドレス。 |
ProxyPort | ProxyServer プロキシが起動しているTCP ポート。 |
ProxyAuthScheme | ProxyServer プロキシへの認証で使われる認証タイプ。 |
ProxyUser | ProxyServer プロキシへの認証に使われるユーザー名。 |
ProxyPassword | ProxyServer プロキシへの認証に使われるパスワード。 |
ProxySSLType | ProxyServer プロキシへの接続時に使用するSSL タイプ。 |
ProxyExceptions | ProxyServer 経由での接続が免除される宛先ホスト名またはIP のセミコロン区切りのリスト。 |
これは、システムプロキシ設定を使用するかどうかを示します。これは他のプロキシ設定よりも優先されるため、カスタムプロキシ設定を使用するにはProxyAutoDetect をFALSE に設定する必要があります。
これは他のプロキシ設定よりも優先されるため、カスタムプロキシ設定を使用するにはProxyAutoDetect をFALSE に設定する必要があります。
HTTP プロキシへの接続には、ProxyServer を参照してください。SOCKS やトンネリングなどの他のプロキシには、FirewallType を参照してください。
HTTP トラフィックをルートするためのプロキシのホストネームもしくはIP アドレス。
HTTP トラフィックをルートするためのプロキシのホストネームもしくはIP アドレス。HTTP プロキシへの認証には、Sync App はHTTP、Windows(NTLM)、もしくはKerberos 認証タイプを使用することができます。
SOCKS プロキシを経由して接続する、もしくは接続をトンネルするには、FirewallType を参照してください。
デフォルトで、Sync App はsystem プロキシを使います。他のプロキシを使う場合には、ProxyAutoDetect をfalse に設定します。
ProxyServer プロキシが起動しているTCP ポート。
HTTP トラフィックをリダイレクトするHTTP プロキシが実行されているポート。ProxyServer でHTTP プロキシを指定します。その他のプロキシタイプについては、FirewallType を参照してください。
ProxyServer プロキシへの認証で使われる認証タイプ。
この値は、ProxyServer およびProxyPort で指定されるHTTP プロキシに認証するために使われる認証タイプを指定します。
Sync App は、デフォルトでsystem proxy settings を使い、追加での設定が不要です。他のプロキシへの接続をする場合には、ProxyServer およびProxyPort に加え、ProxyAutoDetect をfalse に設定します。認証するには、ProxyAuthScheme を設定し、必要な場合にはProxyUser およびProxyPassword を設定します。
認証タイプは、次のどれかになります。
SOCKS 5 認証のような他の認証タイプを使用するには、FirewallType を参照してください。
ProxyServer プロキシへの認証に使われるユーザー名。
ProxyUser および ProxyPassword オプションは、ProxyServer で指定されたHTTP プロキシに対して接続および認証するために使用されます。
ProxyAuthScheme で使用可能な認証タイプを選択することができます。HTTP 認証を使う場合、これをHTTP プロキシで識別可能なユーザーのユーザー名に設定します。Windows もしくはKerberos 認証を使用する場合、このプロパティを次の形式のどれかでユーザー名に設定します。
user@domain domain\user
ProxyServer プロキシへの認証に使われるパスワード。
このプロパティは、NTLM(Windows)、Kerberos、もしくはHTTP 認証をサポートするHTTP プロキシサーバーに認証するために使われます。HTTP プロキシを指定するためには、ProxyServer およびProxyPort を設定します。認証タイプを指定するためにはProxyAuthScheme を設定します。
HTTP 認証を使う場合、さらにHTTP プロキシにProxyUser およびProxyPassword を設定します。
NTLM 認証を使う場合、Windows パスワードにProxyUser およびProxyPassword を設定します。Kerberos 認証には、これらを入力する必要があります。
SOCKS 5 認証もしくは、トンネリングは、FirewallType を参照してください。
デフォルトで、Sync App はsystem プロキシを使います。他のプロキシに接続する場合には、これをfalse に設定します。
ProxyServer プロキシへの接続時に使用するSSL タイプ。
このプロパティは、ProxyServer で指定されたHTTP プロキシへの接続にSSL を使用するかどうかを決定します。この値は、AUTO、ALWAYS、NEVER、TUNNEL のいずれかです。有効な値は次のとおりです。
AUTO | デフォルト設定。URL がHTTPS URL の場合、Sync App は、TUNNEL オプションを使います。URL がHTTP URL の場合、コンポーネントはNEVER オプションを使います。 |
ALWAYS | 接続は、常にSSL 有効となります。 |
NEVER | 接続は、SSL 有効になりません。 |
TUNNEL | 接続は、トンネリングプロキシを経由します。プロキシサーバーがリモートホストへの接続を開き、プロキシを経由して通信が行われます。 |
ProxyServer 経由での接続が免除される宛先ホスト名またはIP のセミコロン区切りのリスト。
ProxyServer は、このプロパティで定義されたアドレスを除くすべてのアドレスに使用されます。セミコロンを使用してエントリを区切ります。
Sync App は、追加設定なしにデフォルトでシステムのプロキシ設定を使います。この接続のプロキシ例外を明示的に構成するには、ProxyAutoDetect をfalse に設定して、ProxyServer およびProxyPort を設定する必要があります。認証するには、ProxyAuthScheme を設定し、必要な場合にはProxyUser およびProxyPassword を設定します。
ログファイルに含めるコアモジュール。
指定された(';' で区切られた)モジュールのみがログファイルに含まれます。デフォルトではすべてのモジュールが含まれます。
概要はログ ページを参照してください。
このセクションでは、本プロバイダーの接続文字列で設定可能なSchema プロパティの全リストを提供します。
プロパティ | 説明 |
Location | テーブル、ビュー、およびストアドプロシージャを定義するスキーマファイルを格納するディレクトリへのパス。 |
BrowsableSchemas | このプロパティは、使用可能なスキーマのサブセットにレポートされるスキーマを制限します。例えば、BrowsableSchemas=SchemaA,SchemaB,SchemaC です。 |
Tables | このプロパティは、使用可能なテーブルのサブセットにレポートされるテーブルを制限します。例えば、Tables=TableA,TableB,TableC です。 |
Views | 使用可能なテーブルのサブセットにレポートされるビューを制限します。例えば、Views=ViewA,ViewB,ViewC です。 |
テーブル、ビュー、およびストアドプロシージャを定義するスキーマファイルを格納するディレクトリへのパス。
Sync App のスキーマファイル(テーブルとビューの場合は.rsd ファイル、ストアドプロシージャの場合は.rsb ファイル)を含むディレクトリへのパス。このフォルダの場所は、実行ファイルの場所からの相対パスにすることができます。Location プロパティは、定義をカスタマイズしたり(例えば、カラム名を変更する、カラムを無視するなど)、新しいテーブル、ビュー、またはストアドプロシージャでデータモデルを拡張する場合にのみ必要です。
指定しない場合、デフォルトの場所は"%APPDATA%\\CData\\Instagram Data Provider\\Schema" となり、%APPDATA% はユーザーのコンフィギュレーションディレクトリに設定されます:
このプロパティは、使用可能なスキーマのサブセットにレポートされるスキーマを制限します。例えば、BrowsableSchemas=SchemaA,SchemaB,SchemaC です。
スキーマをデータベースからリストすると、負荷がかかる可能性があります。接続文字列でスキーマのリストを提供すると、 パフォーマンスが向上します。
このプロパティは、使用可能なテーブルのサブセットにレポートされるテーブルを制限します。例えば、Tables=TableA,TableB,TableC です。
テーブルを複数のデータベースからリストすると、負荷がかかる可能性があります。接続文字列でテーブルのリストを提供すると、Sync App のパフォーマンスが向上します。
このプロパティは、作業したいビューがすでにわかっていて、ビューが多すぎる場合に、ビューを自動的にリストする代わりに使用することもできます。
カンマ区切りのリストで使用したいテーブルを指定します。各テーブルは、角かっこ、二重引用符、またはバッククオートを使用してエスケープされた特殊文字列を含む有効なSQL 識別子である必要があります。 例えば、Tables=TableA,[TableB/WithSlash],WithCatalog.WithSchema.`TableC With Space` です。
複数のスキーマまたはカタログを持つデータソースに接続する場合は、複数のカタログやスキーマに存在するテーブル間の曖昧さを避けるため、最後の例のように、このプロパティにテーブルの完全修飾名を指定する必要があることに注意してください。
使用可能なテーブルのサブセットにレポートされるビューを制限します。例えば、Views=ViewA,ViewB,ViewC です。
ビューを複数のデータベースからリストすると、負荷がかかる可能性があります。接続文字列でビューのリストを提供すると、Sync App のパフォーマンスが向上します。
このプロパティは、作業したいビューがすでにわかっていて、ビューが多すぎる場合に、ビューを自動的にリストする代わりに使用することもできます。
カンマ区切りのリストで使用したいビューを指定します。各ビューは、角かっこ、二重引用符、またはバッククオートを使用してエスケープされた特殊文字列を含む有効なSQL 識別子である必要があります。 例えば、Views=ViewA,[ViewB/WithSlash],WithCatalog.WithSchema.`ViewC With Space` です。
複数のスキーマまたはカタログを持つデータソースに接続する場合は、複数のカタログやスキーマに存在するテーブル間の曖昧さを避けるため、最後の例のように、このプロパティにテーブルの完全修飾名を指定する必要があることに注意してください。
このセクションでは、本プロバイダーの接続文字列で設定可能なMiscellaneous プロパティの全リストを提供します。
プロパティ | 説明 |
MaxRows | クエリで集計またはグループ化を使用しない場合に返される行数を制限します。これにより、設計時にパフォーマンスの問題を回避できます。 |
Other | これらの隠しプロパティは特定のユースケースでのみ使用されます。 |
PseudoColumns | このプロパティは、テーブルのカラムとして疑似カラムが含まれているかどうかを示します。 |
Timeout | タイムアウトエラーがスローされ、処理をキャンセルするまでの秒数。 |
UserDefinedViews | カスタムビューを含むJSON コンフィギュレーションファイルを指すファイルパス。 |
クエリで集計またはグループ化を使用しない場合に返される行数を制限します。これにより、設計時にパフォーマンスの問題を回避できます。
クエリで集計またはグループ化を使用しない場合に返される行数を制限します。これにより、設計時にパフォーマンスの問題を回避できます。
これらの隠しプロパティは特定のユースケースでのみ使用されます。
以下にリストされているプロパティは、特定のユースケースで使用可能です。通常のドライバーのユースケースおよび機能では、これらのプロパティは必要ありません。
複数のプロパティをセミコロン区切りリストで指定します。
DefaultColumnSize | データソースがメタデータにカラムの長さを提供しない場合に、文字列フィールドのデフォルトの長さを設定します。デフォルト値は2000です。 |
ConvertDateTimeToGMT | 日時の値を、マシンのローカルタイムではなくGMT グリニッジ標準時に変換するかどうかを決定します。 |
RecordToFile=filename | 基底のソケットデータ転送を指定のファイルに記録します。 |
このプロパティは、テーブルのカラムとして疑似カラムが含まれているかどうかを示します。
Entity Framework ではテーブルカラムでない疑似カラムに値を設定できないため、この設定はEntity Framework で特に便利です。この接続設定の値は、"Table1=Column1, Table1=Column2, Table2=Column3" の形式です。"*=*" のように"*" 文字を使用して、すべてのテーブルとすべてのカラムを含めることができます。
タイムアウトエラーがスローされ、処理をキャンセルするまでの秒数。
Timeout が0に設定されている場合は、操作がタイムアウトしません。処理が正常に完了するか、エラー状態になるまで実行されます。
Timeout の有効期限が切れても処理が完了していない場合は、Sync App は例外をスローします。
カスタムビューを含むJSON コンフィギュレーションファイルを指すファイルパス。
ユーザー定義ビューは、UserDefinedViews.json というJSON 形式のコンフィギュレーションファイルで定義されています。Sync App は、このファイルで指定されたビューを自動的に検出します。
また、複数のビュー定義を持ち、UserDefinedViews 接続プロパティを使用して制御することも可能です。このプロパティを使用すると、指定されたビューのみがSync App によって検知されます。
このユーザー定義ビューのコンフィギュレーションファイルは、次のようにフォーマットされています。
次に例を示します。
{ "MyView": { "query": "SELECT * FROM Users WHERE MyColumn = 'value'" }, "MyView2": { "query": "SELECT * FROM MyTable WHERE Id IN (1,2,3)" } }UserDefinedViews 接続プロパティを使用して、JSON コンフィギュレーションファイルの場所を指定します。次に例を示します。
"UserDefinedViews", "C:\\Users\\yourusername\\Desktop\\tmp\\UserDefinedViews.json"