Sample code for 30+ languages & platforms
Java

Azure Table Insert Entity

See more Azure Table Service Examples

Insert an entity into an Azure table.

Chilkat Java Downloads

Chilkat2 Java
import com.chilkatsoft.chilkat2.AuthAzureStorage;
import com.chilkatsoft.chilkat2.ChilkatException;
import com.chilkatsoft.chilkat2.JsonObject;
import com.chilkatsoft.chilkat2.Rest;
import com.chilkatsoft.chilkat2.StringBuilder;

public class ChilkatExample {

    public static void main(String[] args) {
        // This example requires the Chilkat API to have been previously unlocked.
        // See Global Unlock Sample for sample code.

        Rest rest = new Rest();

        // IMPORTANT: Make sure to change "myaccount" to your actual Azure Storage Account name.
        // IMPORTANT: Also change "mytable" to the name of your Azure table.
        // We're going to POST to this URL:  https://myaccount.table.core.windows.net/mytable
        boolean bTls = true;
        int port = 443;
        boolean bAutoReconnect = true;
        try {
            rest.connect("myaccount.table.core.windows.net", port, bTls, bAutoReconnect);
        } catch (ChilkatException e) {
            System.out.println("ConnectFailReason: " + rest.getConnectFailReason());
            System.out.println(e.getLastErrorText());
            return;
        }

        // Provide Azure Cloud credentials for the REST call.
        AuthAzureStorage azAuth = new AuthAzureStorage();
        azAuth.setAccessKey("AZURE_ACCESS_KEY");
        // The account name used here should match the 1st part of the domain passed in the call to Connect (above).
        azAuth.setAccount("myaccount");
        azAuth.setScheme("SharedKey");
        azAuth.setService("Table");

        // This causes the "x-ms-version: 2019-07-07" header to be automatically added.
        azAuth.setXMsVersion("2019-07-07");
        rest.setAuthAzureStorage(azAuth);

        // Note: The application does not need to explicitly set the following
        // headers: Content-Length, x-ms-date, Authorization.  These headers
        // are automatically set by Chilkat.

        // Note: The above code does not need to be repeatedly called for each REST request.
        // The rest object can be setup once, and then many requests can be sent.  Chilkat will automatically
        // reconnect within a FullRequest* method as needed.  It is only the very first connection that is explicitly
        // made via the Connect method.

        // Use this online tool to generate code from sample JSON:
        // Generate Code to Create JSON

        // The following JSON is sent in the request body.

        // {
        //    "PartitionKey":"mypartitionkey",
        //    "RowKey":"myrowkey",
        //    "Timestamp":"2013-08-22T01:12:06.2608595Z",
        //    "Address":"Mountain View",
        //    "Age":23,
        //    "AmountDue":200.23,
        //    "CustomerCode":"c9da6455-213d-42c9-9a79-3e9149a57833",
        //    "CustomerSince":"2008-07-10T00:00:00",
        //    "IsActive":true,
        //    "NumberOfOrders":"255"
        // }

        JsonObject json = new JsonObject();
        json.updateString("PartitionKey", "mypartitionkey");
        json.updateString("RowKey", "myrowkey");
        json.updateString("Timestamp", "2013-08-22T01:12:06.2608595Z");
        json.updateString("Address", "Mountain View");
        json.updateInt("Age", 23);
        json.updateNumber("AmountDue", "200.23");
        json.updateString("CustomerCode", "c9da6455-213d-42c9-9a79-3e9149a57833");
        json.updateString("CustomerSince", "2008-07-10T00:00:00");
        json.updateBool("IsActive", true);
        json.updateString("NumberOfOrders", "255");

        // IMPORTANT: Pay attention to the options for nometadata, minimalmetadata, or fullmetadata.
        // See the Azure table service API documentation at https://docs.microsoft.com/en-us/rest/api/storageservices/insert-entity
        rest.addHeader("Accept", "application/json;odata=nometadata");
        rest.addHeader("Prefer", "return-no-content");
        rest.addHeader("Content-Type", "application/json");

        StringBuilder sbRequestBody = new StringBuilder();
        json.emitSb(sbRequestBody);
        StringBuilder sbResponseBody = new StringBuilder();
        // IMPORTANT: Change "mytable" to the name of your actual table.
        try {
            rest.fullRequestSb("POST", "/mytable", sbRequestBody, sbResponseBody);
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        // A status code of 204 is a success response for the case where Prefer=return-no-content.
        int respStatusCode = rest.getResponseStatusCode();
        System.out.println("Response Status Code = " + respStatusCode);
        if (respStatusCode >= 400) {
            System.out.println("Response Header:");
            System.out.println(rest.getResponseHeader());
            System.out.println("Response Body:");
            System.out.println(sbResponseBody.getAsString());
            return;
        }

        System.out.println("Success.");
    }
}