コード例 #1
0
        public async Task TriggerSample()
        {
            #region Snippet:CreateTriggerClient
            // Replace the string below with your actual endpoint url.
            string endpoint = "<my-endpoint-url>";
            /*@@*/ endpoint = TestEnvironment.EndpointUrl;
            TriggerClient client = new TriggerClient(endpoint: new Uri(endpoint), credential: new DefaultAzureCredential());
            #endregion

            #region Snippet:CreateTrigger
            TriggerResource triggerResource = new TriggerResource(new ScheduleTrigger(new ScheduleTriggerRecurrence()));
            TriggerCreateOrUpdateTriggerOperation operation      = client.StartCreateOrUpdateTrigger("MyTrigger", triggerResource);
            Response <TriggerResource>            createdTrigger = await operation.WaitForCompletionAsync();

            #endregion

            #region Snippet:RetrieveTrigger
            TriggerResource retrievedTrigger = client.GetTrigger("MyTrigger");
            #endregion

            #region Snippet:ListTriggers
            Pageable <TriggerResource> triggers = client.GetTriggersByWorkspace();
            foreach (TriggerResource trigger in triggers)
            {
                System.Console.WriteLine(trigger.Name);
            }
            #endregion

            #region Snippet:DeleteTrigger
            client.StartDeleteTrigger("MyTrigger");
            #endregion
        }
コード例 #2
0
        public SynapseAnalyticsArtifactsClient(string workspaceName, IAzureContext context)
        {
            if (context == null)
            {
                throw new SynapseException(Resources.InvalidDefaultSubscription);
            }

            Settings = new JsonSerializerSettings
            {
                DateFormatHandling    = Newtonsoft.Json.DateFormatHandling.IsoDateFormat,
                DateTimeZoneHandling  = Newtonsoft.Json.DateTimeZoneHandling.Utc,
                NullValueHandling     = Newtonsoft.Json.NullValueHandling.Ignore,
                ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Serialize,
                ContractResolver      = new ReadOnlyJsonContractResolver(),
                Converters            = new List <JsonConverter>
                {
                    new Iso8601TimeSpanConverter()
                }
            };
            Settings.Converters.Add(new TransformationJsonConverter());
            Settings.Converters.Add(new PolymorphicDeserializeJsonConverter <PSActivity>("type"));
            Settings.Converters.Add(new PolymorphicDeserializeJsonConverter <PSLinkedService>("type"));
            Settings.Converters.Add(new PolymorphicDeserializeJsonConverter <PSTrigger>("type"));

            string suffix = context.Environment.GetEndpoint(AzureEnvironment.ExtendedEndpoint.AzureSynapseAnalyticsEndpointSuffix);
            Uri    uri    = new Uri("https://" + workspaceName + "." + suffix);

            _pipelineClient      = new PipelineClient(uri, new AzureSessionCredential(context));
            _pipelineRunClient   = new PipelineRunClient(uri, new AzureSessionCredential(context));
            _linkedServiceClient = new LinkedServiceClient(uri, new AzureSessionCredential(context));
            _notebookClient      = new NotebookClient(uri, new AzureSessionCredential(context));
            _triggerClient       = new TriggerClient(uri, new AzureSessionCredential(context));
            _triggerRunClient    = new TriggerRunClient(uri, new AzureSessionCredential(context));
        }
        public SynapseAnalyticsArtifactsClient(string workspaceName, IAzureContext context)
        {
            if (context == null)
            {
                throw new AzPSInvalidOperationException(Resources.InvalidDefaultSubscription);
            }

            _context = context;
            string suffix = context.Environment.GetEndpoint(AzureEnvironment.ExtendedEndpoint.AzureSynapseAnalyticsEndpointSuffix);
            Uri    uri    = new Uri("https://" + workspaceName + "." + suffix);

            _endpoint                   = uri;
            _pipelineClient             = new PipelineClient(uri, new AzureSessionCredential(context));
            _pipelineRunClient          = new PipelineRunClient(uri, new AzureSessionCredential(context));
            _linkedServiceClient        = new LinkedServiceClient(uri, new AzureSessionCredential(context));
            _notebookClient             = new NotebookClient(uri, new AzureSessionCredential(context));
            _triggerClient              = new TriggerClient(uri, new AzureSessionCredential(context));
            _triggerRunClient           = new TriggerRunClient(uri, new AzureSessionCredential(context));
            _datasetClient              = new DatasetClient(uri, new AzureSessionCredential(context));
            _dataFlowClient             = new DataFlowClient(uri, new AzureSessionCredential(context));
            _dataFlowDebugSessionClient = new DataFlowDebugSessionClient(uri, new AzureSessionCredential(context));
            _bigDataPoolsClient         = new BigDataPoolsClient(uri, new AzureSessionCredential(context));
            _sparkJobDefinitionClient   = new SparkJobDefinitionClient(uri, new AzureSessionCredential(context));
            _sqlScriptClient            = new SqlScriptClient(uri, new AzureSessionCredential(context));
        }
