Przeczytaj w języku angielskim

Udostępnij za pośrednictwem


AssetsClient.CreateAsync Method

Definition

Adds a new asset to an existing share.

public virtual System.Threading.Tasks.Task<Azure.Operation<BinaryData>> CreateAsync (Azure.WaitUntil waitUntil, string sentShareName, string assetName, Azure.Core.RequestContent content, Azure.RequestContext context = default);
abstract member CreateAsync : Azure.WaitUntil * string * string * Azure.Core.RequestContent * Azure.RequestContext -> System.Threading.Tasks.Task<Azure.Operation<BinaryData>>
override this.CreateAsync : Azure.WaitUntil * string * string * Azure.Core.RequestContent * Azure.RequestContext -> System.Threading.Tasks.Task<Azure.Operation<BinaryData>>
Public Overridable Function CreateAsync (waitUntil As WaitUntil, sentShareName As String, assetName As String, content As RequestContent, Optional context As RequestContext = Nothing) As Task(Of Operation(Of BinaryData))

Parameters

waitUntil
WaitUntil

Completed if the method should wait to return until the long-running operation has completed on the service; Started if it should return after starting the operation. For more information on long-running operations, please see Azure.Core Long-Running Operation samples.

sentShareName
String

The name of the sent share.

assetName
String

The name of the asset.

content
RequestContent

The content to send as the body of the request. Details of the request body schema are in the Remarks section below.

context
RequestContext

The request context, which can override default behaviors of the client pipeline on a per-call basis.

Returns

The Operation<T> from the service that will contain a BinaryData object once the asynchronous operation on the service has completed. Details of the body schema for the operation's final value are in the Remarks section below.

Exceptions

sentShareName, assetName or content is null.

sentShareName or assetName is an empty string, and was expected to be non-empty.

Service returned a non-success status code.

Examples

This sample shows how to call CreateAsync with required parameters and request content and parse the result.

var credential = new DefaultAzureCredential();
var client = new AssetsClient("<https://my-service.azure.com>", credential);

var data = new {
    kind = "AdlsGen2Account",
    properties = new {
        paths = new[] {
            new {
                containerName = "<StorageAccountPathContainerName>",
                receiverPath = "<StorageAccountPathReceiverPath>",
                senderPath = "<StorageAccountPathSenderPath>",
            }
        },
        receiverAssetName = "<AdlsGen2AccountAssetPropertiesReceiverAssetName>",
        storageAccountResourceId = "<AdlsGen2AccountAssetPropertiesStorageAccountResourceId>",
    },
};

var operation = await client.CreateAsync(WaitUntil.Completed, "<sentShareName>", "<assetName>", RequestContent.Create(data));

BinaryData data = await operation.WaitForCompletionAsync();
JsonElement result = JsonDocument.Parse(data.ToStream()).RootElement;
Console.WriteLine(result.GetProperty("id").ToString());
Console.WriteLine(result.GetProperty("name").ToString());
Console.WriteLine(result.GetProperty("type").ToString());
Console.WriteLine(result.GetProperty("kind").ToString());

Remarks

Create an asset on a sent share

Below is the JSON schema for the request and response payloads.

Request Body:

This method takes one of the JSON objects below as a payload. Please select a JSON object to view the schema for this.

AdlsGen2AccountAssetSchema for AdlsGen2AccountAsset:
{
              kind: AdlsGen2Account, # Required. The types of asset.
              id: string, # Optional. The resource id of the resource.
              name: string, # Optional. Name of the resource.
              type: string, # Optional. Type of the resource.
              properties: {
                location: string, # Optional. Location of the adls gen2 storage account.
                paths: [
                  {
                    containerName: string, # Required. Gets or sets the container name.
                    receiverPath: string, # Optional. Gets or sets the path on the receiver side where the asset is to be mapped.
                    senderPath: string, # Optional. Gets or sets the path to file/folder within the container to be shared.
                  }
                ], # Required. A list of adls gen2 storage account paths to be shared.
                provisioningState: "Unknown" | "Succeeded" | "Creating" | "Deleting" | "Moving" | "Failed" | "SoftDeleting" | "SoftDeleted" | "SourceMoved" | "SourceDeleted" | "TargetMoved" | "TargetDeleted", # Optional. Provisioning status of the resource
                receiverAssetName: string, # Required. Name of the asset for the receiver.
                storageAccountResourceId: string, # Required. Resource id of the adls gen2 storage account.
              }, # Required. Adls gen 2 account asset properties
            }
