From 563afbec6a01e9960f0ec4fbda54668d076bfa09 Mon Sep 17 00:00:00 2001 From: Shreyas Gopalakrishna Date: Fri, 4 Nov 2022 14:06:07 -0500 Subject: [PATCH 1/3] Updating cosmos db 4.x extension bundle parameters --- pom.xml | 2 +- .../functions/annotation/CosmosDBInput.java | 14 +++--- .../functions/annotation/CosmosDBOutput.java | 22 ++++---- .../functions/annotation/CosmosDBTrigger.java | 50 +++++++++---------- 4 files changed, 44 insertions(+), 44 deletions(-) diff --git a/pom.xml b/pom.xml index c94147b..1d97df7 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 com.microsoft.azure.functions azure-functions-java-library - 2.2.0 + 3.0.0-SNAPSHOT jar com.microsoft.maven diff --git a/src/main/java/com/microsoft/azure/functions/annotation/CosmosDBInput.java b/src/main/java/com/microsoft/azure/functions/annotation/CosmosDBInput.java index b8e1db8..b0d4a1e 100644 --- a/src/main/java/com/microsoft/azure/functions/annotation/CosmosDBInput.java +++ b/src/main/java/com/microsoft/azure/functions/annotation/CosmosDBInput.java @@ -28,7 +28,7 @@ * The following example shows a Java function that retrieves a single document. * The function is triggered by an HTTP request that uses a query string to * specify the ID to look up. That ID is used to retrieve a ToDoItem document - * from the specified database and collection. A sample URL would be like: + * from the specified database and container. A sample URL would be like: * http://localhost:7071/api/getItem?id=myid. *

* @@ -40,9 +40,9 @@ * authLevel = AuthorizationLevel.ANONYMOUS) Optional<String> dummy, * {@literal @}CosmosDBInput(name = "database", * databaseName = "ToDoList", - * collectionName = "Items", + * containerName = "Items", * id = "{Query.id}", - * connectionStringSetting = "AzureCosmosDBConnection") Optional<String> item + * connection = "AzureCosmosDBConnection") Optional<String> item * ) { * return item.orElse("Not found"); * } @@ -85,11 +85,11 @@ String databaseName(); /** - * Defines the collection name of the CosmosDB to which to bind. + * Defines the container name of the CosmosDB to which to bind. * - * @return The collection name string. + * @return The container name string. */ - String collectionName(); + String containerName(); /** * Defines the ID of the CosmosDB to which to bind. @@ -110,7 +110,7 @@ * * @return The app setting name of the connection string. */ - String connectionStringSetting(); + String connection(); /** * Defines partition key value for the lookup. May include binding parameters. diff --git a/src/main/java/com/microsoft/azure/functions/annotation/CosmosDBOutput.java b/src/main/java/com/microsoft/azure/functions/annotation/CosmosDBOutput.java index dd5a923..37a71b9 100644 --- a/src/main/java/com/microsoft/azure/functions/annotation/CosmosDBOutput.java +++ b/src/main/java/com/microsoft/azure/functions/annotation/CosmosDBOutput.java @@ -33,8 +33,8 @@ * public String cosmosDbAddItem( * {@literal @}HttpTrigger(name = "request", methods = {HttpMethod.POST}, authLevel = AuthorizationLevel.ANONYMOUS) * final String message, - * {@literal @}CosmosDBOutput(name = "database", databaseName = "ToDoList", collectionName = "Items", - * connectionStringSetting = "AzureCosmosDBConnection") + * {@literal @}CosmosDBOutput(name = "database", databaseName = "ToDoList", containerName = "Items", + * connection = "AzureCosmosDBConnection") * ) { * return "{ \"id\": \"" + System.currentTimeMillis() + "\", \"description\": \"" + message + "\" }"; * } @@ -74,11 +74,11 @@ String databaseName(); /** - * Defines the collection name of the CosmosDB to which to write. + * Defines the container name of the CosmosDB to which to write. * - * @return The collection name string. + * @return The container name string. */ - String collectionName(); + String containerName(); /** * Defines the ID of the CosmosDB to which to write. @@ -92,22 +92,22 @@ * * @return The app setting name of the connection string. */ - String connectionStringSetting(); + String connection(); /** - * Defines the partition key path for the created collection when createIfNotExists is set to + * Defines the partition key path for the created container when createIfNotExists is set to * true. May include binding parameters. * - * @return partitionKey of the created collection. + * @return partitionKey of the created container. */ String partitionKey() default ""; /** - * If CreateIfNotExists is true, defines the throughput of the created collection. + * If CreateIfNotExists is true, defines the throughput of the created container. * - * @return Throughput of the created collection. + * @return Throughput of the created container. */ - int collectionThroughput() default -1; + int containerThroughput() default -1; /** * Enable to use with Multi Master accounts. diff --git a/src/main/java/com/microsoft/azure/functions/annotation/CosmosDBTrigger.java b/src/main/java/com/microsoft/azure/functions/annotation/CosmosDBTrigger.java index ec31756..4447d5f 100644 --- a/src/main/java/com/microsoft/azure/functions/annotation/CosmosDBTrigger.java +++ b/src/main/java/com/microsoft/azure/functions/annotation/CosmosDBTrigger.java @@ -25,7 +25,7 @@ * *

* The following example shows a Java function that is invoked when there are inserts or updates in - * the specified database and collection. + * the specified database and container. *

* *
@@ -33,10 +33,10 @@
  * public void cosmosDbLog(
  *    {@literal @}CosmosDBTrigger(name = "database",
  *                      databaseName = "ToDoList",
- *                      collectionName = "Items",
- *                      leaseCollectionName = "leases",
- *                      createLeaseCollectionIfNotExists = true,
- *                      connectionStringSetting = "AzureCosmosDBConnection") 
+ *                      containerName = "Items",
+ *                      leaseContainerName = "leases",
+ *                      createLeaseContainerIfNotExists = true,
+ *                      connection = "AzureCosmosDBConnection")
  *                      List<Map<String, String>> items,
  *     final ExecutionContext context
  * ) {
@@ -83,54 +83,54 @@
   String databaseName();
 
   /**
-   * Defines the collection name of the CosmosDB to which to bind.
+   * Defines the container name of the CosmosDB to which to bind.
    * 
-   * @return The collection name string.
+   * @return The container name string.
    */
