コード例 #1
0
        public override async Task <ActionResponse> ExecuteActionAsync(ActionRequest request)
        {
            string     username = request.DataStore.GetValue("InformaticaUsername");
            string     password = request.DataStore.GetValue("InformaticaPassword");
            RestClient rc       = await InformaticaUtility.Initialize(username, password);

            List <string> entities = JsonUtility.DeserializeEntities(request.DataStore.GetValue("Entities"), request.DataStore.GetValue("AdditionalObjects"));

            InformaticaTask task = new InformaticaTask
            {
                BulkApi            = true,
                SourceConnectionId = await InformaticaUtility.GetConnectionId(rc, InformaticaUtility.BPST_SOURCE_NAME),
                TargetConnectionId = await InformaticaUtility.GetConnectionId(rc, InformaticaUtility.BPST_TARGET_NAME),
                Name  = InformaticaUtility.BPST_TASK_NAME,
                OrgId = rc.ID,
                ReplicationObjects = entities.ToArray(),
                ScheduleId         = await CreateSchedule(rc, "PBI_" + Guid.NewGuid().ToString("N"))
            };

            await rc.Post(URL_REPLICATION_TASK, JsonConvert.SerializeObject(task));

            await InformaticaUtility.Logout(rc, username, password);

            return(new ActionResponse(ActionStatus.Success));
        }
コード例 #2
0
        private async Task DeleteConnection(RestClient rc, string connectionName)
        {
            string connectionId = await InformaticaUtility.GetConnectionId(rc, connectionName);

            if (connectionId != null)
            {
                await rc.Delete(string.Format(CultureInfo.InvariantCulture, URL_CONNECTION, connectionId));
            }
        }