コード例 #4
0
        public static async ValueTask <TriggerResource> CreateResource(TriggerClient client, TestRecording recording)
        {
            string          triggerName = recording.GenerateId("Trigger", 16);
            TriggerResource trigger     = new TriggerResource(new ScheduleTrigger(new ScheduleTriggerRecurrence()));
            TriggerCreateOrUpdateTriggerOperation createOperation = await client.StartCreateOrUpdateTriggerAsync(triggerName, trigger);

            return(await createOperation.WaitForCompletionAsync());
        }
コード例 #5
0
        public async Task TestCreateTrigger()
        {
            string triggerName = Recording.GenerateName("Trigger");
            TriggerCreateOrUpdateTriggerOperation operation = await TriggerClient.StartCreateOrUpdateTriggerAsync(triggerName, new TriggerResource(new Trigger()));

            TriggerResource trigger = await operation.WaitForCompletionAsync();

            Assert.AreEqual(triggerName, trigger.Name);
        }
コード例 #6
0
        public async Task TestDeleteSparkJob()
        {
            TriggerClient client = CreateClient();

            TriggerResource resource = await DisposableTrigger.CreateResource(client, Recording);

            TriggerDeleteTriggerOperation deleteOperation = await client.StartDeleteTriggerAsync(resource.Name);

            await deleteOperation.WaitAndAssertSuccessfulCompletion();
        }
コード例 #7
0
        public async Task TestGetTrigger()
        {
            await foreach (var expectedTrigger in TriggerClient.GetTriggersByWorkspaceAsync())
            {
                TriggerResource actualTrigger = await TriggerClient.GetTriggerAsync(expectedTrigger.Name);

                Assert.AreEqual(expectedTrigger.Name, actualTrigger.Name);
                Assert.AreEqual(expectedTrigger.Id, actualTrigger.Id);
            }
        }
コード例 #8
0
        public async Task TestCreateTrigger()
        {
            var operation = await TriggerClient.StartCreateOrUpdateTriggerAsync("MyTrigger", new TriggerResource(new Trigger()));

            while (!operation.HasValue)
            {
                operation.UpdateStatus();
            }
            Assert.AreEqual("MyTrigger", operation.Value.Name);
        }
コード例 #9
0
        public async Task TestDeleteTrigger()
        {
            var operation = await TriggerClient.StartDeleteTriggerAsync("MyTrigger");

            while (!operation.HasValue)
            {
                operation.UpdateStatus();
            }
            Assert.AreEqual(200, operation.Value.Status);
        }
コード例 #10
0
        public async Task TestEventStatus()
        {
            TriggerClient client = CreateClient();

            await using DisposableTrigger trigger = await DisposableTrigger.Create(client, Recording);

            TriggerSubscriptionOperationStatus statusOperation = await client.GetEventSubscriptionStatusAsync(trigger.Name);

            Assert.AreEqual(statusOperation.TriggerName, trigger.Name);
        }
