我有一个包含 JSON 文件的 GitHub 存储库和一个 Azure Cosmos DB,其中这些 JSON 文件作为单独的项目。 用例是,拥有一个自动化管道,它通过 ID 将 Azure Cosmos Db 中现有的 JSON 项目替换为 GitHub 存储库中的相应项目,并创建一个新的 JSON 项目(如果 Azure Cosmos 中不存在)。
我尝试使用 Github Actions 链接 Github 和 Cosmos DB,但没有成功,因为这不是一个简单的方法。
为此,您需要使用 SDK 编写 Python 脚本并在工作流程中执行:
import azure.cosmos.cosmos_client as cosmos_client
import azure.cosmos.errors as errors
import azure.cosmos.http_constants as http_constants
import os
url = os.environ['ACCOUNT_URI']
key = os.environ['ACCOUNT_KEY']
client = cosmos_client.CosmosClient(url, {'masterKey': key})
database_id = 'testDatabase'
container_id = 'products'
// here read your json and change code below
for i in range(1, 10):
client.UpsertItem(
"dbs/" + database_id + "/colls/" + container_id,
{
'id': 'item{0}'.format(i),
'productName': 'Widget',
'productModel': 'Model {0}'.format(i)
}
)