s;
import com.microsoft.azure.management.resources.fluentcore.arm.Region;
import com.microsoft.azure.management.resources.fluentcore.model.Creatable;
import com.microsoft.azure.management.resources.fluentcore.model.CreatedResources;
import com.microsoft.azure.management.resources.fluentcore.utils.SdkContext;
import com.microsoft.azure.management.samples.Utils;
import com.microsoft.azure.management.sql.SqlServer;
import com.microsoft.azure.management.sql.SqlServerKeyOperations;
import com.microsoft.azure.management.sql.SqlServerKeyOperations.ThumbprintGenerationRequest;
import com.microsoft.azure.management.sql.SqlServerKeyOperations.ThumbprintGenerationResult;
import com.microsoft.azure.management.sql.SqlServerKeyOperations.ThumbprintListResult;
import com.microsoft.azure.management.sql.SqlServerKeyOperations.ThumbprintProperties;
import com.microsoft.azure.management.sql.SqlServerKeyOperations.ThumbprintResult;
import com.microsoft.azure.management.sql.SqlServerKeyOperations.ThumbprintStatus;
import com.microsoft.azure.management.sql.SqlServerKeyOperations.ThumbprintValidationRequest;
import com.microsoft.azure.management.sql.SqlServerKeyOperations.ThumbprintValidationResult;
import com.microsoft.azure.management.sql.SqlServerKeyOperations.ThumbprintValidationStatus;
import com.microsoft.azure.management.sql.SqlServerKeyOperations.ThumbprintValidationType;
import com.microsoft.azure.management.sql.SqlServerKeyOperations.ThumbprintValidationVersion;
import com.microsoft.azure.management.sql.SqlServerKeyOperations.ThumbprintVersion;
import com.microsoft.azure.management.sql.SqlServerOperations;
import com.microsoft.azure.management.sql.SqlServerOperations.SqlServerKeyOperationsListResult;
import com.microsoft.azure.management.sql.SqlServerOperations.SqlServerKeyOperationsResult;
import com.microsoft.azure.management.sql.SqlServerOperations.SqlServerKeyOperationsValidationResult;
import com.microsoft.azure.management.sql.SqlServerOperations.SqlServerKeyOperationsValidationStatus;
import com.microsoft.azure.management.sql.SqlServerOperations.SqlServerKeyOperationsValidationType;
import com.microsoft.azure.management.sql.SqlServerOperations.SqlServerKeyOperationsValidationVersion;
import com.microsoft.azure.management.sql.SqlServerOperations.SqlServerKeyOperationsVersion;
import com.microsoft.azure.management.sql.SqlServerOperations.SqlServerKeyOperationsValidationResult.SqlServerKeyOperationsValidationResultInner;
import com.microsoft.azure.management.sql.SqlServerOperations.SqlServerKeyOperationsValidationResult.SqlServerKeyOperationsValidationResultInner.ThumbprintInner;
import com.microsoft.azure.management.sql.SqlServerOperations.SqlServerKeyOperationsValidationResult.SqlServerKeyOperationsValidationResultInner.ThumbprintInner.ThumbprintPropertiesInner;
import com.microsoft.rest.LogLevel;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
/**
* Azure SQL sample for managing SQL Server Key Operations –
* – Create an Azure SQL server
* – Create a key with a new thumbprint
* – List existing keys
* – Update an existing key with a new thumbprint
* – Delete an existing key
* – Validate a key
*/
public final class ManageSqlServerKeyOperations {
/**
* Main function which runs the actual sample.
* @param azure instance of the azure client
* @return true if sample runs successfully
*/
public static boolean runSample(Azure azure) {
final String sqlServerName = SdkContext.randomResourceName(”sqlsrv”, 15);
final String rgName = SdkContext.randomResourceName(”rgRSSMO”, 15);
final String adminPassword = ”myS3cureP@ssword”;
try {
// ============================================================
// Create a SQL Server with a new thumbprint
System.out.println(”Creating a SQL Server with a new thumbprint”);
SqlServer sqlServer = azure.sqlServers().define(sqlServerName)
.withRegion(Region.US_WEST)
.withNewResourceGroup(rgName)
.withAdministratorLogin(”dummylogin”)
.withAdministratorPassword(adminPassword)
.defineThumbprint(”myThumbprint”)
.withExistingKeyVault(”myVault”)
.withExistingKeyVaultSecret(”mySecret”)
.create();
Utils.print(sqlServer);
// ============================================================
// List existing keys
System.out.println(”Listing existing keys”);
SqlServerOperations sqlServerOperations = sqlServer.keyOperations();
SqlServerKeyOperationsListResult sqlServerKeyOperationsListResult = sqlServerOperations.list();
List
for (SqlServerKeyOperationsResult sqlServerKeyOperationsResult : sqlServerKeyOperationsResults) {
System.out.println(sqlServerKeyOperationsResult.name());
System.out.println(sqlServerKeyOperationsResult.properties().version());
}
// ============================================================
// Update an existing key with a new thumbprint
System.out.println(”Updating an existing key with a new thumbprint”);
SqlServerKeyOperations sqlServerKeyOperations = sqlServer.keyOperations().get(”myKeyName”);
ThumbprintGenerationResult thumbprintGenerationResult = sqlServerKeyOperations.generateKey(
new ThumbprintGenerationRequest().withAlgorithm(ThumbprintGenerationRequest.Algorithm.RSA_HSM));
Utils.print(thumbprintGenerationResult);
// ============================================================
// Delete an existing key
System.out.println(”Deleting an existing key”);
sqlServerKeyOperations.delete();
// ============================================================
// Validate a key
System.out.println(”Validating a key”);
ThumbprintValidationResult thumbprintValidationResult = sqlServerKeyOperations.validateKey(
new ThumbprintValidationRequest().withType(ThumbprintValidationType.CREATE_OR_UPDATE)
.withVersion(ThumbprintValidationVersion.V2019_10_01_PREVIEW));
Utils.print(thumbprintValidationResult);
return true;
} catch (Exception f) {
System.out.println(f.getMessage());
f.printStackTrace();
} finally {
try {
System.out.println(”Deleting Resource Group: ” + rgName);
azure.resourceGroups().beginDeleteByName(rgName);
System.out.println(”Deleted Resource Group: ” + rgName);
} catch (NullPointerException npe) {
System.out.println(”Did not create any resources in Azure. No clean up is necessary”);
} catch (Exception g) {
g.printStackTrace();
}
}
return false;
}
/**
* Main entry point.
* @param args the parameters
*/
public static void main(String[] args) {
try {
//=============================================================
// Authenticate
final File credFile = new File(System.getenv(”AZURE_AUTH_LOCATION”));
Azure azure = Azure.configure()
.withLogLevel(LogLevel.BASIC)
.authenticate(credFile)
.withDefaultSubscription();
// Print selected subscription
System.out.println(”Selected subscription: ” + azure.subscriptionId());
runSample(azure);
} catch (Exception e) {
System.out.println(e.getMessage());
e.printStackTrace();
}
}
private ManageSqlServerKeyOperations
# PNG – En introduktion
PNG (Portable Network Graphics) är ett populärt format för bilder som används för att skapa digitala bilder och grafik. Det är ett förlorningsfritt format som låter dig skapa högkvalitativa bilder med hög upplösning och färgdjup. Det är ett populärt val för webbutvecklare och grafiska designers eftersom det är ett flexibelt och anpassningsbart format som kan användas för att skapa skarpa och tydliga bilder.
## Fördelar med PNG
PNG har många fördelar som gör det till ett attraktivt val för digitala bilder och grafik. Fördelarna inkluderar:
* Hög upplösning och färgdjup – PNG-formatet stöder högre upplösning och färgdjup än många andra bildformater, vilket gör det perfekt för att skapa skarpa och tydliga bilder.
* Förlorningsfri komprimering – PNG-formatet använder en förlorningsfri komprimeringsteknik som låter dig skapa komprimerade bilder utan att förlora någon information.
* Anpassningsbar – PNG-formatet är anpassningsbart och kan användas för att skapa bilder med olika storlekar och komprimeringsnivåer.
* Kompatibilitet – PNG-formatet är kompatibelt med de flesta bildvisningsprogram och webbläsare.
## Användningsområden för PNG
PNG-formatet är ett populärt val för digitala bilder och grafik. Det är ett flexibelt format som kan användas för att skapa bilder med hög upplösning och färgdjup. Det är ett populärt val för webbutvecklare och grafiska designers eftersom det är ett anpassningsbart format som kan användas för att skapa skarpa och tydliga bilder. PNG-formatet är också ett populärt val för att skapa logotyper, bilder för sociala medier, infografik och andra typer av bilder.
## Hur man skapar och använder PNG-bilder
PNG-bilder kan skapas med hjälp av ett antal olika program och verktyg. De flesta bildredigeringsprogram har stöd för PNG-formatet och det finns också ett antal webbaserade verktyg som låter dig skapa och redigera PNG-bilder. När du har skapat en PNG-bild kan du använda den som du vill. Du kan använda den på din webbplats, skicka den som ett e-postmeddelande, dela den på sociala medier eller skriva ut den.
## Slutsats
PNG är ett populärt format för bilder som används för att skapa digitala bilder och grafik. Det är ett flexibelt och anpassningsbart format som låter dig skapa högkvalitativa bilder med hög upplösning och färgdjup. Det är ett populärt val för webbutvecklare och grafiska designers eftersom det är ett anpassningsbart format som kan användas för att skapa skarpa och tydliga bilder. PNG-formatet är också ett populärt val för att skapa logotyper, bilder för sociala medier, infografik och andra typer av bilder.