Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在表存储中设置数据种子?_C#_Azure Devops_Azure Functions_Azure Table Storage_Azure Blob Storage - Fatal编程技术网

C# 如何在表存储中设置数据种子?

C# 如何在表存储中设置数据种子?,c#,azure-devops,azure-functions,azure-table-storage,azure-blob-storage,C#,Azure Devops,Azure Functions,Azure Table Storage,Azure Blob Storage,我们如何为表存储表设定种子,以便自动化部署过程? 我们在开发人员订阅中的同一资源组中拥有以下资源: 存储帐户 已创建blob的存储帐户中的事件 配置表存储中的数据 功能应用程序 逻辑应用程序 为了自动化这些资源的部署,我从资源组下载了ARM模板: 然后,我们可以简单地重新部署到任何目标资源组: 但是,这不会将存储表、事件、种子数据等资源部署到表中 如何自动为表存储表设定种子,以实现部署自动化?我选择了使用powershell自动设定数据种子的选项: $partitionKey1 = "p

我们如何为表存储表设定种子,以便自动化部署过程?

我们在开发人员订阅中的同一资源组中拥有以下资源:

  • 存储帐户
  • 已创建blob的存储帐户中的事件
  • 配置表存储中的数据
  • 功能应用程序
  • 逻辑应用程序
为了自动化这些资源的部署,我从资源组下载了ARM模板:

然后,我们可以简单地重新部署到任何目标资源组:

但是,这不会将存储表、事件、种子数据等资源部署到表中

如何自动为表存储表设定种子,以实现部署自动化?

我选择了使用powershell自动设定数据种子的选项:

$partitionKey1 = "partition1"
$partitionKey2 = "partition2"

# add four rows 
Add-AzTableRow `
    -table $cloudTable `
    -partitionKey $partitionKey1 `
    -rowKey ("CA") -property @{"username"="Chris";"userid"=1}

Add-AzTableRow `
    -table $cloudTable `
    -partitionKey $partitionKey2 `
    -rowKey ("NM") -property @{"username"="Jessie";"userid"=2}

Add-AzTableRow `
    -table $cloudTable `
    -partitionKey $partitionKey1 `
    -rowKey ("WA") -property @{"username"="Christine";"userid"=3}

Add-AzTableRow `
    -table $cloudTable `
    -partitionKey $partitionKey2 `
    -rowKey ("TX") -property @{"username"="Steven";"userid"=4}
我选择了使用powershell自动为数据设定种子的选项:

$partitionKey1 = "partition1"
$partitionKey2 = "partition2"

# add four rows 
Add-AzTableRow `
    -table $cloudTable `
    -partitionKey $partitionKey1 `
    -rowKey ("CA") -property @{"username"="Chris";"userid"=1}

Add-AzTableRow `
    -table $cloudTable `
    -partitionKey $partitionKey2 `
    -rowKey ("NM") -property @{"username"="Jessie";"userid"=2}

Add-AzTableRow `
    -table $cloudTable `
    -partitionKey $partitionKey1 `
    -rowKey ("WA") -property @{"username"="Christine";"userid"=3}

Add-AzTableRow `
    -table $cloudTable `
    -partitionKey $partitionKey2 `
    -rowKey ("TX") -property @{"username"="Steven";"userid"=4}

像这样做

  • 在项目中签入CSV文件
  • 在生成定义中添加复制文件的步骤-
  • 在发布管道中运行PS脚本,就像我在上面的评论中提到的那样-
  • 您可以在PS脚本中使用类似的内容来加载csv文件

    # Load the CSV
    $csv = Import-CSV $PSScriptRoot'\yourSeedData.csv'
    
    # And push it to storage
    ForEach ($line in $csv)
    {
        $entity = New-Object -TypeName Microsoft.WindowsAzure.Storage.Table.DynamicTableEntity -ArgumentList $line.PartitionKey, $line.RowKey
        if($line.Description -ne $null) {
            $entity.Properties.Add("Property1", $line.Property1)
        }
        $entity.Properties.Add("Property2", $line.Property2)
    
        $result = $table.CloudTable.Execute([Microsoft.WindowsAzure.Storage.Table.TableOperation]::InsertOrReplace($entity))
    }
    

    像这样做

  • 在项目中签入CSV文件
  • 在生成定义中添加复制文件的步骤-
  • 在发布管道中运行PS脚本,就像我在上面的评论中提到的那样-
  • 您可以在PS脚本中使用类似的内容来加载csv文件

    # Load the CSV
    $csv = Import-CSV $PSScriptRoot'\yourSeedData.csv'
    
    # And push it to storage
    ForEach ($line in $csv)
    {
        $entity = New-Object -TypeName Microsoft.WindowsAzure.Storage.Table.DynamicTableEntity -ArgumentList $line.PartitionKey, $line.RowKey
        if($line.Description -ne $null) {
            $entity.Properties.Add("Property1", $line.Property1)
        }
        $entity.Properties.Add("Property2", $line.Property2)
    
        $result = $table.CloudTable.Execute([Microsoft.WindowsAzure.Storage.Table.TableOperation]::InsertOrReplace($entity))
    }
    

    你有很多事情要做。那么,您正在尝试自动部署包含存储帐户、功能应用程序和逻辑应用程序的资源组?“存储帐户中的事件”是什么意思?什么是表存储中的“配置数据”?这是你的“种子”数据吗?你想干什么?请记住,表存储与SQL完全不同。在devops中,您将有一些流程将所有资源捆绑在一起,然后部署应用程序所需的一切,如服务、VM等,现在假设其中一个依赖项是表存储中的数据集。例如,存储键值对。我们如何将这些值作为实际devops部署的一部分进行播种?您可以在本地创建一个PS脚本并对其进行测试。使用此链接可以帮助您生成脚本-然后使用CI/CD管道,在arm模板部署完所有内容后,将其作为一个步骤包括在内。这里有很多内容。那么,您正在尝试自动部署包含存储帐户、功能应用程序和逻辑应用程序的资源组?“存储帐户中的事件”是什么意思?什么是表存储中的“配置数据”?这是你的“种子”数据吗?你想干什么?请记住,表存储与SQL完全不同。在devops中,您将有一些流程将所有资源捆绑在一起,然后部署应用程序所需的一切,如服务、VM等,现在假设其中一个依赖项是表存储中的数据集。例如,存储键值对。我们如何将这些值作为实际devops部署的一部分进行播种?您可以在本地创建一个PS脚本并对其进行测试。使用此链接帮助您生成脚本-然后使用CI/CD管道,方法是将其作为一个步骤包含在arm模板后部署所有内容。如果您有大量数据,则可以包含CSV文件,然后使用PS读入并为azure存储表种子获取示例请/?如果您有大量数据,则可以包含CSV文件,然后使用PS将其读入并为azure存储表种子获取示例Please/?