public CreatePSPipeline ( |
||
parameters | ||
리턴 |
public virtual PSPipeline CreatePSPipeline(CreatePSPipelineParameters parameters)
{
if (parameters == null)
{
throw new ArgumentNullException("parameters");
}
PSPipeline pipeline = null;
Action createPipeline = () =>
{
pipeline =
new PSPipeline(CreateOrUpdatePipeline(parameters.ResourceGroupName,
parameters.DataFactoryName,
parameters.Name,
parameters.RawJsonContent))
{
ResourceGroupName = parameters.ResourceGroupName,
DataFactoryName = parameters.DataFactoryName
};
if (!DataFactoryCommonUtilities.IsSucceededProvisioningState(pipeline.ProvisioningState))
{
string errorMessage = pipeline.Properties == null
? string.Empty
: pipeline.Properties.ErrorMessage;
throw new ProvisioningFailedException(errorMessage);
}
};
parameters.ConfirmAction(
parameters.Force, // prompt only if the linked service exists
string.Format(
CultureInfo.InvariantCulture,
Resources.PipelineExists,
parameters.Name,
parameters.DataFactoryName),
string.Format(
CultureInfo.InvariantCulture,
Resources.PipelineCreating,
parameters.Name,
parameters.DataFactoryName),
parameters.Name,
createPipeline,
() => CheckPipelineExists(parameters.ResourceGroupName,
parameters.DataFactoryName, parameters.Name));
return pipeline;
}
public override void ExecuteCmdlet() { if (ParameterSetName == ByFactoryObject) { if (DataFactory == null) { throw new PSArgumentNullException(string.Format(CultureInfo.InvariantCulture, Resources.DataFactoryArgumentInvalid)); } DataFactoryName = DataFactory.DataFactoryName; ResourceGroupName = DataFactory.ResourceGroupName; } string rawJsonContent = DataFactoryClient.ReadJsonFileContent(this.TryResolvePath(File)); Name = ResolveResourceName(rawJsonContent, Name, "Pipeline"); CreatePSPipelineParameters parameters = new CreatePSPipelineParameters() { ResourceGroupName = ResourceGroupName, DataFactoryName = DataFactoryName, Name = Name, RawJsonContent = rawJsonContent, Force = Force.IsPresent, ConfirmAction = ConfirmAction }; WriteObject(DataFactoryClient.CreatePSPipeline(parameters)); }