-  String collectionName();
+  String containerName();
 
   /**
-   * Defines Connection string for the service containing the lease collection.
+   * Defines Connection string for the service containing the lease container.
    * 
-   * @return Connection string for the lease collection.
+   * @return Connection string for the lease container.
    */
   String leaseConnectionStringSetting() default "";
 
   /**
-   * Defines the lease collection name of the CosmosDB to which to bind.
+   * Defines the lease container name of the CosmosDB to which to bind.
    * 
-   * @return The lease collection name string.
+   * @return The lease container name string.
    */
-  String leaseCollectionName() default "";
+  String leaseContainerName() default "";
 
   /**
-   * Defines Name of the database containing the lease collection.
+   * Defines Name of the database containing the lease container.
    * 
-   * @return Name of the database for lease collection.
+   * @return Name of the database for lease container.
    */
   String leaseDatabaseName() default "";
 
   /**
-   * Defines whether to create a new lease collection if not exists.
+   * Defines whether to create a new lease container if not exists.
    * 
-   * @return configuration whether to create a new lease collection if not exists.
+   * @return configuration whether to create a new lease container if not exists.
    */
-  boolean createLeaseCollectionIfNotExists() default false;
+  boolean createLeaseContainerIfNotExists() default false;
 
   /**
-   * defines the throughput of the created collection..
+   * defines the throughput of the created container.
    * 
    * @return throughput
    */
-  int leasesCollectionThroughput() default -1;
+  int leasesContainerThroughput() default -1;
 
   /**
-   * Defines a prefix to be used within a Leases collection for this Trigger. Useful when sharing
-   * the same Lease collection among multiple Triggers.
+   * Defines a prefix to be used within a Leases container for this Trigger. Useful when sharing
+   * the same Lease container among multiple Triggers.
    * 
-   * @return LeaseCollectionPrefix
+   * @return LeaseContainerPrefix
    */
-  String leaseCollectionPrefix() default "";
+  String leaseContainerPrefix() default "";
 
   /**
    * Customizes the amount of milliseconds between lease checkpoints. Default is always after a
@@ -161,7 +161,7 @@
    * 
    * @return The app setting name of the connection string.
    */
