- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试通过 Azure Pipelines 部署 ARM 模板,其中部署了 Synapse 工作区,随后创建了 Synapse 无服务器 数据库。 请注意,这不是专用 SQL 池,而是 Synapse 无服务器数据库。
执行此操作的“点击式”方法是:
<小时/>我有一个 ARM 模板,可以成功创建我的 Synapse 工作区:
{
"type": "Microsoft.Synapse/workspaces",
"apiVersion": "2021-06-01",
"name": "[variables('synapseName')]",
"location": "[parameters('location')]",
"tags": "[parameters('tags')]",
"identity": {
"type": "SystemAssigned"
},
"properties": {
"defaultDataLakeStorage": {
"resourceId": "[resourceId('Microsoft.Storage/storageAccounts', variables('storageName'))]",
"createManagedPrivateEndpoint": true,
"accountUrl": "[concat('https://', variables('storageName'),'.dfs.core.windows.net')]",
"filesystem": "[concat('lake', parameters('project'))]"
},
"encryption": {},
"managedResourceGroupName": "[variables('synapseManager')]",
"managedVirtualNetwork": "default",
"sqlAdministratorLogin": "[variables('adminusername')]",
"sqlAdministratorLoginPassword": "[parameters('sec_syn')]",
"privateEndpointConnections": [],
"publicNetworkAccess": "Enabled",
"managedVirtualNetworkSettings": {
"preventDataExfiltration": false,
"allowedAadTenantIdsForLinking": []
},
"cspWorkspaceAdminProperties": {
"initialWorkspaceAdminObjectId": "[parameters('cliid')]"
},
"trustedServiceBypassEnabled": true,
"azureADOnlyAuthentication": false
},
"resources": [
{
"condition": true,
"type": "firewallRules",
"apiVersion": "2021-06-01",
"name": "AllowAllConnections",
"properties": {
"startIpAddress": "0.0.0.0",
"endIpAddress": "255.255.255.255"
},
"dependsOn": [
"[resourceId('Microsoft.Synapse/workspaces', variables('synapseName'))]"
]
},
{
"condition": true,
"type": "firewallRules",
"apiVersion": "2021-06-01",
"name": "AllowAllWindowsAzureIps",
"properties": {
"startIpAddress": "0.0.0.0",
"endIpAddress": "0.0.0.0"
},
"dependsOn": [
"[resourceId('Microsoft.Synapse/workspaces', variables('synapseName'))]"
]
},
{
"condition": true,
"type": "integrationRuntimes",
"apiVersion": "2021-06-01",
"name": "AutoResolveIntegrationRuntime",
"properties": {
"type": "Managed",
"typeProperties": {
"computeProperties": {
"location": "AutoResolve"
}
}
},
"dependsOn": [
"[resourceId('Microsoft.Synapse/workspaces', variables('synapseName'))]"
]
}
],
"dependsOn": [
"[resourceId('Microsoft.Storage/storageAccounts/blobServices/containers', variables('storageName'), 'default', concat('lake', parameters('project')))]"
]
}
<小时/>
但是,似乎有两个用于创建数据库的已记录选项。我已经尝试过如下所示:
{
"type": "sqlDatabases",
"apiVersion": "2020-04-01-preview",
"name": "laketestdb",
"location": "[parameters('location')]",
"properties": {
"collation": "Latin1_General_100_BIN2_UTF8"
},
"dependsOn": [
"[resourceId('Microsoft.Synapse/workspaces', variables('synapseName'))]"
]
}
此方法嵌套在 Synapse 资源模板中,但我也在后续管道任务中在外部运行它;部署过程中出现同样的错误并且失败:
{
"type": "Microsoft.Synapse/workspaces/sqlPools",
"apiVersion": "2021-06-01",
"name": "string",
"location": "string",
"tags": {
"tagName1": "tagValue1",
"tagName2": "tagValue2"
},
"sku": {
"capacity": "int",
"name": "string",
"tier": "string"
},
"properties": {
"collation": "string",
"createMode": "string",
"maxSizeBytes": "int",
"provisioningState": "string",
"recoverableDatabaseId": "string",
"restorePointInTime": "string",
"sourceDatabaseDeletionDate": "string",
"sourceDatabaseId": "string",
"storageAccountType": "string"
}
}
通过这种方法,我根本不知道是否有服务层或 SKU 可以创建无服务器数据库。所有在线示例(其中很少)似乎都显示了典型的数据仓库配置(例如“DW2000c”)。我无法通过猜测让它发挥作用。
<小时/>我还注意到,当我使用 Azure Shell 命令时:
New-AzSynapseSqlDatabase -ResourceGroupName rg_admin -WorkspaceName synjmi -Name testazpssqldb
我遇到了与部署期间相同的错误,即:
New-AzSynapseSqlDatabase: Operation returned an invalid status code 'BadRequest' Specified edition or service level objective is not supported
我完全不知道出了什么问题,并且似乎无法在网上找到太多支持文档或故障排除 Material 。
非常感谢任何帮助。
最佳答案
我与 ChatGPT 进行了长时间的交谈才弄清楚这一点,但我将在这里引用它,因为它解释得很好。我也通过尝试证实了这一点:
Azure Synapse serverless SQL pools do not have child resources for databases in the same way that dedicated SQL pools (formerly known as SQL Data Warehouses) do.
In a serverless SQL pool, databases are not explicitly created as child resources under the SQL pool. Instead, databases are effectively created on-demand when you submit SQL statements to work with them. This is one of the key differences between serverless SQL pools and dedicated SQL pools.
To work with databases in a serverless SQL pool, you typically do not need to explicitly create them in advance through an ARM template. Instead, you interact with the serverless SQL pool by connecting to it and issuing SQL statements to create or manipulate databases and their objects as needed.
因此,一旦模板部署了 Synapse 工作区,您就可以连接到内置无服务器 SQL 实例并针对主数据库运行 CREATE DATABASE myDatabaseName
SQL 语句。
如果您需要在 ARM 模板中执行此操作,则可以使用 deploymentScript
资源来运行 SQL 命令。这里显示了 BICEP 示例:
param location string = resourceGroup().location
param serverFQName string
param adminUsername string
@secure()
param adminPassword string
param newDatabaseName string
resource deploymentScript 'Microsoft.Resources/deploymentScripts@2020-10-01' = {
name: 'createDatabaseScript'
location: location
kind: 'AzurePowerShell'
properties: {
azPowerShellVersion: '3.0'
environmentVariables: [
{
name: 'serverFQName'
value: serverFQName
}
{
name: 'adminPassword'
secureValue: adminPassword
}
{
name: 'adminUsername'
value: adminUsername
}
{
name: 'databaseName'
value: newDatabaseName
}
]
scriptContent: '''
# Connect to the Synapse Analytics server
$connStr = "Server=tcp:${Env:serverFQName};Initial Catalog=master;Persist Security Info=False;User ID=${Env:adminUsername};Password=${Env:adminPassword};MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;"
$conn = New-Object System.Data.SqlClient.SqlConnection
$conn.ConnectionString = $connStr
$conn.Open()
# Execute the CREATE DATABASE command
$sqlCommand = "CREATE DATABASE [${Env:databaseName}]"
$cmd = $conn.CreateCommand()
$cmd.CommandText = $sqlCommand
$cmd.ExecuteNonQuery()
# Clean up
$conn.Close()
'''
retentionInterval: 'PT1H'
}
}
关于azure - 如何通过 ARM 模板部署 Synapse Serverless 数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74952119/
在我的 serverless.yml 中,我使用 serverless-tscpaths 插件来解析 tsconfig 中定义的路径,并使用 serverless-plugin-optimize 来缩
我阅读了这个文档:https://serverless.com/framework/docs/providers/google/guide/services/ users/ serverless.
使用 Serverless framework ,我希望能够从环境变量更改 AWS 区域。 provider: name: aws region: ${env:AWS_REGION} 然后,A
我想开始使用无服务器框架来管理我公司的 lambda 部署,但我们处理 PHI 的安全性非常严格。我们的合规总监和 CTO 担心将我们的 AWS key 和 secret 传递给另一家公司。 当做 s
这是我的 serverless.yml 文件中的一个片段: Resources: LogGroupInfo: Type: 'AWS::Logs::LogGroup' Propert
我正在使用 AWS Aurora serverless 设置一个新数据库,并且需要启用 binlog。我想我已经按原样遵循了文档,但无法使其正常工作。我该如何设置? 按照文档,以下是我尝试启用 bin
我不想在 serverless.yml 中手动定义服务名称,而是想从 package.json 中读取 name 最佳答案 为了实现基于 package.json 应用程序名称的动态服务名称,我利用了
我将以下内容用作自定义 serverless-dotenv-plugin 插件配置: 风俗: dotenv: 路径:.env-${opt:stage, 'local'} 但我真正想得到的是当我不提供任
我正在使用无服务器模板并且一切正常,直到突然我的所有部署开始忽略 .env文件。 我搜索了documentation它说如果我想使用 .env 文件中的环境变量,我现在必须添加 useDotenv:
我正在使用新的无服务器 TypeScript monorepo 启动一个新项目!用过 aws-nodejs-typescript模板,它给出了 serverless.ts配置文件。几周后,我现在在命令
https://serverless.com/framework/docs/providers/aws/guide/serverless.yml/ provider: stackTags:
各位 我正在尝试设置我的第一个 NestJS 应用程序。它由 AWS 上的无服务器提供支持。 我创建了一个简单的 Controller ,它有一个服务作为依赖项。当我使用 HTTP 客户端访问端点时,
AWS::Serverless::Api 和 AWS::Serverless::HttpApi 之间有什么区别? 据我了解,AWS::Serverless::HttpApi 似乎配置了 HTTP AP
我正在尝试使用 serverless.yml 替换 @vendia/serverless-express v2 示例中的默认 sam-template,以便通过无服务器部署进行部署 https://g
I am new to using serverless framework ,I wanted to create three different environments dev,Qa,pr
我希望向本地运行的无服务器框架 Node 应用程序添加状态。我遇到了官方的 DynamoDb docker 镜像,我想使用无服务器框架以及在 localhost:8000 公开的 docker 上运行
我有一个 AWS CodeBuild 项目,它尝试安装无服务器框架,但在标题中返回错误,但它说框架已成功安装。我的理解是这无法安装 snappy 模块。为什么会这样?我该如何解决? 我在 builds
无服务器是云原生的子集或属性吗?或者是另一种方式——云原生是无服务器的子集或属性吗? Nathan Aw(新加坡) 最佳答案 云原生 是一种更通用的方法来构建和运行利用云计算的应用程序。 无服务器 更
Serverless 架构演进 Serverless架构风格挑战了软件设计和软件部署基础的现状,以实现最佳开发、最优运营和最优的管理开销。虽然它继承了微服务架构MSA的基本概念,但它已被赋予了新的
前言 当您第一次接触 Serverless 的时候,有一个不那么明显的新使用方式:与传统的基于服务器的方法相比,Serverless 服务平台可以使您的应用快速水平扩展,并行处理的工作更加有效。这
我是一名优秀的程序员,十分优秀!