~+ 1 more JSON objects
BlobAccountAssetSchema for BlobAccountAsset:
{
              kind: BlobAccount, # Required. The types of asset.
              id: string, # Optional. The resource id of the resource.
              name: string, # Optional. Name of the resource.
              type: string, # Optional. Type of the resource.
              properties: {
                location: string, # Optional. Location of the blob storage account.
                paths: [
                  {
                    containerName: string, # Required. Gets or sets the container name.
                    receiverPath: string, # Optional. Gets or sets the path on the receiver side where the asset is to be mapped.
                    senderPath: string, # Optional. Gets or sets the path to file/folder within the container to be shared.
                  }
                ], # Required. A list of blob storage account paths to be shared.
                provisioningState: "Unknown" | "Succeeded" | "Creating" | "Deleting" | "Moving" | "Failed" | "SoftDeleting" | "SoftDeleted" | "SourceMoved" | "SourceDeleted" | "TargetMoved" | "TargetDeleted", # Optional. Provisioning status of the resource
                receiverAssetName: string, # Required. Name of the asset for the receiver.
                storageAccountResourceId: string, # Required. Resource id of the blob storage account.
              }, # Required. Blob storage account asset properties
            }

Response Body:

This method takes one of the JSON objects below as a payload. Please select a JSON object to view the schema for this.

AdlsGen2AccountAssetSchema for AdlsGen2AccountAsset:
{
              kind: AdlsGen2Account, # Required. The types of asset.
              id: string, # Optional. The resource id of the resource.
              name: string, # Optional. Name of the resource.
              type: string, # Optional. Type of the resource.
              properties: {
                location: string, # Optional. Location of the adls gen2 storage account.
                paths: [
                  {
                    containerName: string, # Required. Gets or sets the container name.
                    receiverPath: string, # Optional. Gets or sets the path on the receiver side where the asset is to be mapped.
                    senderPath: string, # Optional. Gets or sets the path to file/folder within the container to be shared.
                  }
                ], # Required. A list of adls gen2 storage account paths to be shared.
                provisioningState: "Unknown" | "Succeeded" | "Creating" | "Deleting" | "Moving" | "Failed" | "SoftDeleting" | "SoftDeleted" | "SourceMoved" | "SourceDeleted" | "TargetMoved" | "TargetDeleted", # Optional. Provisioning status of the resource
                receiverAssetName: string, # Required. Name of the asset for the receiver.
                storageAccountResourceId: string, # Required. Resource id of the adls gen2 storage account.
              }, # Required. Adls gen 2 account asset properties
            }
~+ 1 more JSON objects
BlobAccountAssetSchema for BlobAccountAsset:
{
              kind: BlobAccount, # Required. The types of asset.
              id: string, # Optional. The resource id of the resource.
              name: string, # Optional. Name of the resource.
              type: string, # Optional. Type of the resource.
              properties: {
                location: string, # Optional. Location of the blob storage account.
                paths: [
                  {
                    containerName: string, # Required. Gets or sets the container name.
                    receiverPath: string, # Optional. Gets or sets the path on the receiver side where the asset is to be mapped.
                    senderPath: string, # Optional. Gets or sets the path to file/folder within the container to be shared.
                  }
                ], # Required. A list of blob storage account paths to be shared.
                provisioningState: "Unknown" | "Succeeded" | "Creating" | "Deleting" | "Moving" | "Failed" | "SoftDeleting" | "SoftDeleted" | "SourceMoved" | "SourceDeleted" | "TargetMoved" | "TargetDeleted", # Optional. Provisioning status of the resource
                receiverAssetName: string, # Required. Name of the asset for the receiver.
                storageAccountResourceId: string, # Required. Resource id of the blob storage account.
              }, # Required. Blob storage account asset properties
            }

Applies to