-  String connectionStringSetting();
+  String connection();
 
   /**
    * Customizes the renew interval in milliseconds for all leases for partitions currently held by

From 437ce401258c1d9131ebdf6e3e7eae4c9bccb5c9 Mon Sep 17 00:00:00 2001
From: Shreyas Gopalakrishna 
Date: Tue, 8 Nov 2022 11:53:40 -0600
Subject: [PATCH 2/3] Updating tests

---
 build.ps1 | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/build.ps1 b/build.ps1
index 6078552..8f90953 100644
--- a/build.ps1
+++ b/build.ps1
@@ -83,7 +83,7 @@ Expand-Archive ".\Azure.Functions.Cli.zip" -DestinationPath ".\Azure.Functions.C
 $Env:Path = $Env:Path+";$currDir\Azure.Functions.Cli"
 
 # Clone and build azure-functions-java-worker
-git clone https://github.com/azure/azure-functions-java-worker -b dev
+git clone https://github.com/azure/azure-functions-java-worker -b shreyasg/v4-extension-bundle
 Push-Location -Path "./azure-functions-java-worker" -StackName libraryDir
 Write-Host "Updating azure-functions-java-worker to use current version of the java library"
 

From 9f4c71073733b3e663c59c932c005de0dbe7e192 Mon Sep 17 00:00:00 2001
From: Shreyas Gopalakrishna 
Date: Tue, 8 Nov 2022 17:06:23 -0600
Subject: [PATCH 3/3] Updating pipeline

---
 README.md           | 11 +++++++----
 azure-pipelines.yml |  3 ++-
 2 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/README.md b/README.md
index b49118a..8fc9bdc 100644
--- a/README.md
+++ b/README.md
@@ -1,13 +1,16 @@
 ![Azure Functions Logo](https://raw.githubusercontent.com/Azure/azure-functions-cli/master/src/Azure.Functions.Cli/npm/assets/azure-functions-logo-color-raster.png)
 
-|Branch|Status|
-|---|---|
-|master|[![Build status](https://ci.appveyor.com/api/projects/status/ebphtfegnposba6w?svg=true)](https://ci.appveyor.com/project/appsvc/azure-functions-java-library?branch=master)|
-|dev|[![Build status](https://ci.appveyor.com/api/projects/status/ebphtfegnposba6w?svg=true)](https://ci.appveyor.com/project/appsvc/azure-functions-java-library?branch=dev)|
+| Branch | Status                                                                                                                                                                                                                                |
+|--------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| dev    | [![Build Status](https://azfunc.visualstudio.com/Azure%20Functions/_apis/build/status/Azure.azure-functions-java-library?branchName=dev)](https://azfunc.visualstudio.com/Azure%20Functions/_build/latest?definitionId=101&branchName=dev)   |
+| v2.x   | [![Build Status](https://azfunc.visualstudio.com/Azure%20Functions/_apis/build/status/Azure.azure-functions-java-library?branchName=v2.x)](https://azfunc.visualstudio.com/Azure%20Functions/_build/latest?definitionId=101&branchName=v2.x) |
 
 # Library for Azure Java Functions
 This repo contains library for building Azure Java Functions. Visit the [complete documentation of Azure Functions - Java Developer Guide](https://docs.microsoft.com/en-us/azure/azure-functions/functions-reference-java) for more details.
 
+### The [dev](https://github.com/Azure/azure-functions-java-library/tree/dev) branch will be used to make any changes necessary to support v4 extension bundle.
+### The [v2.x](https://github.com/Azure/azure-functions-java-library/tree/v2.x) branch will be used to make any changes necessary to support v3 extension bundle.
+
 ## azure-functions-maven plugin
 [How to use azure-functions-maven plugin to create, update, deploy and test azure java functions](/learn/modules/develop-azure-functions-app-with-maven-plugin)
 
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index d4a8c26..5f5f0a5 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -5,11 +5,12 @@ trigger:
   branches:
     include:
       - dev
+      - v2.x
 pr:
   branches:
     include:
       - dev
-      - master
+      - v2.x
 
 
 jobs: