Skip to content

[DataFlow] add additional cmd parameter for quick reuse of cluster fo… #15878

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion src/DataFactory/DataFactoryV2/Changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
- Additional information about change #1
-->
## Upcoming Release
* Added a DataFlowEnableQuickReuse argument for the `Set-AzDataFactoryV2IntegrationRuntime` cmdlet to enable quick reuse of clusters in next pipeline activities.
* Updated ADF .Net SDK version to 4.25.0
* Added a VNetInjectionMethod argument for the `Set-AzDataFactoryV2IntegrationRuntime` cmdlet to support the express virtual network injection of Azure-SSIS Integration Runtime.

Expand Down Expand Up @@ -146,4 +147,4 @@ to enable create Azure-SSIS IR with static public IP addresses.

## Version 1.0.0
* General availability of `Az.DataFactory` module
* Removed -LinkedServiceName parameter from Get-AzDataFactoryV2ActivityRun
* Removed -LinkedServiceName parameter from Get-AzDataFactoryV2ActivityRun
2 changes: 2 additions & 0 deletions src/DataFactory/DataFactoryV2/Constants.cs
Original file line number Diff line number Diff line change
Expand Up @@ -152,6 +152,8 @@ internal static class Constants

public const string HelpIntegrationRuntimeDataFlowComputeType = "Compute type of the data flow cluster which will execute data flow job.";

public const string HelpIntegrationRuntimeDataFlowQuickReuseEnabled = "Enable data flow flow cluster reuse in the next data flow activity run.";

public const string HelpIntegrationRuntimeDataFlowTimeToLive = "Time to live (in minutes) setting of the data flow cluster which will execute data flow job.";

public const string HelpIntegrationRuntimeSetupScriptContainerSasUri = "The SAS URI of the Azure blob container that contains the custom setup script.";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -292,6 +292,20 @@ public class SetAzureDataFactoryIntegrationRuntimeCommand : IntegrationRuntimeCm
[ValidateNotNullOrEmpty]
public string DataFlowComputeType { get; set; }

[Parameter(
ParameterSetName = ParameterSetNames.ByIntegrationRuntimeName,
Mandatory = false,
HelpMessage = Constants.HelpIntegrationRuntimeDataFlowQuickReuseEnabled)]
[Parameter(
ParameterSetName = ParameterSetNames.ByResourceId,
Mandatory = false,
HelpMessage = Constants.HelpIntegrationRuntimeDataFlowQuickReuseEnabled)]
[Parameter(
ParameterSetName = ParameterSetNames.ByIntegrationRuntimeObject,
Mandatory = false,
HelpMessage = Constants.HelpIntegrationRuntimeDataFlowQuickReuseEnabled)]
public SwitchParameter DataFlowEnableQuickReuse { get; set; }

[Parameter(
ParameterSetName = ParameterSetNames.ByIntegrationRuntimeName,
Mandatory = false,
Expand Down Expand Up @@ -759,7 +773,7 @@ private void HandleManagedIntegrationRuntime(ManagedIntegrationRuntime integrati
integrationRuntime, VNetInjectionMethod, SubnetId, Subnet, VNetId
);

if (!string.IsNullOrWhiteSpace(DataFlowComputeType) || DataFlowCoreCount != null || DataFlowTimeToLive != null)
if (!string.IsNullOrWhiteSpace(DataFlowComputeType) || DataFlowCoreCount != null || DataFlowTimeToLive != null || DataFlowEnableQuickReuse != null)
{
if (integrationRuntime.ComputeProperties == null)
{
Expand All @@ -773,6 +787,16 @@ private void HandleManagedIntegrationRuntime(ManagedIntegrationRuntime integrati
integrationRuntime.ComputeProperties.DataFlowProperties.ComputeType = DataFlowComputeType ?? integrationRuntime.ComputeProperties.DataFlowProperties.ComputeType;
integrationRuntime.ComputeProperties.DataFlowProperties.CoreCount = DataFlowCoreCount ?? integrationRuntime.ComputeProperties.DataFlowProperties.CoreCount;
integrationRuntime.ComputeProperties.DataFlowProperties.TimeToLive = DataFlowTimeToLive ?? integrationRuntime.ComputeProperties.DataFlowProperties.TimeToLive;
if (DataFlowEnableQuickReuse.IsPresent)
{
integrationRuntime.ComputeProperties.DataFlowProperties.Cleanup = false;
}
else
{
// setting it as null as the default value for the cleanup variable is false, and the backend endpoint treats null value as true.
integrationRuntime.ComputeProperties.DataFlowProperties.Cleanup = null;
}

}

if (PublicIPs != null)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,8 @@ public PSManagedIntegrationRuntime(

public int? DataFlowTimeToLive => ManagedIntegrationRuntime.ComputeProperties?.DataFlowProperties?.TimeToLive;

public bool? DataFlowEnableCleanUp => ManagedIntegrationRuntime.ComputeProperties?.DataFlowProperties.Cleanup;

public string State => ManagedIntegrationRuntime.State;

public string LicenseType => ManagedIntegrationRuntime.SsisProperties?.LicenseType;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -268,6 +268,21 @@ Accept pipeline input: False
Accept wildcard characters: False
```

### -DataFlowEnableQuickReuse
To whether enable data flow cluster to be reused in the next dataflow activity.

```yaml
Type: System.Management.Automation.SwitchParameter
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```

### -DataProxyIntegrationRuntimeName
The Self-Hosted Integration Runtime name which is used as a proxy

Expand Down