LINQ を使ってSentry のデータに連携する方法

加藤龍彦
加藤龍彦
デジタルマーケティング
LINQ は.NET Framework 3.0以上でデータクエリ用のインターフェースを提供し、CData Data Providers for ADO.NET からプログラムでデータにアクセスする簡単な方法を提供します。この記事では、LINQ を使ってSentry Data Provider から情報にアクセスします。



この記事では、CData ADO.NET Data Provider for API 経由でLINQ を使ってSentry テーブルにアクセスする方法を説明します。これを行うには、Entity Framework にLINQ を使います。これにより接続を作成し、あらゆる CData ADO.NET Data Providers からLINQ を使ってデータにアクセスできるようになります。

  1. Visual Studio の新規プロジェクトで、プロジェクトを右クリックし[新しい項目の追加]を選択します。[ADO.NET Entity Data Model]を追加します。
  2. [データベースから生成]を選択し、[次へ]をクリックします。
  3. [接続の追加]をクリックし、データソースタイプを "CData Sentry Data Source" に変更します。
  4. データソースの接続情報を入力します。一般的な接続プロパティは以下のとおりです:

    API キー認証の設定

    Sentry はトークンベースの認証を使用します。Auth Token を取得するには、以下のステップで進めます:

    1. https://sentry.io で Sentry アカウントにログインします
    2. Settings > Auth Tokens に移動します
    3. 「Create New Token」をクリックします
    4. 必要なスコープを選択して「Create Token」をクリックします
    5. 生成されたトークンをコピーします(一度しか表示されません)

    Auth Token を取得したら、以下の接続プロパティを設定します:

    • AuthScheme:APIKey に設定します。
    ProfileSettings 接続プロパティには以下を設定します:
    • APIKey:Sentry の Auth Token に設定します。
    • OrganizationId:Sentry の組織スラッグまたは ID に設定します。

    接続文字列の例

    Profile=C:\profiles\Sentry.apip;AuthScheme=APIKey;ProfileSettings="APIKey=your_auth_token;OrganizationId=your_org_slug";
    

    Sentry への接続

    認証を設定すると、Sentry に接続して、Organizations、Projects、Issues、Events などの利用可能なテーブルからデータをクエリできます。

    Below is a typical connection string:

    Profile=C:\profiles\Sentry.apip;AuthScheme=APIKey;ProfileSettings="APIKey=your_auth_token;OrganizationId=your_org_slug";
  5. Required connection properties for the data source. (Salesforce is shown.)
  6. エンティティ接続をApp.Config に保存する場合は、エンティティ名を設定します。この例では、APIEntities をエンティティ接続としてApp.Config に設定しています。
  7. モデル名を入力し、モデルに含めたいテーブルまたはビューを選択します。
The available tables in the underlying data source. (QuickBooks is shown.)

作成したエンティティを使って、選択、更新、削除、および挿入コマンドが実行できます。例:

APIEntities context = new APIEntities();
var userorganizationsQuery = from userorganizations in context.UserOrganizations  select userorganizations;
foreach (var result in userorganizationsQuery) {
	Console.WriteLine("{0} {1} ", result.Id, result.);
}
	

サポートされたLINQ のクエリ例は、ヘルプドキュメントの「LINQ およびEntity Framework」をご参照ください。

はじめる準備はできましたか?

API Driver で Sentry のライブデータに接続

Sentry に接続