コード例 #11
0
        public async Task TestCreateTrigger()
        {
            TriggerClient client = CreateClient();

            string triggerName = Recording.GenerateId("Trigger", 16);
            TriggerCreateOrUpdateTriggerOperation operation = await client.StartCreateOrUpdateTriggerAsync(triggerName, new TriggerResource(new ScheduleTrigger(new ScheduleTriggerRecurrence())));

            TriggerResource trigger = await operation.WaitForCompletionAsync();

            Assert.AreEqual(triggerName, trigger.Name);
        }
コード例 #12
0
        public void CreateClient()
        {
            // Environment variable with the Synapse workspace endpoint.
            string workspaceUrl = TestEnvironment.WorkspaceUrl;

            #region Snippet:CreateTriggerClient
            // Create a new Trigger client using the default credential from Azure.Identity using environment variables previously set,
            // including AZURE_CLIENT_ID, AZURE_CLIENT_SECRET, and AZURE_TENANT_ID.
            TriggerClient client = new TriggerClient(endpoint: new Uri(workspaceUrl), credential: new DefaultAzureCredential());
            #endregion

            this.TriggerClient = client;
        }
コード例 #13
0
        public async Task TestGetTrigger()
        {
            TriggerClient client = CreateClient();

            await using DisposableTrigger singleTrigger = await DisposableTrigger.Create(client, Recording);

            await foreach (var trigger in client.GetTriggersByWorkspaceAsync())
            {
                TriggerResource actualTrigger = await client.GetTriggerAsync(trigger.Name);

                Assert.AreEqual(trigger.Name, actualTrigger.Name);
                Assert.AreEqual(trigger.Id, actualTrigger.Id);
            }
        }
コード例 #14
0
        public async Task TestDeleteTrigger()
        {
            string triggerName = Recording.GenerateName("Trigger");

            TriggerCreateOrUpdateTriggerOperation createOperation = await TriggerClient.StartCreateOrUpdateTriggerAsync(triggerName, new TriggerResource(new Trigger()));

            await createOperation.WaitForCompletionAsync();

            TriggerDeleteTriggerOperation deleteOperation = await TriggerClient.StartDeleteTriggerAsync(triggerName);

            Response response = await deleteOperation.WaitForCompletionAsync();

            Assert.AreEqual(200, response.Status);
        }
コード例 #15
0
        static public void DeleteTriggerClienr(TriggerClient triggerClient)
        {
            int currentClientIndex = triggerClients.IndexOf(triggerClient);

            try
            {
                if (currentClientIndex == -1)
                {
                    return;
                }

                triggerClients.RemoveAt(currentClientIndex);
            }
            catch (Exception) { };
        }
コード例 #16
0
        static public void SetClientState(TriggerClient triggerClient, bool isPaused)
        {
            int currentClientIndex = triggerClients.IndexOf(triggerClient);

            try
            {
                if (currentClientIndex == -1)
                {
                    return;
                }

                triggerClients[currentClientIndex].isPaused = isPaused;
            }
            catch (Exception) { };
        }
コード例 #17
0
        public async Task TestQueryRuns()
        {
            TriggerClient    triggerClient = CreateTriggerClient();
            TriggerRunClient runClient     = CreateRunClient();

            TriggerResource resource = await DisposableTrigger.CreateResource(triggerClient, Recording);

            TriggerStartTriggerOperation startOperation = await triggerClient.StartStartTriggerAsync(resource.Name);

            await startOperation.WaitAndAssertSuccessfulCompletion();

            TriggerRunsQueryResponse response = await runClient.QueryTriggerRunsByWorkspaceAsync(new RunFilterParameters (DateTimeOffset.MinValue, DateTimeOffset.MaxValue));

            Assert.GreaterOrEqual(response.Value.Count, 1);
        }
コード例 #18
0
        public async Task TestCancelRerun()
        {
            TriggerClient    triggerClient = CreateTriggerClient();
            TriggerRunClient runClient     = CreateRunClient();

            TriggerResource resource = await DisposableTrigger.CreateResource(triggerClient, Recording);

            TriggerStartTriggerOperation startOperation = await triggerClient.StartStartTriggerAsync(resource.Name);

            await startOperation.WaitAndAssertSuccessfulCompletion();

            TriggerRunsQueryResponse response = await runClient.QueryTriggerRunsByWorkspaceAsync(new RunFilterParameters (DateTimeOffset.MinValue, DateTimeOffset.MaxValue));

            // Find the active run and cancel (CancelTriggerInstanceAsync)

            // Rerun canceled run (RerunTriggerInstanceAsync)
        }
