.NET 用 Azure Synapse Analytics Artifacts クライアント ライブラリ - バージョン 1.0.0-preview.18
このディレクトリには、.NET SDK のオープンソースサブセットが含まれています。 完全な Azure SDK のドキュメントについては、 Microsoft Azure .NET デベロッパー センターを参照してください。
Azure Synapse Analytics 開発クライアント ライブラリを使用すると、成果物をプログラムで管理し、パイプライン、データセット、データ フロー、ノートブック、Spark ジョブ定義、SQL スクリプト、リンクされたサービス、トリガーを作成、更新、一覧表示、削除するメソッドを提供できます。
Azure Synapse は、エンタープライズ データ ウェアハウスとビッグ データ分析がまとめられた無制限の分析サービスです。 サーバーレスのオンデマンド リソースまたはプロビジョニング済みのリソースを使用しながら大規模に、各自の条件で自由にデータを照会することができます。 Azure Synapse では、これら 2 つの環境を 1 つにした統合エクスペリエンスを使用して、データの取り込み、準備、管理、提供を行い、BI と機械学習の差し迫ったニーズに対応できます。
作業の開始
完全な Microsoft Azure SDK は Microsoft Azure ダウンロード ページ からダウンロードでき、デプロイ パッケージの構築、ツールとの統合、豊富なコマンド ライン ツールなどのサポートが付属しています。
最適な開発エクスペリエンスを得るには、開発者は公式の Microsoft NuGet パッケージをライブラリに使用する必要があります。 NuGet パッケージは、新しい機能と修正プログラムで定期的に更新されます。
パッケージをインストールする
NuGet を使用して .NET 用の Azure Synapse Analytics 開発クライアント ライブラリをインストールします。
dotnet add package Azure.Analytics.Synapse.Artifacts --prerelease
前提条件
- Azure サブスクリプション:Azure Synapseを含む Azure サービスを使用するには、サブスクリプションが必要です。 既存の Azure アカウントをお持ちでない場合は、無料試用版にサインアップするか、アカウントの作成時に Visual Studio サブスクリプション特典を使用できます。
- 既存のAzure Synapse ワークスペース。 Azure Synapse ワークスペースを作成する必要がある場合は、Azure Portal または Azure CLI を使用できます。
Azure CLI を使用する場合、コマンドは次のようになります。
az synapse workspace create \
--name <your-workspace-name> \
--resource-group <your-resource-group-name> \
--storage-account <your-storage-account-name> \
--file-system <your-storage-file-system-name> \
--sql-admin-login-user <your-sql-admin-user-name> \
--sql-admin-login-password <your-sql-admin-user-password> \
--location <your-workspace-location>
クライアントを認証する
Azure Synapse Analytics サービスの一部と対話するには、それぞれのクライアント クラスのインスタンスを作成する必要があります。
- BigDataPoolsClient
- DataFlowClient
- DataFlowDebugSessionClient
- DatasetClient
- IntegrationRuntimesClient
- LinkedServiceClient
- NotebookClient
- PipelineClient
- PipelineRunClient
- SparkJobDefinitionClient
- SqlPoolsClient
- SqlScriptClient
- TriggerClient
- TriggerRunClient
- WorkspaceClient
- WorkspaceGitRepoManagementClient
ワークスペース エンドポイントが必要です。この エンドポイントは、ポータルで "開発エンドポイント" と表示され、クライアント オブジェクトをインスタンス化するために クライアント シークレットの資格情報 (クライアント ID、クライアント シークレット、テナント ID) と表示される場合があります。
クライアント シークレット資格情報の認証は、この概要セクションで使用されていますが、 Azure ID で認証するその他の方法を見つけることができます。 次に示す DefaultAzureCredential プロバイダー、または Azure SDK で提供されている他の資格情報プロバイダーを使用するには、Azure.Identity パッケージをインストールする必要があります。
dotnet add package Azure.Identity
例
Azure.Analytics.Synapse.Artifacts パッケージでは、同期 API と非同期 API がサポートされています。 次のセクションでは、Azure Synapse Analytics 開発関連の最も一般的なタスクについて説明します。
ノートブックの例
ノートブックを作成する
CreateOrUpdateNotebook
はノートブックを作成します。
NotebookCreateOrUpdateNotebookOperation operation = await client.StartCreateOrUpdateNotebookAsync(notebookName, notebookResource);
await operation.WaitForCompletionAsync();
Console.WriteLine("The notebook is created");
ノートブックを取得する
GetNoteBook
はノートブックを取得します。
NotebookResource retrievedNotebook = client.GetNotebook(notebookName);
ノートブックを一覧表示する
GetNotebooksByWorkspace
は、Synapse ワークスペース内のノートブックを列挙します。
Pageable<NotebookResource> notebooks = client.GetNotebooksByWorkspace();
foreach (NotebookResource notebook in notebooks)
{
Console.WriteLine(notebook.Name);
}
ノートブックを削除する
DeleteNotebook
ノートブックを削除します。
NotebookDeleteNotebookOperation deleteNotebookOperation = client.StartDeleteNotebook(notebookName);
await deleteNotebookOperation.WaitForCompletionResponseAsync();
ビルドするには
Azure Synapse クライアント ライブラリの構築については、「Microsoft Azure SDK for .NETのビルド」を参照してください。
ターゲット フレームワーク
Azure Synapse クライアント ライブラリのターゲット フレームワークについては、Microsoft Azure SDK for .NETのターゲット フレームワークに関するページを参照してください。
主要な概念
NotebookControlClient
ノートブック クライアントを使用すると、パイプライン、データセット、データ フロー、ノートブック、Spark ジョブ定義、SQL スクリプト、リンクされたサービス、トリガーを作成、更新、一覧表示、削除できます。
スレッド セーフ
すべてのクライアント インスタンス メソッドがスレッド セーフであり、相互に独立していることを保証します (ガイドライン)。 これにより、クライアント インスタンスの再利用に関する推奨事項は、スレッド間でも常に安全になります。
その他の概念
クライアント オプション | 応答 | へのアクセス実行時間の長い操作 | エラーの | 処理診断 | あざける | クライアントの有効期間
トラブルシューティング
github で issue を開いてください。
次のステップ
次の手順では、さらに例を追加します
共同作成
このプロジェクトでは、Microsoft オープン ソースの倫理規定を採用しています。 詳しくは、「Code of Conduct FAQ (倫理規定についてよくある質問)」を参照するか、opencode@microsoft.com 宛てに質問またはコメントをお送りください。