コード例 #19
0
        public async Task TestSubscribeUnsubscribe()
        {
            TriggerClient client = CreateClient();

            await using DisposableTrigger trigger = await DisposableTrigger.Create(client, Recording);

            TriggerSubscribeTriggerToEventsOperation subOperation = await client.StartSubscribeTriggerToEventsAsync(trigger.Name);

            TriggerSubscriptionOperationStatus subResponse = await subOperation.WaitForCompletionAsync();

            Assert.AreEqual(EventSubscriptionStatus.Enabled, subResponse.Status);

            TriggerUnsubscribeTriggerFromEventsOperation unsubOperation = await client.StartUnsubscribeTriggerFromEventsAsync(trigger.Name);

            TriggerSubscriptionOperationStatus unsubResponse = await unsubOperation.WaitForCompletionAsync();

            Assert.AreEqual(EventSubscriptionStatus.Disabled, unsubResponse.Status);
        }
コード例 #20
0
        static public int AddTriggerClient(TriggerClient triggerClient)
        {
            int retValue           = -1;
            int currentClientIndex = triggerClients.IndexOf(triggerClient);

            if (currentClientIndex == -1)
            {
                triggerClient.clientID = triggerClients.Count + 1;
                triggerClients.Add(triggerClient);
                retValue = triggerClient.clientID;
            }
            else
            {
                retValue = currentClientIndex;
                triggerClients[currentClientIndex].isPaused = true;
            }
            return(retValue);
        }
コード例 #21
0
ファイル: Program.cs プロジェクト: briancooper/SevanWFE
        static async Task Execute()
        {
            TriggerClient client = new TriggerClient("http://*****:*****@gmail.com",
                UserTestResultInput = "60",
                UserName            = "******",
                TestName            = "Entry Form",
                CertificateName     = "Entry Sertificate",
                TrainingId          = new Guid()
            }
                                                    );
            var t = JsonConvert.SerializeObject(new
            {
                UserEmailAddress    = "*****@*****.**",
                UserTestResultInput = 60,
                UserName            = "******",
                TestName            = "Entry Form",
                CertificateName     = "Entry Sertificate",
                TrainingId          = new Guid()
            });
            var t1        = JObject.Parse(t);
            var response2 = await client.Fire("testTrigger", new
            {
                UserEmailAddress    = "*****@*****.**",
                UserTestResultInput = 60,
                UserName            = "******",
                TestName            = "Entry Form",
                CertificateName     = "Entry Sertificate",
                TrainingId          = 12213132
            });

            Console.WriteLine(response2);
            Console.ReadLine();
        }
コード例 #22
0
        public async Task TestStartStop()
        {
            TriggerClient  client         = CreateClient();
            PipelineClient pipelineClient = CreatePipelineClient();

            await using DisposableTrigger trigger = await DisposableTrigger.Create(client, Recording);

            await using DisposablePipeline pipeline = await DisposablePipeline.Create(pipelineClient, Recording);

            // SYNAPSE_API_ISSUE - How do we point the trigger to our pipeline

            TriggerStartTriggerOperation startOperation = await client.StartStartTriggerAsync(trigger.Name);

            Response startResponse = await startOperation.WaitForCompletionResponseAsync();

            startResponse.AssertSuccess();

            TriggerStopTriggerOperation stopOperation = await client.StartStopTriggerAsync(trigger.Name);

            Response stopResponse = await stopOperation.WaitForCompletionResponseAsync();

            stopResponse.AssertSuccess();
        }
コード例 #23
0
 private DisposableTrigger(TriggerClient client, TriggerResource resource)
 {
     _client  = client;
     Resource = resource;
 }
コード例 #24
0
 public static async ValueTask <DisposableTrigger> Create(TriggerClient client, TestRecording recording) =>
 new DisposableTrigger(client, await CreateResource(client, recording));